Documents
onboarding
onboarding
Type
External
Status
Published
Created
Jun 13, 2026
Updated
Jun 13, 2026
Source
View

Onboarding — Dakota ISO#

Prerequisites#

ToolNotes
podmanRootless. sudo-prefixed builds will fail with "please use unshare with rootless"
xorrisobrew: brew install xorriso · distro package also works
mtoolsbrew: brew install mtools · needed for FAT ESP construction
mksquashfsbrew: brew install squashfs
Free disk (~25 GB)Must be on /varnever /tmp (tmpfs ~16 GB, too small)
QEMU (optional)brew: brew install qemu — needed for boot testing

Clone and first build#

git clone https://github.com/projectbluefin/dakota-iso
cd dakota-iso
just iso-sd-boot dakota # full ISO build
just boot-iso-serial dakota # QEMU smoke test (Ctrl-A X to quit)

See docs/build.md for full build options, compression presets, and BTRFS workarounds.

BTRFS hosts#

If you're on a BTRFS filesystem (common on Bluefin/Dakota):

sudo just mount-xfs # create 45GB XFS loopback at /mnt (idempotent)
sudo chown $USER:$USER /mnt
just workdir=/mnt iso-sd-boot dakota

Branch target#

PRs for dakota-iso target main.

# Push directly upstream (no castrojo fork needed)
git checkout -b fix/my-fix
# ... make changes ...
gh pr create --repo projectbluefin/dakota-iso --base main

Key build variables#

VariableDefaultOverride example
debug0just debug=1 iso-sd-boot dakota — enables SSH (liveuser/live)
installer_channelstablejust installer_channel=dev iso-sd-boot dakota
output_diroutputjust output_dir=/var/data/iso iso-sd-boot dakota
compressionfastjust compression=release iso-sd-boot dakota — for production ISOs
RepoRole
projectbluefin/dakotaSource images
projectbluefin/commonShared OCI layer + org factory docs
projectbluefin/bootc-installerFlatpak installer bundled in the ISO
tuna-os/fishermanBackend install binary
onboarding | Dosu