Skip to content
tentaflake docsv0.4

Tentaflake install guide

Source: docs/00-install.md at 2081f31a099e · docs version 0.4.0

Tentaflake ships one bootable image: the installer ISO. The former live-agent ISO and firstboot agent environment were removed from the core.

From the repository root:

Terminal window
nix build .#installer-iso

Or use the wrapper:

Terminal window
./scripts/build-iso.sh installer

The image is written below result/iso/.

From the contributor shell, the repository can build the ISO, resolve its pinned QEMU and OVMF tools, create one 32 GiB sparse QCOW2 disk, and start the interactive UEFI installer:

Terminal window
just e2e-installer

The VM receives no host block device. The installer can erase only /var/tmp/tentaflake-e2e-<user>/tentaflake.qcow2, and still asks for confirmation in its TUI. The first boot uses the ISO once and then prefers the installed disk. To boot the installed VM again without the ISO:

Terminal window
just e2e-run-vm

Set TENTAFLAKE_E2E_DIR to an absolute path to keep this disposable VM state elsewhere. The scripts deliberately provide no automatic reset or deletion.

List block devices and identify the USB drive by size and transport:

Terminal window
lsblk -o NAME,SIZE,TYPE,TRAN,MOUNTPOINTS

Do not infer the target from an example device name. The next step destroys all data on the selected device.

Unmount its mounted partitions, substituting the exact partition:

Terminal window
sudo umount /dev/sdX1

Resolve the exact ISO filename first:

Terminal window
find result/iso -maxdepth 1 -name '*.iso'

Then write it to the verified whole device, not a partition:

Terminal window
sudo dd \
if=result/iso/tentaflake.iso \
of=/dev/sdX \
bs=4M \
status=progress \
oflag=sync

Replace /dev/sdX only after checking it again with lsblk.

Boot the target machine from the USB device. The installer auto-logs into its local console and starts the dialog-based installer. It asks before partitioning and runs nixos-install only after the selected disk is shown.

Disk formatting and installation are runtime mutations. A successful ISO build does not authorize either operation.

After installation and reboot, continue with the quick start.

The installer environment itself uses the dev profile because it runs no agents. The generated installed host uses the default balanced profile. Old direct-secret/port agent definitions therefore require the explicit migration described in security profiles; installation never silently downgrades the target to dev.