dpack fixes: - Fixed missing SourceInfo fields in CRUX/Gentoo converters (git, branch, tag, commit, update_check fields added to struct initializers) - Added 'sign' command: downloads source tarballs and computes real SHA256 checksums, updating .toml definitions in-place. Replaces placeholder checksums. Usage: dpack sign zlib or dpack sign all Testing: - tests/run-tests.sh: comprehensive integration test runner for Arch Linux host. 7 test suites covering host env, dpack build/tests, package defs, toolchain scripts, kernel config, init system, and QEMU boot. Generates JSON + text reports for automated debugging. Usage: bash tests/run-tests.sh [--quick] ISO builders: - src/iso/build-iso-arch.sh: builds live ISO from Arch Linux host Creates rootfs from pre-built base system or busybox fallback, includes installer + dpack + package repos, UEFI-only boot - src/iso/build-iso-darkforge.sh: builds live ISO from running DarkForge Snapshots the live system via rsync, creates redistributable ISO Package repository (submodule updated): - 14 new self-hosting packages: qemu, edk2-ovmf, squashfs-tools, xorriso, mtools, efibootmgr, efivar, rsync, lz4, nasm, neovim, htop, tmux, libevent - Total: 138 packages across 4 repos Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
DarkForge ISO Builder
Builds a bootable live USB/CD image containing the DarkForge installer and a minimal live environment.
Overview
The ISO builder compresses the base system into a squashfs image, creates a UEFI-bootable ISO via xorriso, and includes the installer scripts for deploying DarkForge to disk.
Requirements
Environment: Linux only. The ISO builder is a bash script that uses Linux-specific tools. It cannot run on macOS or Windows.
Host packages:
# Arch Linux
sudo pacman -S squashfs-tools xorriso dosfstools mtools
# Ubuntu / Debian
sudo apt install squashfs-tools xorriso dosfstools mtools
# Fedora
sudo dnf install squashfs-tools xorriso dosfstools mtools
Build prerequisites:
- A completed base system build (Phase 3) in
build/base-system/ - A compiled kernel at
kernel/vmlinuz(Phase 4) - The DarkForge toolchain chroot (Phase 0) or an equivalent build environment
Usage
bash src/iso/build-iso.sh
Output: darkforge-live.iso in the project root.
ISO Layout
darkforge-live.iso
├── EFI/BOOT/BOOTX64.EFI # Kernel (EFISTUB boot)
├── boot/cmdline.txt # Kernel command line
├── LiveOS/rootfs.img # squashfs compressed root
└── install/ # Installer scripts
Boot Method
The ISO boots via UEFI only (El Torito with EFI System Partition). No legacy BIOS support. The kernel loads directly via EFISTUB.
Testing
Test the ISO in QEMU:
qemu-system-x86_64 \
-enable-kvm \
-m 4G \
-bios /usr/share/ovmf/OVMF.fd \
-cdrom darkforge-live.iso \
-boot d
Repository
git@git.dannyhaslund.dk:danny8632/darkforge.git