aboutsummaryrefslogtreecommitdiff
path: root/scripts
Commit message (Collapse)AuthorAgeFilesLines
* Add automated sanity test for ISO verificationCraig Jennings2026-01-192-20/+336
| | | | | | | | | | | | | | | | | 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.
* Add build-release script for ISO build and distributionCraig Jennings2026-01-191-0/+346
| | | | | | | | | | | | | | | 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
* Include timestamp in install-archzfs log filenameCraig Jennings2026-01-181-2/+2
|
* Make ZFS encryption optional with interactive promptCraig Jennings2026-01-181-2/+2
| | | | | | | | | 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 CI/CD test infrastructureCraig Jennings2026-01-186-0/+526
| | | | | | | | | | - 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
* Add boot-vm.sh convenience scriptCraig Jennings2026-01-181-0/+17
| | | | | Simple wrapper that boots from disk if installed, otherwise from ISO. Saves having to remember --boot-disk flag.
* Add snapshot retention with automatic pruningCraig Jennings2026-01-181-0/+303
| | | | | | | | | | | | | | | | | 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.
* Fix ZFS boot failure and update ISO naming formatCraig Jennings2026-01-181-0/+13
| | | | | | | | | | | | | | | | 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
* Add multi-disk RAID, SSH config, stripe option, remove colorsCraig Jennings2026-01-171-14/+88
| | | | | | | | | | | - 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
* Initial commit: archzfs ISO build systemCraig Jennings2026-01-171-0/+208
Build scripts for creating custom Arch Linux ISO with ZFS support. Includes installer scripts and VM testing setup.