॥ श्री ॥

Installation Steps

Installation 2026-08-28

Installation takes approximately 10–15 minutes.

Step-by-Step

  1. Boot from USB — Press F12, F2, or Del during startup. Select your USB drive from the boot menu.
  2. Select "Install Shanios" — Choose the installation option from the boot menu.
  3. Keyboard Layout — Always asked, on every edition.
  4. Language & Region — This page is skipped on all editions — locale and timezone are configured later by the first-boot Initial Setup wizard instead.
  5. Disk Selection — Choose target disk and partitioning scheme (automatic recommended).
  6. Encryption (Optional) — Enable LUKS2 full-disk encryption (argon2id key derivation). You'll be asked to enter the passphrase twice to confirm. Recommended for laptops and portable systems.
  7. Install — The installer creates Btrfs subvolumes, installs the base system, and configures the bootloader.
  8. Reboot — Remove USB drive when prompted and reboot into Shanios.

What the Installer Sets Up

All of the following is completed by the installer (install.sh + configure.sh) before first boot — nothing heavy runs in the background on your first session:

  • All Btrfs subvolumes are created: @root, @home, @data, @nix, @cache, @log, @flatpak, @snapd, @waydroid, @containers, @machines, @lxc, @lxd, @libvirt, @qemu, @swap
  • The system image is extracted into shanios_base, snapshotted to @blue (read-only), then snapshotted again to @green. The active slot is written to /data/current-slot (blue)
  • The Flatpak store is extracted and snapshotted into @flatpak. If Snap seed was included on the ISO, it is extracted into @snapd
  • The swapfile is created in @swap using btrfs filesystem mkswapfile, sized to match RAM where the disk allows. If free space is short it is made smaller rather than dropped — never below 1 GiB, and always leaving a 12 GiB reserve for updates — and only below that floor is the step skipped and the system falls back to zram for swap
  • Keyboard layout is always configured via chroot; locale, timezone, user account, and autologin are configured the same way, unless deferred to the first-boot wizard (see step 4 above)
  • Secure Boot: the MOK signing key is normally already baked into the system image at build time — the installer just verifies the keypair and re-signs the bootloader/kernel with it. Keys are only generated fresh on the spot if they're missing or invalid, which is a fallback path, not the common case. Either way, both UKIs (shanios-blue.efi, shanios-green.efi) are built using dracut --force --uefi and signed with the MOK key, and MOK enrollment is staged automatically so you just confirm it in MokManager on first boot (see First Boot)
  • /etc/crypttab is generated with the LUKS UUID and none key field if encryption was chosen
  • Firewall rules for KDE Connect and Waydroid are applied via firewall-offline-cmd

On first boot, beesd-setup.service configures the deduplication daemon for the Btrfs volume UUID, then the Initial Setup wizard runs for user-facing personalisation.

Verifying the Installation

After reboot, confirm the install succeeded:

# Check which slot is active
cat /data/current-slot
# @blue (first install always boots into blue)

# Verify Btrfs subvolumes
sudo btrfs subvolume list /
# Should show: @root, @home, @data, @nix, @cache, @log, @flatpak, @snapd, @waydroid, @containers, @machines, @lxc, @lxd, @libvirt, @qemu, @swap

# Check disk usage
df -h /

Troubleshooting

SymptomCauseFix
USB doesn't appear in boot menuSecure Boot may block unsigned USB mediaTry disabling Secure Boot temporarily, or use a different USB port
"Failed to mount" errors during installCorrupted installation mediaRe-download ISO, re-flash with dd (or Rufus in DD image mode), verify SHA256 checksum
Disk selection shows no disksNVMe/RAID not detected; driver missing from initramfsCheck BIOS settings for NVMe/RAID mode; ensure AHCI is selected (not RAID for single disks)
Btrfs error during installCorrupted filesystem or bad diskRun sudo btrfs check /dev/sdX from live USB, or try a different disk
Secure Boot MokManager prompt doesn't appear on first bootFirmware skipped MOK enrollmentReboot and enter firmware settings; look for "Security" → "MOK" or "Secure Boot Key Management"
Installer fails with "insufficient disk space"Disk nominally 32 GB but below 30 GB usable floorUse a disk with ≥32 GB total; the 30 GB floor accounts for partition tables and wear-leveling overhead
Wi-Fi doesn't work during installWireless firmware not loadedThis is expected — the installer doesn't load Wi-Fi firmware; use wired connection or configure Wi-Fi after first boot
Swap much smaller than RAMFree space short of a full-RAM swapfileExpected: it is sized down (min 1 GiB, minus a 12 GiB update reserve). Hibernation needs swap >= RAM, so it may be unavailable — hibernation needs swap >= RAM and may not be available is printed when that happens
Swap not created at allFree space below the floor (1 GiB after the 12 GiB reserve)Nothing is created and the system runs on zram alone — expected, not an error

See Also