| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Remove personal email addresses, hardcoded paths, and infrastructure
references to prepare for open-source release. Distribution targets
in build-release are now configurable via environment variables,
and archsetup inclusion is opt-in.
|
| |
|
|
|
|
| |
Optional TrustAll is misleading — it implies signature checking when
none is actually happening. Use Never to match the installer and be
explicit. Repo is served over HTTPS; GPG adds no value in build env.
|
| |
|
|
|
|
|
|
| |
- Fill in author field
- Add SSH security warning for live ISO known password
- Update project structure to match current files (add Makefile,
RESCUE-GUIDE.txt, test-configs/, full-test.sh, boot-vm.sh)
- Remove docs/ from project structure (gitignored)
|
| |
|
|
|
|
|
| |
- Change all script shebangs to #!/usr/bin/env bash for portability
(heredocs writing to installed systems keep #!/bin/bash)
- Remove || true from Makefile lint target so shellcheck errors fail the build
- Add .editorconfig for consistent formatting across editors
|
| |
|
|
|
|
|
|
| |
The no-ssh test failed because reboot verification unconditionally
used wait_for_ssh, which timed out on systems without SSH. Add
wait_for_boot_console() that checks serial log for ZFSBootMenu boot
markers, and branch run_test() on ENABLE_SSH to use the appropriate
verification path.
|
| |
|
|
|
|
|
|
|
|
| |
- Remove personal hardware specs, machine-specific troubleshooting docs,
and video transcript from assets/
- Remove stale PLAN-zfsbootmenu-implementation.org (feature complete)
- Remove .stignore (Syncthing config, not project-relevant)
- Untrack todo.org (personal task tracker with private infra details)
- Make archsetup path configurable via ARCHSETUP_DIR env var in build.sh
- Use $REAL_USER instead of hardcoded username in build-release scp
|
| |
|
|
| |
#!/bin/env bash doesn't exist — changed to #!/usr/bin/env bash.
|
| |
|
|
|
| |
Non-functional stub that printed "this is a skeleton" — worse than
not having it. Removed from build.sh, Makefile, and file permissions.
|
| |
|
|
| |
Required for open-source release, as referenced in README.org.
|
| |
|
|
|
| |
docs/ contains session history, personal workflows, and private
protocols that shouldn't be in a public repository.
|
| |
|
|
|
|
| |
Synced workflows, scripts, and protocols from templates.
Processed 4 announcements (calendar cross-visibility, gcalcli, open-tasks,
summarize-emails). Renamed todo.org headers to project-named convention.
|
| |
|
|
|
| |
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
|