<feed xmlns='http://www.w3.org/2005/Atom'>
<title>archangel/.gitignore, branch v0.8</title>
<subtitle>Arch Linux installer ISO — ZFS-on-root or BTRFS, doubles as rescue disk
</subtitle>
<id>https://git.cjennings.net/archangel/atom?h=v0.8</id>
<link rel='self' href='https://git.cjennings.net/archangel/atom?h=v0.8'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/'/>
<updated>2026-02-23T17:37:17+00:00</updated>
<entry>
<title>chore: add inbox/ to .gitignore</title>
<updated>2026-02-23T17:37:17+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-23T17:37:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=8f94213e5aa09f8fae1b79497322ad0877c9f909'/>
<id>urn:sha1:8f94213e5aa09f8fae1b79497322ad0877c9f909</id>
<content type='text'>
</content>
</entry>
<entry>
<title>clean personal info and private files from repository</title>
<updated>2026-02-23T05:23:59+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-23T05:23:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=8b9c2cc247f8d71d570921cb127e7e08cfac7674'/>
<id>urn:sha1:8b9c2cc247f8d71d570921cb127e7e08cfac7674</id>
<content type='text'>
- Remove personal hardware specs, machine-specific troubleshooting docs,
  and video transcript from assets/
- Remove stale PLAN-zfsbootmenu-implementation.org (feature complete)
- Remove .stignore (Syncthing config, not project-relevant)
- Untrack todo.org (personal task tracker with private infra details)
- Make archsetup path configurable via ARCHSETUP_DIR env var in build.sh
- Use $REAL_USER instead of hardcoded username in build-release scp
</content>
</entry>
<entry>
<title>chore: add docs/ to .gitignore and untrack personal files</title>
<updated>2026-02-23T05:20:56+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-23T05:20:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=3a2445080c880544985f50fb0d916534698cc073'/>
<id>urn:sha1:3a2445080c880544985f50fb0d916534698cc073</id>
<content type='text'>
docs/ contains session history, personal workflows, and private
protocols that shouldn't be in a public repository.
</content>
</entry>
<entry>
<title>Replace GRUB with ZFSBootMenu bootloader</title>
<updated>2026-01-23T05:21:18+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-01-23T05:21:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=0ffe7a85a1b024b88e4ddc3305c5f805edd6e8e1'/>
<id>urn:sha1:0ffe7a85a1b024b88e4ddc3305c5f805edd6e8e1</id>
<content type='text'>
This is a major change that replaces the GRUB bootloader with ZFSBootMenu,
providing native ZFS boot environment support.

Key changes:
- EFI partition reduced from 1GB to 512MB (only holds ZFSBootMenu)
- EFI now mounts at /efi instead of /boot
- Kernel and initramfs live on ZFS root (enables snapshot boot with matching kernel)
- Downloads pre-built ZFSBootMenu EFI binary from get.zfsbootmenu.org
- Creates EFI boot entries for all disks in multi-disk configurations
- Syncs ZFSBootMenu to all EFI partitions for redundancy
- Sets org.zfsbootmenu:commandline on zroot/ROOT for kernel cmdline inheritance
- Sets bootfs pool property for default boot environment
- AMD GPU workarounds (pg_mask, cwsr_enable) added to kernel cmdline when AMD detected

Deleted GRUB snapshot tooling (no longer needed):
- custom/grub-zfs-snap
- custom/40_zfs_snapshots
- custom/zz-grub-zfs-snap.hook
- custom/zfs-snap-prune

Updated helper scripts:
- zfssnapshot: removed grub-zfs-snap call, shows ZFSBootMenu tip
- zfsrollback: removed grub-zfs-snap call, notes auto-detection

Tested configurations:
- Single disk installation
- 2-disk mirror (mirror-0)
- 3-disk RAIDZ1 (raidz1-0)
- All boot correctly with ZFSBootMenu
</content>
</entry>
<entry>
<title>Add comprehensive installation tests and ZFS script deployment</title>
<updated>2026-01-19T19:16:33+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-01-19T19:16:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=72abc70a42a505af365fc5a892009ebeeba524ec'/>
<id>urn:sha1:72abc70a42a505af365fc5a892009ebeeba524ec</id>
<content type='text'>
- Add scripts/full-test.sh for automated install testing (single, mirror, raidz1)
- Add --full-test option to build-release workflow
- Install zfssnapshot and zfsrollback to target system during install
- Simplify .gitignore to exclude entire vm/ directory
</content>
</entry>
<entry>
<title>Add CI/CD test infrastructure</title>
<updated>2026-01-18T19:25:00+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-01-18T19:25:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=3e3d24e12750a5a79925ae36b5e48598116d5636'/>
<id>urn:sha1:3e3d24e12750a5a79925ae36b5e48598116d5636</id>
<content type='text'>
- Add Makefile with targets: all, test, test-unit, test-install, build, release, clean, lint
- Add test-install.sh for automated VM installation testing
- Add test configs: single-disk, mirror, raidz1, no-ssh, custom-locale
- Add test-logs/ to .gitignore
- Uses sshpass for SSH authentication to live ISO
- Copies latest install-archzfs to VM before testing (allows testing without rebuild)
- Supports --list to show available configs
</content>
</entry>
<entry>
<title>Add config file support for unattended installations</title>
<updated>2026-01-18T08:01:01+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-01-18T08:01:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=5bd18b6f6a3ea89c900549c530af2a256094b917'/>
<id>urn:sha1:5bd18b6f6a3ea89c900549c530af2a256094b917</id>
<content type='text'>
Features:
- --config-file option for automated installs
- Example config at /root/install-archzfs.conf.example
- Validates required fields before install
- Config only used when explicitly specified (safety)

Bug fixes:
- Fix pacstrap hanging on provider prompts (use yes pipe)
- Remove fsck from mkinitcpio HOOKS (ZFS doesn't use fsck)
- Add hostid support for ZFS boot
- Add spl.spl_hostid to kernel command line

Documentation:
- Comprehensive README.org with 15 sections
- Session context tracking file
</content>
</entry>
<entry>
<title>Add docs directory</title>
<updated>2026-01-17T19:01:02+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-01-17T19:01:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=e655922db23c380ff8e62e4ffc8d09e82fe3d691'/>
<id>urn:sha1:e655922db23c380ff8e62e4ffc8d09e82fe3d691</id>
<content type='text'>
Project documentation and workflow definitions.
</content>
</entry>
<entry>
<title>Initial commit: archzfs ISO build system</title>
<updated>2026-01-17T18:59:48+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-01-17T18:59:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archangel/commit/?id=2b691a0907a362bfa2e8a312c1c52078d46c1db4'/>
<id>urn:sha1:2b691a0907a362bfa2e8a312c1c52078d46c1db4</id>
<content type='text'>
Build scripts for creating custom Arch Linux ISO with ZFS support.
Includes installer scripts and VM testing setup.
</content>
</entry>
</feed>
