RTFM · Image Creator
First boot: the machine asks, you answer.
A freshly installed machine boots into Saphira's first-boot wizard: a plain-console setup that configures the machine exactly once. The root password is the commit point; setting it spends the setup marker permanently, and from that instant the machine is never offered setup again.

What to have ready
- The full name you want attached to the administrator account; it is asked before the account is created.
- Two passwords, chosen and remembered: root's, which commits setup permanently, and your own user's.
- For each wired interface, an answer: IPv4 (DHCP, static or off), IPv6 if you want it, plus DNS servers and the package repository URL.
- A few minutes of console attention: the prompts are short and plain, and once setup finishes the machine reboots straight into the configured system.
How setup runs
The wizard owns the console after platform boot work completes: bootloader, kernel, real root, init, then the boot-level platform services, and only then the setup prompts on a console that has finished printing. On OpenRC it runs in the boot runlevel; on systemd a gate holds the multi-user transaction until setup completes. Either way the operational system (gettys, sshd, firewall, network) starts only after setup.
- The root password is set first and is the commit point: from that moment setup will not run again on any later boot, whatever else is still unconfigured.
- An administrator account is created (member of
wheel,/bin/bashshell) with its own password, after a full name is recorded. - Every wired interface is walked in turn: IPv4 mode (DHCP, static or off) is asked first, then whether IPv6 is wanted and its mode. Nothing is applied until every interface has been answered, and stepping back re-asks instead of carrying a mistake forward.
- Wireless interfaces are skipped: automatic wireless setup is not implemented, so Wi-Fi is configured by hand after first boot.
- DNS servers and the package repository URL are chosen; login shell defaults are installed; the machine identity is minted; SSH host keys are ensured best-effort (the SSH daemon's own first start regenerates anything missing, so a failure here is repaired later and is not reported as incomplete setup).
- Every step gets at most three attempts, then is recorded as unfinished rather than looping forever; anything skipped stays visibly listed with how to finish it by hand. Setup cannot be re-armed and never re-runs.
- When the run was launched by the boot path, the machine reboots straight into the configured system; a manual run simply exits without rebooting a live machine.
What setup does not do
- No hostname prompt: the hostname was baked at build time (
--hostname, defaulting tosaphiraorsaphiradby init system). - No locale or timezone prompts: those are post-install concerns, configured on the running system.
- No graphical anything: the wizard is plain console text, deliberately dependency-free, because it must run before any terminal type is meaningful.
- No second boot mode: first boot is an init-level concern, never a bootloader selection. The boot menu carries no setup entry.