ALMA - Arch Linux Mobile Appliance
This tool installs Arch Linux into a USB drive, making it a customized live Arch Linux bootable drive. It was inspired by this article. The USB drive should be bootable both by UEFI and legacy boot.
You can either build the project using cargo build or install the
alma package from AUR.
This tool should be ran from an exiting Arch Linux installations. It depends on the following tools:
- Arch install scripts
- Optional: cryptsetup
Dependencies will be handled for you if you install alma from AUR.
sudo alma create /dev/disk/by-id/usb-Generic_USB_Flash_Disk-0:0
This will wipe the entire disk and create a bootable installation of Arch Linux. You can use either removable devices or loop devices. As a precaution, ALMA will not wipe non-removable devices.
After the installation is done you can either boot from it immediately or use
arch-chroot to perform further customizations before your first boot.
Chrooting to exiting Live USB
sudo alma chroot /dev/disk/by-id/usb-Generic_USB_Flash_Disk-0:0
-p / --extra-packages- Specify extra packages to install. For example:
-p htop tmux
-i / --interactive- Drop you into interactive chroot to perform further customization
-e / --encrypted-root- Encrypt the root filesystem.
What exactly does it do?
This tool doesn't aspire to be a generic installer for Arch Linux. Instead, it does the minimum steps required to create a bootable USB with a few tweaks.
- Partition the disk as suggested here. The last partition will be formatted as ext4
- Bootstrap the system using
pacstrap -c. The
-cflag will use the host's cache instead the drive's cache, which will speed up things when you create multiple drives. This tool will install the base system, grub, intel-ucode and NetworkManager
- Generate initramfs without the
- Set NetworkManager to start at boot
- Install GRUB in both legacy and UEFI modes