aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Add data recovery tools and rescue guide sectionCraig Jennings2026-01-182-1/+197
| | | | | | | | | | | | | Packages added: ddrescue, testdisk, foremost, sleuthkit, safecopy, smartmontools Rescue guide section 2 covers: - SMART health assessment - ddrescue for cloning failing drives - PhotoRec/TestDisk for file/partition recovery - Foremost for file carving - Filesystem repair (ext4, NTFS, XFS, FAT) - Mounting disk images - Safecopy for very damaged media
* Add rescue tools and ZFS rescue guideCraig Jennings2026-01-182-0/+256
| | | | | | | - Add tealdeer, pv, rsync, mbuffer, lsof to ISO packages - Pre-populate tealdeer cache during build for offline tldr - Create RESCUE-GUIDE.txt with comprehensive ZFS recovery section - Copy rescue guide to /root/ on ISO
* Expand recovery tools TODO with summary table and discussion notesCraig Jennings2026-01-181-5/+31
|
* Add comprehensive recovery tools research to TODO.orgCraig Jennings2026-01-181-0/+174
| | | | | | | Research from SystemRescue, Hiren's BootCD, and other rescue distros. Categories: data recovery, disk cloning, Windows recovery, filesystem, hardware diagnostics, network, security, boot repair, file management, remote access, monitoring, and GUI tools.
* Update TODO.org: mark completed tasks as doneCraig Jennings2026-01-181-1/+6
| | | | | - Add config file information to README - DONE - Add CI/CD test infrastructure - DONE (Makefile, test-install.sh, test configs)
* Add CI/CD test infrastructureCraig Jennings2026-01-188-0/+606
| | | | | | | | | | - 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 --no-encrypt flag for testing without encryptionCraig Jennings2026-01-182-22/+52
| | | | | | | | | | | Allows CI/CD testing without ZFS encryption passphrase prompts: - --no-encrypt flag on command line - NO_ENCRYPT=yes in config file - Skips passphrase prompt in interactive mode - Creates pool without encryption options This enables fully automated VM testing without needing to enter passphrase at boot time.
* 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-185-0/+621
| | | | | | | | | | | | | | | | | 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.
* Add grub-zfs-snap for ZFS snapshot boot entriesCraig Jennings2026-01-186-1/+287
| | | | | | | | | | Add ability to boot into ZFS snapshots directly from GRUB menu: - grub-zfs-snap: generates GRUB submenu entries for recent snapshots - 40_zfs_snapshots: GRUB generator script installed to /etc/grub.d/ - zz-grub-zfs-snap.hook: pacman hook for automatic GRUB regeneration The GRUB menu automatically updates after kernel/ZFS package changes. Up to 10 most recent snapshots appear in a "ZFS Snapshots" submenu.
* Add kernel update documentation to READMECraig Jennings2026-01-181-4/+73
| | | | | | | | | Explains how kernel updates work with zfs-dkms on installed systems: - Automatic DKMS rebuild process - Why we use DKMS vs prebuilt packages - How to verify ZFS module after update - Recovery steps if something goes wrong - Pre-pacman snapshot rollback instructions
* Update README with config file documentation and ISO namingCraig Jennings2026-01-181-14/+152
| | | | | | | | | - Add comprehensive "Unattended Installation" section - Document all config file options with examples - Include required vs optional fields table - Add example configurations for common scenarios - Update ISO naming format to archzfs-vmlinuz-{version}-lts-{date} - Update project structure to include config example file
* Fix ZFS boot failure and update ISO naming formatCraig Jennings2026-01-183-2/+46
| | | | | | | | | | | | | | | | 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
* Update documentation with testing results and bug fixesCraig Jennings2026-01-184-58/+68
| | | | | | | | | | | | - Mark README documentation task as complete in TODO.org - Add config file documentation task - Update session-context.org with bugs found and fixed - Remove VM binary files from git tracking Testing completed: - 2-disk mirror: PASSED - 2-disk stripe: PASSED - Single disk: PASSED
* Fix unattended mode exit issue (return 0)Craig Jennings2026-01-181-1/+1
| | | | | | | | | Bug: In gather_input(), the line `[[ -n "$WIFI_SSID" ]] && info "..."` returns exit code 1 when WIFI_SSID is empty. The subsequent bare `return` inherits this exit code, causing the script to exit with set -e. Fix: Use explicit `return 0` to ensure gather_input returns success.
* Add config file support for unattended installationsCraig Jennings2026-01-187-57/+876
| | | | | | | | | | | | | | | | | | 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
* Remove Next Steps section from install summaryCraig Jennings2026-01-181-6/+0
|
* Update TODO.org with documentation and CI/CD tasksCraig Jennings2026-01-181-2/+55
| | | | | | | - Add comprehensive README.org documentation task (priority A) - Add CI/CD pipeline task with TrueNAS focus (priority B) - Move completed fzf task to Resolved - Cancel dialog-based interface task (using fzf instead)
* Fix fzf selections: disk parsing, WiFi, show all locales/keymapsCraig Jennings2026-01-181-11/+41
| | | | | | | - Fix disk selection awk parsing for empty MODEL field - Add fzf-based WiFi network selection with signal/security preview - Remove pre-filter on locale/keymap so all options visible - Add helpful header hints for searching
* Add fzf-based interface for all selectionsCraig Jennings2026-01-172-106/+231
| | | | | | | | | | - Timezone: fuzzy search with current time preview - Locale: fuzzy search with format examples - Keymap: fuzzy search with layout info - Disk selection: multi-select with disk details preview - RAID level: explanatory preview with capacity calculations Provides consistent, searchable interface with inline documentation.
* Add TODO.org for project task trackingCraig Jennings2026-01-171-0/+5
|
* Default WiFi configuration to yesCraig Jennings2026-01-171-2/+2
|
* Add multi-disk RAID, SSH config, stripe option, remove colorsCraig Jennings2026-01-173-492/+773
| | | | | | | | | | | - 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
* Add docs directoryCraig Jennings2026-01-1714-3/+3715
| | | | Project documentation and workflow definitions.
* Initial commit: archzfs ISO build systemCraig Jennings2026-01-179-0/+1844
Build scripts for creating custom Arch Linux ISO with ZFS support. Includes installer scripts and VM testing setup.