|Bob Mottram 7ff8305d29 Comments||3 months ago|
|bin||1 year ago|
|debian||11 months ago|
|doc||11 months ago|
|freedommaker||3 months ago|
|.gitignore||4 years ago|
|COPYING||10 years ago|
|README.md||3 months ago|
|setup.py||6 months ago|
These scripts build Freedombone-images for various supported hardware that can then be copied to SD card, USB stick or Hard Disk drive to boot into Freedombone.
These scripts are meant for developers of Freedombone to build images during releases and for advanced users who intend to build their own images. Regular users who wish to turn their devices into Freedombones should instead download the pre-built images.
Get a pre-built image via https://freedombone.net/download/. There are images available for all supported target devices.
If you wish to create your own Freedombone image, perhaps with some tweaks, see the Build Images section below.
Freedombone-maker supports building for the following targets:
Fetch the git source of freedombone-maker:
$ git clone https://gitlab.com/bashrc2/freedombone-maker
Install the required dependencies:
$ sudo apt install btrfs-progs debootstrap kpartx parted qemu-user-static qemu-utils sshpass $ cd freedombone-maker $ sudo apt build-dep .
This command has to be started with root (sudo) permission because it needs to run "parted".
$ sudo python3 -m freedommaker amd64
Take a break from your computer - this takes some time. :)
To see the full list of options read the help-page:
$ python3 -m freedommaker --help
The image will show up in build/. Copy the image to the target disk following the instructions in the Use Images section.
You'll need to copy the image to a memory card or USB stick. If you don't use GNU/Linux or prefer a GUI we recommend etcher for this task. Otherwise follow the steps:
A. Unplug your card.
B. Run "lsblk -p" to show which storage devices are connected to your system.
C. Plug your card in and run "lsblk -p" again. Find the new device and note the name.
$ lsblk -p NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT /dev/sdg 8:0 1 14.9G 0 disk /dev/nvme0n1 259:0 0 477G 0 disk ├─/dev/nvme0n1p1 259:1 0 512M 0 part /boot/efi ├─/dev/nvme0n1p2 259:2 0 244M 0 part /boot └─/dev/nvme0n1p3 259:3 0 476.2G 0 part └─/dev/mapper/nvme0n1p3_crypt 253:0 0 476.2G 0 crypt ├─/dev/mapper/mjw--t470--vg-root 253:1 0 468.4G 0 lvm / └─/dev/mapper/mjw--t470--vg-swap_1 253:2 0 7.8G 0 lvm [SWAP]
D. In the above case, the disk that is newly inserted is available as /dev/sdg. You can also verify the size (16 GB in this example). Carefully note this and use it in the copying step below.
For example, if your SD card is /dev/sdg use the following command:
$ xzcat build/freedombone-bullseye-*-amd64.img.xz | sudo dd bs=4M of=/dev/sdg conv=fsync status=progress
The above command is an example for the beaglebone image built on 2018-08-06. Your image file name will be different.
When picking a device, use the drive-letter destination, like /dev/sdf, not a numbered destination, like /dev/sdf1. The device without a number refers to the entire device, while the device with anumber refers to a specific partition. We want to use the whole device. Downloaded images contain complete information about how many partitions there should be, their sizes and types. You don't have to format your SD card or create partitions. All the data on the SD card will be wiped off during the write process.