### UUID Parameter Examples Source: https://github.com/anatol/booster/blob/master/docs/manpage.md Examples of correct UUID formats for boot parameters. Enclosing UUIDs in quotes is not recommended. ```bash root=UUID=ac8299a8-91ce-4bf6-a524-55a62844b787 ``` ```bash root=UUID="ac8299a8-91ce-4bf6-a524-55a62844b787" ``` ```bash rd.luks.uuid=ac8299a8-91ce-4bf6-a524-55a62844b787 ``` ```bash rd.luks.uuid="ac8299a8-91ce-4bf6-a524-55a62844b787" ``` -------------------------------- ### Quick Start: Create and Inspect Booster Images Source: https://github.com/anatol/booster/blob/master/README.md Create a host-specific or kernel-specific Booster image and inspect it. ```shell booster build booster.img ``` ```shell booster build --kernel-version 6.8.9-arch1-1 /boot/booster-linux.img ``` ```shell booster ls /boot/booster-linux.img ``` -------------------------------- ### Install Booster on Void Linux Source: https://github.com/anatol/booster/blob/master/README.md Install Booster using xbps-install and reconfigure the initramfs. ```shell xbps-install -S booster ``` ```shell xbps-reconfigure -f linux ``` -------------------------------- ### Install Booster on Alpine Linux Source: https://github.com/anatol/booster/blob/master/README.md Install Booster using apk add. Refer to the documentation for specific setup instructions. ```shell apk add booster ``` -------------------------------- ### systemd-boot Configuration for Booster Source: https://github.com/anatol/booster/blob/master/docs/manpage.md Example systemd-boot configuration file for Linux with Booster. Assumes LUKS and encrypted filesystem UUIDs are provided. ```text title Linux with Booster linux /vmlinuz-linux initrd /booster-linux.img options rd.luks.uuid=e122d09e-87a9-4b35-83f7-2592ef40cefa root=UUID=08684949-bcbb-47bb-1c17-089aaa59e17e rw ``` -------------------------------- ### systemd-boot Configuration for Btrfs Subvolume Source: https://github.com/anatol/booster/blob/master/docs/manpage.md Example systemd-boot configuration for Btrfs filesystems with systems installed on a subvolume. Includes rootflags corresponding to /etc/fstab entry. ```text title Linux with Booster linux /vmlinuz-linux initrd /booster-linux.img options root=UUID=69bc4dd2-7f6c-4821-aa6b-d80d9c97d470 rw rootflags=relatime,autodefrag,compress=zstd:2,space_cache,subvol=root ``` -------------------------------- ### Booster Configuration Example: Basic Source: https://github.com/anatol/booster/blob/master/README.md A simple Booster configuration for an encrypted laptop, specifying compression and enabling essential features. ```yaml compression: zstd vconsole: true enable_fido2: true enable_lvm: true enable_mdraid: true ``` -------------------------------- ### Install Booster on Arch Linux Source: https://github.com/anatol/booster/blob/master/README.md Install the official Booster package using pacman. ```shell pacman -S booster ``` -------------------------------- ### Booster Configuration Example: Token Ordering Source: https://github.com/anatol/booster/blob/master/README.md Configure Booster to serialize token unlocking for smoother hardware unlock methods, with specified timeouts. ```yaml serialize_tokens: enabled: true clevis_timeout: 45s tpm2_timeout: 15s fido2_timeout: 30s ``` -------------------------------- ### List Booster Images on Arch Linux Source: https://github.com/anatol/booster/blob/master/README.md List the Booster images generated by the package installation. ```shell ls -lh /boot/booster-*.img ``` -------------------------------- ### Booster Configuration Example: Plymouth Splash Source: https://github.com/anatol/booster/blob/master/README.md Enable Plymouth splash screen support in Booster and force load specific modules. Use 'quiet splash' kernel parameters and avoid 'booster.log=console' for graphical splash. ```yaml enable_plymouth: true modules_force_load: amdgpu ``` -------------------------------- ### Booster Configuration Example: Remote Unlock Source: https://github.com/anatol/booster/blob/master/README.md Configure Booster for remote unlock over SSH, specifying network settings and SSH keys. ```yaml network: dhcp: on ssh_host_key: /etc/booster/ssh_host_ed25519_key ssh_authorized_keys: /etc/booster/authorized_keys ssh_listen: :22 ``` -------------------------------- ### crypttab Entry for LUKS-Encrypted Root with GPT Autodiscovery Source: https://github.com/anatol/booster/blob/master/docs/manpage.md Example /etc/crypttab entry for a LUKS-encrypted root partition when using GPT autodiscovery. Booster synthesizes /dev/mapper/root if no mapper name is provided. ```text cryptroot UUID=e122d09e-87a9-4b35-83f7-2592ef40cefa none x-initrd.attach ``` -------------------------------- ### Set GPT Partition Type Code for Autodiscovery Source: https://github.com/anatol/booster/blob/master/docs/manpage.md Use sgdisk to set the per-architecture GUID for GPT autodiscovery on the root partition. ```bash $ sgdisk --typecode=2:4f68bce3-e8cd-4db1-96e7-fbcaf984b709 /dev/sda ``` -------------------------------- ### crypttab Entry for FIDO2 Token Unlock Source: https://github.com/anatol/booster/blob/master/docs/manpage.md Example /etc/crypttab entry for hardware-token unlock with a FIDO2 device. Booster auto-bundles fido2plugin.so and token-timeout can be configured. ```text cryptroot UUID=e122d09e-87a9-4b35-83f7-2592ef40cefa none fido2-device=auto,token-timeout=60s,x-initrd.attach ``` -------------------------------- ### Sample Booster Configuration Source: https://github.com/anatol/booster/blob/master/docs/manpage.md This is a sample configuration file for the booster generator. It demonstrates how to set up network interfaces, specify modules, choose compression, and configure various other options. ```yaml network: interfaces: enp0s31f2,2e:1d:61:30:a3:63 dhcp: on # either dhcp above or static configuration below can be used ip: 10.0.2.15/24 gateway: 10.0.2.255 dns_servers: 192.168.1.1,8.8.8.8 ssh_host_key: /etc/booster/ssh_host_ed25519_key ssh_authorized_keys: /etc/booster/authorized_keys ssh_listen: :22 universal: false modules: -*,hid_apple,kernel/sound/usb/,kernel/fs/btrfs/btrfs.ko,kernel/lib/crc4.ko.xz compression: zstd mount_timeout: 5m6s strip: true extra_files: vim,/usr/share/vim/vim82/,fsck,fsck.ext4 vconsole: true enable_lvm: true enable_mdraid: true token_timeout: 30s pin_delay: 5s serialize_tokens: enabled: true clevis_timeout: 45s ``` -------------------------------- ### Build Universal Initramfs Source: https://github.com/anatol/booster/blob/master/docs/manpage.md Create a universal initramfs image that includes many modules, such as SATA, TPM, and NVME drivers. ```bash $ booster build --universal booster.img ``` -------------------------------- ### Download Logs via TFTP Source: https://github.com/anatol/booster/blob/master/docs/manpage.md Use TFTP to download boot logs from a device that fails to boot. Ensure network support and busybox are included in the initramfs. ```bash $ dmesg >boot.log $ lsmod >mods.log $ tftp -pl boot.log $ tftp -pl mods.log ``` -------------------------------- ### Build Custom Initramfs Source: https://github.com/anatol/booster/blob/master/docs/manpage.md Create a specific initramfs file for the current kernel and host. The output file is named booster.img. ```bash $ booster build booster.img ``` -------------------------------- ### Build Booster from Source Source: https://github.com/anatol/booster/blob/master/README.md Build Booster using standard Go tooling. This command builds all packages within the project. ```shell go build ./... ``` -------------------------------- ### Build Initramfs for Specific Kernel Version Source: https://github.com/anatol/booster/blob/master/docs/manpage.md Create an initramfs for a specified kernel version and copy it to a designated boot path. ```bash $ booster build --kernel-version 5.4.91-1-lts /boot/booster-lts.img ``` -------------------------------- ### Configure Authorized Keys for SSH Source: https://github.com/anatol/booster/blob/master/docs/manpage.md Create an authorized_keys file containing public keys for clients allowed to connect. Each key should be on a new line. ```text ssh-ed25519 AAAAC3Nz...user1@laptop ssh-ed25519 AAAAC3Nz...user2@phone ``` -------------------------------- ### Run Full Booster Test Suite Source: https://github.com/anatol/booster/blob/master/README.md Execute the complete Booster test suite, including integration tests which require specific host tooling. ```shell go test ./... ``` -------------------------------- ### Build Booster Image Manually Source: https://github.com/anatol/booster/blob/master/README.md Build a Booster image directly. Use the --universal flag for a more portable image. ```shell booster build /boot/booster-linux.img ``` ```shell booster build --universal /boot/booster-linux.img ``` -------------------------------- ### Connect to Booster SSH Server Source: https://github.com/anatol/booster/blob/master/docs/manpage.md Connect to the Booster SSH server from a client to provide the LUKS passphrase. Ensure you use the correct port and host. ```bash ssh -p 22 root@ ``` -------------------------------- ### Run Booster Unit Tests Source: https://github.com/anatol/booster/blob/master/README.md Run unit tests specifically for the generator and init packages. ```shell go test ./generator ./init ``` -------------------------------- ### CRYPTTAB Keyfile Option Source: https://github.com/anatol/booster/blob/master/docs/manpage.md Use the 'keyfile' option in /etc/crypttab to specify a keyfile located on a separate device. Booster mounts this device read-only at boot to access the key. ```text keyfile /path:UUID=xxx ``` -------------------------------- ### systemd-boot Configuration with GPT Autodiscovery Source: https://github.com/anatol/booster/blob/master/docs/manpage.md Bootloader entry for GPT autodiscovery, carrying only mount-style flags on the kernel command line. ```text title Linux with Booster linux /vmlinuz-linux initrd /booster-linux.img options rw ``` -------------------------------- ### CRYPTTAB Timeout Options Source: https://github.com/anatol/booster/blob/master/docs/manpage.md Booster accepts integer seconds or duration strings (e.g., '30s', '2m') for 'keyfile-timeout=' and 'token-timeout=' options in /etc/crypttab. ```text keyfile-timeout=30s ``` ```text token-timeout=2m ``` -------------------------------- ### Inspect Booster Images Source: https://github.com/anatol/booster/blob/master/README.md Use these commands to inspect the contents of a Booster image, view specific files within it, or unpack its contents. ```shell booster ls /boot/booster-linux.img ``` ```shell booster cat /boot/booster-linux.img /init ``` ```shell booster unpack /boot/booster-linux.img /tmp/booster-image ``` -------------------------------- ### LUKS Dump Command Source: https://github.com/anatol/booster/blob/master/docs/manpage.md Command to display LUKS volume information, including token IDs, to preview PIN prompt order. ```bash cryptsetup luksDump ``` -------------------------------- ### CRYPTTAB Entry for LUKS Unlock Source: https://github.com/anatol/booster/blob/master/docs/manpage.md Add an entry to /etc/crypttab marked with 'x-initrd.attach' to have Booster unlock the LUKS volume during initramfs. The first column defines the mapper name. ```text x-initrd.attach ``` -------------------------------- ### systemd-boot Configuration with FIDO2 Unlock Source: https://github.com/anatol/booster/blob/master/docs/manpage.md Bootloader entry pointing root= at the future mapper node for a system using FIDO2 token unlock. ```text title Linux with Booster linux /vmlinuz-linux initrd /booster-linux.img options root=/dev/mapper/cryptroot rw ``` -------------------------------- ### Create Unified Kernel Image Source: https://github.com/anatol/booster/blob/master/docs/manpage.md Command to create a Unified Kernel Image and write the result to a specified EFI directory. ```bash $ /usr/lib/booster/regenerate_uki build /boot/EFI/Linux ``` -------------------------------- ### LUKS Root Naming via Kernel Command Line Source: https://github.com/anatol/booster/blob/master/docs/manpage.md Specify the LUKS partition name using the 'rd.luks.name' kernel parameter. Ensure the 'root' parameter points to the mapped device. ```bash rd.luks.name== root=/dev/mapper/ ``` -------------------------------- ### GPT Autodiscovery for Root Partition Source: https://github.com/anatol/booster/blob/master/docs/manpage.md Configure the root partition with a specific GPT type (e.g., 'Linux root' with type code '8304' on x86-64) for automatic discovery by Booster without any kernel command line arguments. ```bash root ``` -------------------------------- ### Generate SSH Host Key Source: https://github.com/anatol/booster/blob/master/docs/manpage.md Generate a unique SSH host key for Booster's remote unlock feature. This key is kept on the host and embedded into the initramfs at build time. ```bash ssh-keygen -t ed25519 -f /etc/booster/ssh_host_ed25519_key -N '' ``` -------------------------------- ### CRYPTTAB FIDO2 Device Option Source: https://github.com/anatol/booster/blob/master/docs/manpage.md When 'fido2-device=' is used in /etc/crypttab, the generator automatically bundles 'fido2plugin.so'. Booster also accepts 'tpm2-device=' for compatibility. ```text fido2-device= ``` -------------------------------- ### Regenerate Packaged Images and UKI Source: https://github.com/anatol/booster/blob/master/README.md Regenerate packaged images after configuration changes or generate a Unified Kernel Image (UKI) if systemd-ukify is available. ```shell /usr/lib/booster/regenerate_images ``` ```shell /usr/lib/booster/regenerate_uki build /boot/EFI/Linux ``` -------------------------------- ### Enroll FIDO2 Device for LUKS Unlock Source: https://github.com/anatol/booster/blob/master/docs/manpage.md Enroll a FIDO2 device for hardware-token unlock of a LUKS slot using systemd-cryptenroll. ```bash $ systemd-cryptenroll --fido2-device=auto /dev/sda2 ``` -------------------------------- ### CRYPTTAB Header Option Source: https://github.com/anatol/booster/blob/master/docs/manpage.md The 'header=' option in /etc/crypttab can specify a plain absolute path to the header file, which the generator bundles into the initramfs. Alternatively, a device reference can be used. ```text header=/path ``` -------------------------------- ### LUKS Root Auto-Naming Source: https://github.com/anatol/booster/blob/master/docs/manpage.md If no specific LUKS parameters are provided on the command line or in /etc/crypttab, Booster can auto-name the root device. Point 'root=' directly to the LUKS container's UUID. ```bash root=UUID= ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.