blob: f441e892f6ef1b722879c2fac757423b4f53f52f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
#+TITLE: Session Context - Active Session
#+DATE: 2026-01-23
* Session: Friday 2026-01-23 @ 14:08 CST (ongoing)
** Key Decisions This Session
*** Project Rename: archangel
- Decided to rename project from "archzfs" to "archangel"
- Script name will be just "archangel" (not install-archangel)
- Checked for conflicts: pwnerfly/Archangel is dead (2020, 0 stars, no license)
- Name is clear for use
** Work Completed
*** 1. Btrfs Implementation Planning
- Created docs/PLAN-archangel-btrfs.org with 6-phase implementation
- Expanded testing validation checks in research doc
- Decided: snapper for snapshots, GRUB for btrfs boot
*** 2. Phase 1: Refactor (COMPLETE)
**** Phase 1.1: lib/ Structure
Created modular library structure:
- [X] custom/lib/common.sh - output, validation, fzf prompts, filesystem selection
- [X] custom/lib/config.sh - argument parsing, config loading
- [X] custom/lib/disk.sh - partitioning, disk selection
- [X] custom/lib/zfs.sh - ZFS pool, datasets, services
**** Phase 1.4: Filesystem Selection
- [X] Added FILESYSTEM variable (zfs/btrfs)
- [X] Added select_filesystem() with fzf prompt
- [X] Btrfs selection shows "not yet implemented"
- [X] Config file supports FILESYSTEM option
**** Phase 1.5: Rename to archangel
- [X] Renamed install-archzfs → archangel
- [X] Updated build.sh references
- [X] Updated config example to archangel.conf.example
- [X] Updated script headers
*** 3. Bug Fix: set -e compatibility
Found and fixed critical bug during VM testing:
- [[ condition ]] && error pattern fails with set -e
- Fixed by converting to if/then/fi pattern
*** 4. VM Test PASSED
Full end-to-end test:
- ISO built with lib/ structure
- Unattended install completed
- ZFSBootMenu boots correctly
- Genesis snapshots created
- System fully functional
** Commits This Session (11 total)
- 94c2f15: Add archsetup --chroot task
- 49a8b2e: Add btrfs implementation plan
- d8eb81a: Expand testing validation checks
- 15ac415: Phase 1.1 - Create lib/ directory structure
- 498ab4d: Fix build.sh to include lib/ in ISO
- c74b1d7: Fix set -e compatibility in lib functions
- 0f56f1f: Update session context
- 7cfdc69: Phase 1.1 complete: VM test passed
- b8973f3: Phase 1.4 - Add filesystem selection prompt
- 18c07ee: Phase 1.5 - Rename to archangel
** Phase 1 Status: COMPLETE
** Next Steps (Phase 2: Btrfs Support)
1. Create lib/btrfs.sh with btrfs functions
2. Implement subvolume creation
3. Implement snapper configuration
4. Implement GRUB + grub-btrfs
5. Test btrfs installation
** Notes
- Craig on remote console: 30 lines tall, ~145 columns wide
- Craig stepped away ~17:23, working autonomously
|