| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
| |
Fixed archzfs GPG key hang and pgrep false positive in test suite.
Added local distribution targets to build-release. All tests passing.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
- Change archzfs SigLevel to Never (pacstrap -K empty keyring caused
interactive GPG prompt blocking unattended installs)
- Fix pgrep matching avahi-daemon's [archangel.local] in full-test.sh
- Bump install timeout to 30min for DKMS builds
- Add ~/downloads/isos and archsetup inbox to build-release distribution
- Sync templates
|
| |
|
|
|
|
| |
Sync from templates. Rename NOTES.org to notes.org,
session-wrap-up to wrap-it-up, retrospective-workflow to
retrospective, session-start to startup. Update all references.
|
| |
|
|
|
|
|
| |
- Add email workflow (msmtp direct sending)
- Add assemble-email workflow (document gathering for manual send)
- Add retrospective workflow
- Add AMD GPU suspend workaround notes
|
| |
|
|
|
|
|
| |
- Add Wayland environment section to protocols (wl-copy, Hyprland)
- Add session-context deletion step to wrap-up workflow
- Add clean git state verification before valediction
- Update todo.org tasks
|
| |
|
|
|
|
|
|
| |
- Standardize naming: VM names, hostname, passwords, ISO naming
- Remove USB, Ventoy, and local deployment from build-release
- Add snapper package and Btrfs validation tests to sanity-test
- Update README for dual ZFS/Btrfs architecture
- Delete obsolete SESSION-CONTEXT.md and download-archzfs-iso.sh
|
| |
|
|
|
|
| |
- Remove test-zfs-snap-prune.sh (tested deleted script)
- Update Makefile to reference existing custom/ scripts
- Remove test-unit target (no unit tests remain)
|
| |
|
|
| |
Usage info already documented in header comment.
|
| |
|
|
|
|
|
| |
- Remove copy_archsetup function and calls from ZFS/Btrfs paths
- Update SSH hardening messages to generic advice
- Change sanoid references to tips without archsetup dependency
- Improve filesystem dialog descriptions
|
| | |
|
| |
|
|
|
|
|
| |
- Non-LUKS tests all pass (single, mirror, stripe)
- LUKS reboot automation attempted but blocked (encrypt hook limitation)
- Added manual LUKS verification task to todo.org
- Session notes updated
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- Add setup_luks_testing_keyfile() for automated LUKS testing
- Modify configure_crypttab() and configure_luks_initramfs() for keyfile support
- Fix configure_btrfs_initramfs() to preserve encrypt hook when LUKS enabled
- Add TESTING=yes to LUKS test configs
- Create docs/TESTING-STRATEGY.org documenting testing approach
LUKS automated reboot testing remains a work-in-progress due to
complexity of sending passphrase to initramfs encrypt hook.
Non-LUKS tests all pass: btrfs-single, btrfs-mirror, btrfs-stripe.
|
| |
|
|
|
|
|
|
| |
- Add TODO for ISO naming convention change (date after project name)
- Update session context with test results:
- btrfs-single, btrfs-mirror, btrfs-stripe: PASS
- btrfs-luks, btrfs-mirror-luks: reboot test blocked by passphrase prompt
- Sync fix validated for non-encrypted btrfs
|
| |
|
|
|
|
| |
- Add NO_ENCRYPT=yes to btrfs-single.conf for unattended testing
- Add offline Arch Wiki documentation section to RESCUE-GUIDE.txt
- Update todo.org with completed tasks and new items
|
| |
|
|
|
|
|
|
|
| |
- Add start_vm_from_disk() to boot installed system without ISO
- Add stop_vm keep_vars parameter to preserve EFI boot entries
- Add verify_reboot_survival() to check system boots from disk
- Add verify_rollback() to test snapshot/rollback functionality
- Support different SSH passwords for live ISO vs installed system
- Integrate reboot/rollback checks into test flow
|
| |
|
|
|
|
|
|
|
|
| |
- Store GRUB modules on EFI partition (FAT32) to avoid btrfs
subvolume path prefix issues (/@/boot/grub not found)
- Create symlink /boot/grub -> /efi/grub for grub-btrfs compatibility
- Add sync after grub-mkconfig to ensure FAT32 write completion
- Add sync before unmounting to prevent data loss on VM shutdown
- Update snapper-firstboot to use /efi/grub/grub.cfg path
- Update multi-disk GRUB functions for consistency
|
| |
|
|
|
|
|
| |
- Use -d - flag for cryptsetup stdin key input (matches easy-arch)
- Change ((i++)) to ((++i)) to avoid set -e exit on 0 increment
- Add btrfs-mirror-luks test config
- Update status protocol with sound notifications
|
| |
|
|
|
|
|
|
| |
- RAID1 (mirror) and RAID0 (stripe) for 2+ disks
- Multi-disk LUKS with single passphrase prompt
- EFI redundancy: GRUB installed on all disks
- Pacman hook syncs GRUB updates across EFI partitions
- btrfs initramfs hook for multi-device assembly at boot
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- Fix GRUB cryptodisk: configure_grub() heredoc was overwriting LUKS
settings added by configure_luks_grub(). Moved LUKS GRUB config
(GRUB_ENABLE_CRYPTODISK=y, cryptdevice cmdline) into configure_grub()
after the heredoc writes the base config.
- Fix ISO bloat: archsetup copy was including vm-images (17GB).
Changed from cp -r to rsync with exclusions for vm-images,
test-results, .qcow2, and .iso files. ISO now 2.0GB.
- btrfs-luks VM test now passes.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- Add LUKS functions to btrfs.sh (create/open/close container)
- Add crypttab configuration for boot
- Add encrypt hook to mkinitcpio HOOKS
- Add cryptdevice parameter to GRUB cmdline
- Add get_btrfs_encryption_choice and get_luks_passphrase prompts
- Add LUKS_PASSPHRASE to config variables
- Update show_summary and print_btrfs_summary for encryption status
- Add btrfs-luks.conf test config
VM test pending.
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
- Add GRUB serial console configuration for headless/VM testing
- Add GRUB_BTRFS_OVERRIDE_BOOT_PARTITION_DETECTION for btrfs
- Fix snapper-firstboot script (use echo instead of HEREDOC)
- Add dbus.service dependency to firstboot service
- Remove duplicate rootflags from GRUB_CMDLINE_LINUX
VM test verified: GRUB boots, all subvolumes mount, snapper works.
|
| |
|
|
|
|
|
|
|
|
|
| |
- Fix GRUB config path (remove GRUB_BTRFS_GRUB_DIRNAME, use default)
- Create snapper config manually (D-Bus not available in chroot)
- Create genesis snapshot with btrfs command (not snapper)
- Add btrfs-single.conf test config
- Update test-install.sh to copy lib/ directory
- Update test-install.sh to handle btrfs verification
VM test now passes for btrfs single-disk installation.
|
| |
|
|
|
|
|
|
|
|
|
| |
- Create lib/btrfs.sh with full btrfs installation functions
- Subvolume layout matching ZFS datasets (10 subvols)
- Snapper configuration with timeline policy
- GRUB + grub-btrfs for snapshot boot menu
- Update disk.sh for filesystem-aware partition type
- Update archangel with install_btrfs() path
- Update build.sh to include lib/btrfs.sh
- Update plan with Phase 2.7 (test) and 2.8 (LUKS)
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
- Rename install-archzfs → archangel
- Rename install-archzfs.conf.example → archangel.conf.example
- Update build.sh to use new names
- Update script header with dual-filesystem description
- Update log file names to archangel-*
The installer is now called "archangel" reflecting its expanded
scope: snapshot-based recovery for both ZFS and Btrfs filesystems.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- Add FILESYSTEM variable to config (zfs or btrfs)
- Add select_filesystem() function with fzf support
- Update gather_input() to prompt for filesystem in interactive mode
- Add validation for FILESYSTEM in unattended mode
- Btrfs selection errors with "not yet implemented"
- Update banner to show "Archangel" branding
- Update config example with FILESYSTEM option
Groundwork for btrfs support - filesystem choice is now captured,
installation logic gates on FILESYSTEM variable.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
- Replace [[ ]] && error pattern with if/then/fi
- Pattern causes exit when condition is false with set -e
- Fixed in: common.sh, config.sh, disk.sh, install-archzfs
Discovered during VM testing: the && short-circuit returns exit
code 1 when condition is false, triggering set -e to abort.
|
| |
|
|
|
|
| |
- Copy custom/lib/ to /usr/local/bin/lib/ in airootfs
- Add file permissions for lib/*.sh files
- Required for refactored install-archzfs to work
|
| |
|
|
|
|
|
|
|
|
|
| |
- Add custom/lib/common.sh: output, validation, fzf prompts, disk utils
- Add custom/lib/config.sh: argument parsing, config loading, validation
- Add custom/lib/disk.sh: partitioning, EFI management, disk selection
- Add custom/lib/zfs.sh: pool, datasets, ZFSBootMenu, services, hooks
- Update install-archzfs to source libs
- Remove duplicated output/config functions from main script
Prepares codebase for btrfs filesystem support (Phase 2).
|
| |
|
|
|
|
| |
- Create PLAN-archangel-btrfs.org with 6-phase implementation
- Phases: Refactor, Btrfs, Multi-disk, Testing, CLI tools, Docs
- Add TODO referencing the plan
|
| |
|
|
|
|
|
| |
- Add reboot survival checks (catches misconfigured services)
- Rollback tests must include reboot for full validation
- Document ZFSBootMenu rollback bug (needs filing)
- Expand failure recovery and encryption checks
|
| |
|
|
|
|
|
| |
- Add TODO [#B] for archsetup --chroot mode to enable full workstation
setup during install-archangel chroot phase
- Document required changes: skip systemctl start, ping checks, tmpfs mount
- Update session context with archangel naming decision
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Comprehensive research for expanding project to support both ZFS and Btrfs:
- Feature parity analysis (ZFS vs Btrfs equivalents)
- Btrfs limitations: RAID 5/6 unstable, no native encryption (use LUKS)
- Recommended subvolume layout: @, @home, @snapshots, @var_log, @var_cache
- Snapshot stack: snapper + snap-pac + grub-btrfs + btrfs-assistant
- Multi-disk support: raid1 (mirror), raid10 only
- Installer architecture proposal with modular lib/ structure
- Testing strategy and VM test matrix
- Project rename recommendation: archsnap
Cloned 8 reference repos: grub-btrfs, easy-arch, arch-btrfs-installation,
btrfs-assistant, snap-pac, btrbk, buttermanager, alis
|
| |
|
|
|
|
|
|
|
|
|
| |
- Create docs/project-workflows/code-review.org with comprehensive
code review checklist based on Code Review Pyramid framework
- Add 14 new tasks to todo.org from senior developer code review:
- Priority A: README GRUB refs, missing LICENSE, skeleton script
- Priority B: Stale files, Makefile lint, documentation gaps
- Priority C: Style consistency, .editorconfig, test docs
- Add Makefile targets to todo.org: deps, lint, deploy
- Create docs/session-context.org for session tracking
|
| | |
|
| |
|
|
|
| |
Validated install-archzfs on Framework Desktop with 2-disk NVMe mirror.
ZFSBootMenu installed on both EFI partitions with redundant boot entries.
|
| |
|
|
|
| |
Implemented and tested ZFSBootMenu bootloader replacement. All VM tests
passed (single disk, mirror, raidz1). ISO copied to Ventoy drive.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a major change that replaces the GRUB bootloader with ZFSBootMenu,
providing native ZFS boot environment support.
Key changes:
- EFI partition reduced from 1GB to 512MB (only holds ZFSBootMenu)
- EFI now mounts at /efi instead of /boot
- Kernel and initramfs live on ZFS root (enables snapshot boot with matching kernel)
- Downloads pre-built ZFSBootMenu EFI binary from get.zfsbootmenu.org
- Creates EFI boot entries for all disks in multi-disk configurations
- Syncs ZFSBootMenu to all EFI partitions for redundancy
- Sets org.zfsbootmenu:commandline on zroot/ROOT for kernel cmdline inheritance
- Sets bootfs pool property for default boot environment
- AMD GPU workarounds (pg_mask, cwsr_enable) added to kernel cmdline when AMD detected
Deleted GRUB snapshot tooling (no longer needed):
- custom/grub-zfs-snap
- custom/40_zfs_snapshots
- custom/zz-grub-zfs-snap.hook
- custom/zfs-snap-prune
Updated helper scripts:
- zfssnapshot: removed grub-zfs-snap call, shows ZFSBootMenu tip
- zfsrollback: removed grub-zfs-snap call, notes auto-detection
Tested configurations:
- Single disk installation
- 2-disk mirror (mirror-0)
- 3-disk RAIDZ1 (raidz1-0)
- All boot correctly with ZFSBootMenu
|
| |
|
|
|
|
|
|
| |
- Add instructions for applying pg_mask=0 and cwsr_enable=0 workarounds
- Document that kernel 6.18.x has critical bugs, stay on 6.15.x-6.17.x
- Add session docs, mkinitcpio fixes, and Donato Capitella video transcript
- Add PRINCIPLES.org for behavioral lessons learned
- Update protocols.org from template
|
| | |
|
| | |
|
| |
|
|
|
| |
autodetect during chroot install detects live ISO hardware,
not target machine. Could leave out NVMe/AHCI drivers.
|
| |
|
|
|
| |
Documented boot fix session including firmware requirement, GRUB
configuration, and behavioral principles for future sessions.
|
| |
|
|
|
|
|
|
|
| |
- docs/PRINCIPLES.org: Behavioral lessons from retrospectives
- docs/retrospectives/: Directory for retrospective records
- docs/protocols.org: Add PRINCIPLES.org to session startup reading list
Establishes pattern for learning from problem-solving sessions and
capturing behavioral (not just technical) lessons.
|