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.
Installation
You can either build the project using cargo build or install the alma
package from AUR.
Requirements
This tool should be ran from an exiting Arch Linux installations. It depends on the following tools:
- sgdisk
- partprobe
- Arch install scripts
- mkfs.fat
- mkfs.btrfs
Dependencies will be handled for you if you install alma from AUR.
Usage
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. As a precaution,
this tool will refuse to work with drive paths which don't start with /dev/disk/by-id/usb-
.
After the installation is done you can either boot from it immediately or use arch-chroot
to
perform further customizations before your first boot.
Flags
-p / --extra-packages
- Specify extra packages to install. For example:-p htop tmux
-i / --interactive
- Drop you into interactive chroot to perform further customization
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 BTRFS
- Bootstrap the system using
pacstrap -c
. The-c
flag 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, NetworkManager and btrfs-progs - Generate initramfs without the
autodetect
hook - Set NetworkManager to start at boot
- Install GRUB in both legacy and UEFI modes