diff options
| author | Craig Jennings <c@cjennings.net> | 2026-01-23 22:57:21 -0600 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-01-23 22:57:21 -0600 |
| commit | e4ee55f9706d5567f45b6b4f6f007c09709fdfea (patch) | |
| tree | 93b017f7d3b8c76c752e25b2e7c380019bc33355 /docs/PLAN-archangel-btrfs.org | |
| parent | 4560cbdc55e6bd5abe643806e4115d67313db564 (diff) | |
| download | archangel-e4ee55f9706d5567f45b6b4f6f007c09709fdfea.tar.gz archangel-e4ee55f9706d5567f45b6b4f6f007c09709fdfea.zip | |
Phase 2.1: Implement btrfs support
- 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)
Diffstat (limited to 'docs/PLAN-archangel-btrfs.org')
| -rw-r--r-- | docs/PLAN-archangel-btrfs.org | 34 |
1 files changed, 26 insertions, 8 deletions
diff --git a/docs/PLAN-archangel-btrfs.org b/docs/PLAN-archangel-btrfs.org index ea39bf6..9d91db7 100644 --- a/docs/PLAN-archangel-btrfs.org +++ b/docs/PLAN-archangel-btrfs.org @@ -98,7 +98,14 @@ BTRFS_OPTS="noatime,compress=zstd,space_cache=v2,discard=async" - [ ] Verify appears in snapper list - [ ] Verify appears in GRUB menu -** 2.7 LUKS encryption (optional) +** 2.7 Test basic btrfs (before encryption) +- [ ] VM test: single-disk btrfs install +- [ ] Verify subvolumes created correctly +- [ ] Verify GRUB boots and shows snapshots +- [ ] Verify snapper works +- [ ] Verify genesis snapshot exists + +** 2.8 LUKS encryption (after basic btrfs works) - [ ] Add encryption prompt (yes/no) - [ ] Create LUKS container on root partition - [ ] Configure crypttab @@ -107,20 +114,31 @@ BTRFS_OPTS="noatime,compress=zstd,space_cache=v2,discard=async" * Phase 3: Multi-disk Btrfs -Goal: Mirror support for btrfs. +Goal: Full multi-disk support for btrfs (matching ZFS capabilities). -** 3.1 Btrfs RAID1 creation -- [ ] Detect multi-disk selection -- [ ] Create raid1 volume: mkfs.btrfs -d raid1 -m raid1 /dev/sdX /dev/sdY -- [ ] Handle 2+ disk configurations +** 3.1 RAID level support +- [ ] Stripe (raid0): mkfs.btrfs -d raid0 -m raid0 +- [ ] Mirror (raid1): mkfs.btrfs -d raid1 -m raid1 +- [ ] raid10: mkfs.btrfs -d raid10 -m raid10 (4+ disks) +- [ ] raid5: mkfs.btrfs -d raid5 -m raid5 (3+ disks, warn: unstable) +- [ ] raid6: mkfs.btrfs -d raid6 -m raid6 (4+ disks, warn: unstable) +- [ ] Detect multi-disk selection and offer appropriate levels +- [ ] Handle mixed disk sizes gracefully -** 3.2 EFI redundancy +** 3.2 Encryption + multi-disk +- [ ] LUKS on each disk before btrfs +- [ ] crypttab entries for all disks +- [ ] Test unlock sequence at boot +- [ ] Single passphrase unlocks all (keyfile approach) + +** 3.3 EFI redundancy - [ ] Create EFI partition on all disks - [ ] Install GRUB to all EFI partitions - [ ] Create boot entries for each disk -** 3.3 Degraded boot support +** 3.4 Degraded boot support - [ ] Add degraded mount option for emergency +- [ ] Kernel param: rootflags=degraded - [ ] Document recovery procedure * Phase 4: Testing Infrastructure |
