| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
review comments
|
| | |
|
| |
|
|
|
|
|
|
| |
The custom/ directory name was an archiso implementation detail. Renamed
to installer/ which clearly communicates that this directory contains the
installer scripts and utilities that ship on the ISO.
Updated all references in build.sh, Makefile, test-install.sh, and README.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
- Add monitor_sendkeys() to type strings into QEMU via monitor socket
- Add send_luks_passphrase() that detects GRUB passphrase prompt in
serial log and sends passphrase via sendkey, supporting multi-disk
LUKS (one passphrase per encrypted disk)
- Add QEMU monitor socket to start_vm_from_disk() for LUKS configs
- Auto-detect LUKS configs and handle passphrase entry during reboot test
- Add socat dependency check
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- Fix cryptkey parameter format: use rootfs: prefix so the encrypt hook
finds the keyfile embedded in the initramfs (was treating bare path as
a device name)
- Switch multi-disk LUKS to sd-encrypt hook which reads crypttab.initramfs
to open ALL LUKS containers (the traditional encrypt hook only supports
a single cryptdevice)
- Create crypttab.initramfs during LUKS initramfs setup
- Skip cryptdevice/cryptkey cmdline params for multi-disk LUKS since
sd-encrypt reads crypttab instead
|
| |
|
|
|
|
| |
Configure shellcheck to ignore false positives from sourced file
patterns (SC2034), intentional word splitting (SC2086), and other
stylistic warnings that don't represent bugs.
|
| |
|
|
|
|
| |
Declare and assign local variables separately in custom/archangel,
scripts/full-test.sh, scripts/test-install.sh, and remove unused
variable in custom/lib/zfs.sh.
|
| |
|
|
|
|
| |
Remove outdated "btrfs coming soon" note, add LUKS_PASSPHRASE option
for btrfs installs, and simplify encryption skip documentation to
cover both filesystem types.
|
| |
|
|
|
|
| |
Allow OVMF_CODE and OVMF_VARS_ORIG to be overridden via environment
variables for portability across distros (Fedora, Ubuntu, etc. use
different paths for UEFI firmware).
|
| |
|
|
|
|
| |
Enable undefined variable checking (set -u) and pipefail across
standalone scripts. Guard SUDO_USER references with ${SUDO_USER:-}
for set -u compatibility.
|
| |
|
|
|
| |
Declare and assign local variables separately to avoid masking
return values from command substitutions.
|
| |
|
|
|
|
|
| |
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.
|