aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add utility tools and rescue guide documentationCraig Jennings2026-01-183-32/+399
| | | | | | | | | | | | | | | | | | | Packages added: - iotop: disk I/O monitor by process - ncdu: interactive disk usage analyzer - tree: directory tree viewer - speedtest-cli: internet speed test - mosh: mobile shell (survives disconnects) - aria2: multi-protocol downloader with resume - tmate: terminal sharing for remote assistance - sshuttle: VPN over SSH - pass: password manager Rescue guide expanded: - Section 5: iotop for finding disk I/O culprits - Section 6: ncdu and tree for disk space analysis - Section 7: speedtest-cli, mosh, aria2, tmate, sshuttle - Section 8: pass password manager access
* Add network diagnostics tools and rescue guide documentationCraig Jennings2026-01-183-78/+405
| | | | | | | | | | | | | | | | | | | | | | Packages added: - mtr: combined ping + traceroute - iperf3: bandwidth testing - iftop: live bandwidth monitor by connection - nethogs: bandwidth monitor by process - ethtool: NIC configuration and diagnostics - tcpdump: packet capture - bind: dig/nslookup DNS tools - nmap: network scanner - wireshark-cli: tshark packet analysis Rescue guide section 7 expanded with scenarios for: - Network path analysis with mtr - Bandwidth testing with iperf3 - Live monitoring with iftop and nethogs - Interface diagnostics with ethtool - Packet capture with tcpdump - Network scanning with nmap - Deep packet analysis with tshark
* Add disk, network, and encryption tools with rescue guide sectionsCraig Jennings2026-01-182-2/+696
| | | | | | | | | | | | | Packages added: - partimage: legacy partition imaging - f2fs-tools: Flash-Friendly FS support - exfatprogs: exFAT filesystem tools - emacs: editor Rescue guide sections 6-8: - Disk Operations: partclone, fsarchiver, nwipe, filesystem tools - Network Troubleshooting: connectivity, sshfs, file transfers - Encryption & GPG: symmetric/asymmetric decryption, LUKS, eCryptfs
* Add hardware diagnostics tools and rescue guide sectionCraig Jennings2026-01-182-1/+218
| | | | | | | | | | | | | | | | | | | | Packages added: - memtester: userspace memory testing - stress-ng: CPU/memory/IO stress testing - lm_sensors: temperature/fan/voltage monitoring - lshw: detailed hardware inventory - dmidecode: SMBIOS/DMI system information - nvme-cli: NVMe drive management - hdparm: HDD/SSD parameter tuning Rescue guide Section 5 covers: - SMART disk health monitoring - Memory testing with memtester - System stress testing - Temperature monitoring with sensors - Hardware inventory commands - Disk benchmarking - Bad block checking
* Add Windows recovery tools and rescue guide sectionCraig Jennings2026-01-182-1/+234
| | | | | | | | | | | | | | Packages added: chntpw, ntfs-3g, dislocker, hivex Rescue guide section 4 covers: - Mounting NTFS partitions (including hibernated) - Reset/blank Windows passwords with chntpw - Unlock disabled accounts, promote to admin - Access BitLocker drives with dislocker - Copy files from non-booting Windows - Edit Windows registry with hivex - Offline malware scanning with ClamAV - Disable Fast Startup from Linux
* Add boot repair tools and rescue guide sectionCraig Jennings2026-01-182-1/+222
| | | | | | | | | | | | | | Packages added: os-prober, syslinux, ms-sys Rescue guide section 3 covers: - Chroot into broken system (including ZFS) - Reinstall GRUB (UEFI and Legacy) - Fix UEFI boot entries with efibootmgr - Rebuild initramfs with mkinitcpio - Dual-boot GRUB/Windows with os-prober - Restore Windows MBR with ms-sys - ZFS-specific boot issues (hostid, hooks) - Emergency GRUB command line boot
* 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.