Galactic Mandate Linux Documentation

Use this guide to create installation media, test the live environment, and build a persistent portable installation. Back up important files before writing an ISO or repartitioning a drive.

Create a Live USB with balenaEtcher

balenaEtcher provides a simple, validated way to write the Galactic Mandate Linux ISO to a USB drive.

  • Download the Galactic Mandate Linux ISO from the Downloads page.
  • Download balenaEtcher from balena.io/etcher.
  • Insert a USB drive with at least 8 GB of capacity.
  • Open balenaEtcher and choose Flash from file.
  • Select the downloaded ISO.
  • Choose the correct USB drive as the target.
  • Select Flash and wait for writing and validation to finish.

Warning: Flashing erases the selected USB drive. Back up its contents and verify the target before continuing.

After flashing, some operating systems may show only a very small partition on the USB. This is normal: the Linux ISO creates partitions that the host system may not display.

Create a Multi-Boot USB with Ventoy

Ventoy lets one USB drive hold Galactic Mandate Linux alongside other ISO files.

  1. Download Ventoy from ventoy.net and extract it.
  2. Insert an 8 GB or larger USB drive. A 16 GB or larger drive is recommended for multiple ISOs.
  3. Run Ventoy2Disk.exe on Windows or the supplied Linux script.
  4. Select the correct USB drive and choose Install. This erases the drive.
  5. When the Ventoy volume appears, copy the Galactic Mandate Linux ISO onto it.
  6. Boot from the Ventoy USB and choose the Galactic Mandate Linux ISO from the menu.

Try Galactic Mandate Linux Without Installing

  1. Insert the prepared USB drive.
  2. Restart the computer.
  3. Open the computer’s boot menu or UEFI settings. Common keys include F12, F10, F2, Esc, or Delete.
  4. Choose the USB drive.
  5. At the bootloader, select the live option to try Galactic Mandate Linux before installing.
  6. Confirm that the desktop, network, graphics, audio, and input devices work before installation.

Persistent USB Installation

The following advanced procedure copies the running live system to a separate USB drive. Replace every /dev/sdX placeholder with the correct device and partition. Selecting the wrong drive can destroy data.

1. Boot and verify the live ISO

Boot the live ISO and confirm that the desktop and network work correctly.

2. Partition the target USB

Create a FAT32 EFI System Partition of approximately 1–3 GB first, followed by an ext4 root partition using the remaining space. Record the actual partition device names and UUIDs.

3. Copy the live filesystem

sudo mkdir -p /mnt/target
sudo mount /dev/sdX2 /mnt/target   # ext4 root partition
sudo rsync -aAXv \
  --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*"} \
  / /mnt/target

4. Mount the EFI partition and enter the installed system

sudo mkdir -p /mnt/target/boot/efi
sudo mount /dev/sdX1 /mnt/target/boot/efi   # EFI System Partition
sudo mount --bind /dev /mnt/target/dev
sudo mount --bind /proc /mnt/target/proc
sudo mount --bind /sys /mnt/target/sys
sudo chroot /mnt/target

When working from an Arch-based installed system, arch-chroot /mnt/target can perform the bind mounts automatically.

5. Configure /etc/fstab

Remove the live overlay / overlay rw 0 0 entry and add entries using the actual partition UUIDs:

UUID=<root-partition-uuid>  /          ext4  errors=remount-ro  0  1
UUID=<esp-partition-uuid>   /boot/efi  vfat  umask=0077          0  1

6. Install GRUB

grub-install --target=x86_64-efi --efi-directory=/boot/efi \
  --boot-directory=/boot --bootloader-id=GMos --removable --recheck
update-grub

--removable writes the bootloader to the standard /EFI/BOOT/BOOTX64.EFI location so the drive can boot on different computers.

7. Create a permanent user account

adduser yourname
usermod -aG sudo,adm,cdrom,audio,dip,video,plugdev,netdev yourname
deluser --remove-home <live-username>

8. Regenerate machine identity

rm -f /etc/machine-id
systemd-machine-id-setup
rm -f /etc/ssh/ssh_host_*
dpkg-reconfigure openssh-server

9. Reinstall the kernel packages

apt update
apt install --reinstall linux-image-<your-kernel-version>-generic linux-image-virtual
update-grub

10. Exit and unmount

exit
sudo umount -R /mnt/target

Persistent Installation Troubleshooting

update-initramfs is disabled

Some live builds divert update-initramfs to a stub that reports it is disabled on read-only media. Inspect the diversion and restore the distributed command:

cat $(which update-initramfs)
dpkg-divert --list | grep initramfs
mv /usr/sbin/update-initramfs.distrib /usr/sbin/update-initramfs
chmod +x /usr/sbin/update-initramfs
dpkg-divert --remove /usr/sbin/update-initramfs

/boot does not contain vmlinuz or initrd

Reinstall the installed kernel package as shown in step 9. This runs the package post-installation scripts and writes the kernel and initramfs into /boot.

sudo, su, or pkexec fails in the live session

Perform the copy and chroot from another installed Linux system if the live environment does not provide a usable privileged shell.

The system drops to a GRUB prompt

Placing the EFI System Partition first is recommended. If GRUB still cannot locate its configuration, build a standalone EFI image:

grub-mkstandalone \
  --format=x86_64-efi \
  --output=/boot/efi/EFI/BOOT/BOOTX64.EFI \
  --locales="" \
  --fonts="" \
  "boot/grub/grub.cfg=/boot/grub/grub.cfg"

Keyboard layout at the GRUB prompt

The GRUB shell uses a US keyboard layout regardless of the installed system’s keyboard settings. Punctuation keys may be in unexpected positions on non-US keyboards.


Related Guides


Complete v00 Birthday Edition Documentation Library

The full project documentation set is now available as a single browsable reference. It covers getting started, features, Birthday Edition changes, release architecture, themes and alerts, applications and AI Tools, troubleshooting, build and rebuild procedures, upstream Budgie and Ubuntu references, and the next-version roadmap.