GitHub

Installation Tools Overview

Command-line tools for manual LevitateOS installation, equivalent to Arch Linux's pacstrap, genfstab, and arch-chroot.

Overview

LevitateOS provides three installation tools that mirror Arch Linux's manual installation workflow. These tools give you complete control over the installation process.

LevitateOS Arch Linux Purpose
recstrap pacstrap Extract base system to target directory
recfstab genfstab Generate fstab from mounted filesystems
recchroot arch-chroot Enter chroot with proper bind mounts

Installation Workflow

The three tools are used in sequence during installation. This workflow assumes you have already prepared your disks.

Complete installation workflow:

mount /dev/sda2 /mnt Mount root partition
mount --mkdir /dev/sda1 /mnt/boot Mount EFI System Partition
recstrap /mnt Extract the base system
recfstab /mnt >> /mnt/etc/fstab Generate fstab entries
mkdir -p /mnt/boot/EFI/Linux && cp /media/cdrom/boot/uki/levitateos.efi /mnt/boot/EFI/Linux/ Copy pre-built UKI
recchroot /mnt Enter the new system
passwd Set root password (inside chroot)
bootctl install Install bootloader (inside chroot)
exit Exit chroot
reboot Reboot into installed system

Design Philosophy

Each tool does one thing and does it well:

  • recstrap only extracts files. It does not partition, format, mount, configure, or install bootloaders.
  • recfstab only generates fstab. It outputs to stdout; you redirect to a file.
  • recchroot only enters chroot. It sets up mounts, runs your command, and cleans up.

This separation means you understand exactly what each step does. If something goes wrong, you know which tool to debug.

Error Codes

All three tools use consistent error code formatting. Error messages include a code like E001, E002, etc. These codes are unique per tool and documented in each tool's reference page.

# Example error output
recstrap: E001: target directory '/mnt' does not exist
recfstab: E006: no filesystems found under '/mnt'
recchroot: E007: must run as root

See Also