LevitateOS

Documentation

Bootloader & Finish

Installation steps 15-18: Install A/B boot images, install bootloader, enable services, and reboot. See Installation for an overview.

Section

15. Install Boot Images (A/B UKIs)

LevitateOS boots via Unified Kernel Images (UKI) and systemd-boot. The default install uses two boot images: slot A (system-a) and slot B (system-b).

WARNING

Default update model: A/B immutable (slot updates + rollback). Mutable mode is an explicit opt-in for daredevils, and is unsafe if you let an LLM author recipes without review.
Create the EFI Linux directory
mkdir -p /boot/EFI/Linux
Copy slot A boot image (system-a)
cp /run/live-media/boot/uki/levitateos-system-a.efi /boot/EFI/Linux/
Copy slot B boot image (system-b)
cp /run/live-media/boot/uki/levitateos-system-b.efi /boot/EFI/Linux/
Copy recovery UKI (optional)
cp /run/live-media/boot/uki/levitateos-recovery.efi /boot/EFI/Linux/

Section

16. Install Bootloader

Install systemd-boot and create explicit boot entries for slot A and slot B:

Install systemd-boot to EFI partition
bootctl install
Create slot A + slot B boot entries
mkdir -p /boot/loader/entries
cat > /boot/loader/entries/levitate-a.conf << 'EOF'
title   LevitateOS (Slot A)
efi     /EFI/Linux/levitateos-system-a.efi
EOF
cat > /boot/loader/entries/levitate-b.conf << 'EOF'
title   LevitateOS (Slot B)
efi     /EFI/Linux/levitateos-system-b.efi
EOF
Configure bootloader defaults
cat > /boot/loader/loader.conf << 'EOF'
default levitate-a.conf
timeout 3
editor no
EOF

Section

17. Enable Services

Initialize machine ID (required by systemd)
systemd-machine-id-setup
Enable networking
systemctl enable NetworkManager

Section

18. Exit and Reboot

Exit chroot
exit
Unmount all partitions
umount -R /mnt
Reboot
reboot

Remove the installation media when prompted.

Continue to Post-Installation for next steps. If you encounter issues, see Troubleshooting.