Arch Linux cloud images disable SSH password authentication by default.
Added cloud-init directives to:
- Enable ssh_pwauth
- Set the darkforge user password via chpasswd (plaintext, non-expiring)
- Write /etc/ssh/sshd_config.d/99-darkforge.conf enabling PasswordAuthentication
- Restart sshd after config is written
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Tests now run inside a tmux session so you can disconnect and
reconnect without interrupting multi-hour test runs.
Changes:
- create-vm.sh: cloud-init no longer auto-runs tests, just provisions
packages and clones the repo. Installs a `darkforge-test` command
in /usr/local/bin that wraps run-in-vm.sh in tmux.
- run-in-vm.sh: detects when called as `darkforge-test` and re-execs
inside a tmux session named "darkforge". --tmux flag for internal use.
- README updated with tmux workflow (detach/reattach instructions).
Workflow:
ssh darkforge@<ip>
darkforge-test --quick # starts in tmux
Ctrl+B D # detach, go do other things
tmux attach -t darkforge # come back later
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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>