| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
| |
Used $EFI_PART (undefined) instead of ${EFI_PARTS[0]} when
generating fstab, resulting in empty/wrong UUID for /boot mount.
This caused "Timed out waiting for device /dev/disk/by-uuid"
on boot of newly installed systems.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The autodetect hook filters modules based on currently loaded hardware,
which when running from a live ISO means the target system's storage
drivers (NVMe, AHCI, etc.) may not be included in the initramfs.
This caused boot failures on bare metal with "Timed out waiting for
device /dev/disk/by-uuid" because the disk controller wasn't detected.
Removing autodetect includes all storage drivers, making the initramfs
larger but ensuring compatibility with any hardware configuration.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
|
| |
- Mark recovery tools task as DONE in TODO.org
- Update session context with completed work
- Add session history entry to NOTES.org
|
| |
|
|
|
|
|
| |
Removed safecopy, ms-sys, dislocker, and nwipe as they are only
available in the AUR and cannot be installed during mkarchiso build.
These tools are still documented in RESCUE-GUIDE.txt with AUR
installation instructions for users who need them.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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 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
|
| | |
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
- Add config file information to README - DONE
- Add CI/CD test infrastructure - DONE (Makefile, test-install.sh, test configs)
|
| |
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| | |
|
| |
|
|
|
|
|
| |
- 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 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
|
| |
|
|
|
|
|
|
|
|
| |
- 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.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
| |
Project documentation and workflow definitions.
|
|
|
Build scripts for creating custom Arch Linux ISO with ZFS support.
Includes installer scripts and VM testing setup.
|