aboutsummaryrefslogtreecommitdiff
path: root/docs/session-context.org
blob: 66a1ae003dfc48dd4cbbff270242f4d61269b95e (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
#+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

*** Btrfs Implementation Approach
- Phase 2: Single-disk btrfs, no encryption (test first)
- Phase 2.7: Test basic btrfs before adding encryption
- Phase 2.8: LUKS encryption after basic btrfs works
- Phase 3: Multi-disk (stripe, mirror, raidX) + encrypted/unencrypted

*** Partition Type Handling
- disk.sh checks global FILESYSTEM variable
- ZFS: BF00 (Solaris root)
- Btrfs: 8300 (Linux filesystem)

** Work Completed

*** 1. Phase 1: Refactor (COMPLETE)
- [X] lib/common.sh, config.sh, disk.sh, zfs.sh created
- [X] Filesystem selection prompt
- [X] Renamed to archangel
- [X] VM test passed

*** 2. Phase 2: Btrfs Support (IN PROGRESS)
**** Phase 2.1: lib/btrfs.sh (COMPLETE)
- [X] Created lib/btrfs.sh with full implementation
- [X] BTRFS_OPTS: noatime,compress=zstd,space_cache=v2,discard=async
- [X] 10 subvolumes matching ZFS dataset layout
- [X] Mount functions with proper options
- [X] fstab generation (subvol= NOT subvolid!)
- [X] Snapper configuration (timeline policy)
- [X] GRUB + grub-btrfs configuration
- [X] Genesis snapshot via snapper

**** Updated Files
- [X] disk.sh - filesystem-aware partition type
- [X] archangel - sources btrfs.sh, install_btrfs() path
- [X] build.sh - includes lib/btrfs.sh permissions
- [X] PLAN-archangel-btrfs.org - added Phase 2.7/2.8

**** Syntax Checks
- [X] All lib/*.sh pass bash -n
- [X] archangel passes bash -n
- [X] All btrfs functions defined correctly

** Next Steps
1. Commit Phase 2.1 implementation
2. Build ISO
3. VM test btrfs installation path

** Notes
- Craig on remote console: 30 lines tall, ~145 columns wide
- Testing approach: syntax first, then full VM test