| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
- Use SUDO_USER to get real user's home directory
- Run SSH/SCP as real user to use their SSH keys
- Handle TrueNAS SSH failure gracefully (warn and continue)
- Track actual TrueNAS success status for summary
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New scripts/sanity-test.sh:
- Boots ISO in headless QEMU
- Waits for SSH availability
- Runs 13 automated verification tests:
- ZFS module loaded and working
- Custom scripts present (zfsrollback, zfssnapshot, etc.)
- fzf installed
- LTS kernel running
- archsetup directory present
- Reports pass/fail with summary
- Fully automated - no human input required
Updated build-release to use automated sanity test instead of
manual verification prompt.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Automates the full release workflow:
1. Build ISO (via build.sh)
2. Sanity test (boot in QEMU, manual verification)
3. Distribute to multiple targets:
- ~/Downloads/isos (always)
- truenas.local:/mnt/vault/isos (if reachable)
- ARCHZFS labeled USB drive (detected via blkid, writes via dd)
- Ventoy USB drive (detected by label or ventoy/ directory)
Options:
--skip-build Distribute existing ISO without rebuilding
--skip-test Skip the QEMU sanity test
|
| | |
|
| |
|
|
|
|
|
|
|
| |
Add get_encryption_choice() to ask user whether to enable encryption
during interactive install. Remove --no-encrypt CLI flag in favor of
config file NO_ENCRYPT option for unattended installs. Update tests
to rely on config file setting instead of flag.
Also: fix ISO label to ARCHZFS for stable GRUB entries, add TODO items.
|
| |
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
|
| |
Simple wrapper that boots from disk if installed, otherwise from ISO.
Saves having to remember --boot-disk flag.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implements hybrid retention policy:
- Always keep 20 most recent snapshots
- Delete snapshots beyond #20 only if older than 180 days
- Genesis snapshot is always protected
Features:
- zfs-snap-prune script with --dry-run, --test, --verbose modes
- Comprehensive test suite (22 tests)
- Runs automatically after pacman operations
- Daily systemd timer for cleanup
- Regenerates GRUB menu after pruning
This prevents unbounded snapshot growth while preserving
recent history and the genesis snapshot.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fixes:
- Fix depmod using wrong kernel version during initramfs generation
The script now explicitly specifies the installed kernel version
instead of relying on uname -r (which returns the live ISO kernel)
- Add kernel module verification before mkinitcpio
- Add hostid 0x prefix to spl.spl_hostid kernel parameter
ISO naming:
- Changed format to: archzfs-vmlinuz-{version}-lts-{date}-{arch}.iso
- Example: archzfs-vmlinuz-6.12.65-lts-2026-01-18-x86_64.iso
test-vm.sh:
- Add QEMU monitor socket for automation support
|
| |
|
|
|
|
|
|
|
|
|
| |
- Multi-disk RAID support: mirror, stripe, raidz1/2/3
- EFI partitions on all disks for boot redundancy
- SSH configuration prompt (default yes) with sshd enabled
- Stripe option for max capacity without redundancy
- Genesis snapshot with rollback-to-genesis script
- NetworkManager added to ISO for WiFi config
- Remove color codes for better terminal compatibility
- archsetup launcher via curl
|
|
|
Build scripts for creating custom Arch Linux ISO with ZFS support.
Includes installer scripts and VM testing setup.
|