Installation guide
This document guides the user through installing Genix. Genix provides a declarative, rollback-capable environment built on top of Gentoo technology.
1 Overview & Specifications
The standard Genix environment consists of the following foundational layers:
- Base Environment: Gentoo Stage 3 (amd64)
- Init System: OpenRC
- Layout: Btrfs root filesystem utilizing subvolume
@ - Bootloader: GRUB
- Package Management: Portage (configured for binary-first or source compilation)
2 Selecting an Installation Method
Genix offers two distinct installation mechanisms:
- Live USB: Recommended for target hardware without an existing OS. The live environment downloads a clean Stage 3 and builds the target environment on-disk.
- Existing System: Deploys the Genix tooling directly onto a pre-existing Gentoo or LFS installation with Portage.
3 Path 1: Live Media Installation
3.1 Image Generation and Flashing
To compile the installation image, execute the build procedure on a machine with gcc, make, root access, and repository access:
root # git clone https://github.com/zubbledew6/genix.git
root # cd genix
root # ./iso/build.sh
Identify your destination USB drive via lsblk, then write the output image located at iso/out/genix-live.iso:
root # dd if=iso/out/genix-live.iso of=/dev/sdX bs=4M status=progress conv=fsync
3.2 Booting and Networking
Boot the target system using the live media. The installation script requires active Internet connectivity to retrieve stage files and Portage packages. For wireless links, use iwctl:
root # iwctl station wlan0 scan
root # iwctl station wlan0 get-networks
root # iwctl station wlan0 connect "SSID"
3.3 Execution and Disk Modes
Validate the deployment plan prior to writing changes, then run the installer:
root # genix-install --dry-run
root # genix-install
Choose from three filesystem operational modes:
sys: Clears the target device, constructing a fresh GPT, EFI System Partition, and Btrfs filesystem.alongside: Preserves existing operating systems, provisioning Genix inside available unallocated space.cfdisk: Launches a manual partitioning utility for custom layouts.
3.4 Post-Install & First Rebuild
After finishing installation and rebooting into the new system, confirm system health and initialize configuration management:
root # genix-rebuild doctor
root # nano /etc/genix/configuration.toml
root # genix-rebuild switch --dry-run
root # genix-rebuild switch
4 Path 2: Existing Gentoo / LFS Deployment
4.1 Prerequisites & Tool Installation
Ensure Python 3.11+, GCC, Btrfs, and GRUB are present on the host system. Transfer and run the setup script:
root # cd /tmp/genix
root # ./install.sh
5 Post-Installation Management
Use the core administration utility genix-rebuild to manage system states:
genix-rebuild doctor: Inspects environment integrity.genix-rebuild list: Enumerates past system generations.genix-rebuild switch: Applies settings defined in/etc/genix/configuration.toml.genix-rebuild rollback N: Reverts system state directly to generation N.