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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
|
#+TITLE: Previous Session History
#+AUTHOR: Craig Jennings & Claude
#+DATE: 2025-11-14
* About This File
This file contains archived session history entries older than 2 weeks from the current date. Sessions are automatically moved here during the wrap-up workflow to keep notes.org at a manageable size.
Sessions are listed in reverse chronological order (most recent first).
* Archived Sessions
*** 2026-01-22 Thu @ 15:02 -0600
*Status:* COMPLETE
*What We Completed:*
- Diagnosed and fixed ratio (Framework Desktop, AMD Strix Halo) boot failures
- Root cause: missing linux-firmware 20260110 caused amdgpu to freeze at boot
- Installed linux-firmware 20260110-1, fixed ZFS mountpoints, fixed hostid mismatch
- Configured kernel 6.15.2 as default (pinned), created clean GRUB menu
- Created retrospective workflow for continuous improvement
- Added PRINCIPLES.org with behavioral lessons learned
- Documented full troubleshooting session
*Key Decisions:*
- linux-firmware version is critical for AMD Strix Halo (20260110+ required)
- ZFS rollback with separate /boot partition is dangerous - recommend ZFSBootMenu
- Established retrospective workflow for major problem-solving sessions
- Behavioral lessons go in PRINCIPLES.org, technical facts in session docs
*Files Modified:*
- [[file:../custom/archangel][custom/install-archzfs]] - Fixed mkinitcpio configuration
- [[file:../todo.org][todo.org]] - Added ZFS rollback + /boot issue, ZFSBootMenu task
- [[file:PRINCIPLES.org][docs/PRINCIPLES.org]] - New file with behavioral lessons
- [[file:protocols.org][docs/protocols.org]] - Added PRINCIPLES.org to session startup
- [[file:retrospectives/2026-01-22-ratio-boot-fix.org][docs/retrospectives/]] - Retrospective for this session
- [[file:2026-01-22-ratio-boot-fix-session.org][docs/2026-01-22-ratio-boot-fix-session.org]] - Full technical session doc
*Commits Made:*
- c46191c: Fix ratio boot issues: firmware, mkinitcpio, and document ZFS rollback dangers
- 9100517: Update ratio session doc: kernel 6.15.2 now default with clean GRUB menu
- e5aedfa: Add retrospective workflow and PRINCIPLES.org for continuous improvement
*Next Steps:*
- Implement ZFSBootMenu on ratio to solve /boot rollback issue
- Consider adding ZFSBootMenu to install-archzfs as alternative to GRUB
*** 2026-01-18 Sat @ 16:30 -0600
*Status:* COMPLETE
*What We Completed:*
- Completed RESCUE-GUIDE.txt with all 8 sections fully documented
- Added final round of utility packages to ISO:
- Disk tools: ncdu, tree
- Hardware diagnostics: iotop
- Network: speedtest-cli, mosh, aria2, tmate, sshuttle
- Security: pass (password manager)
- Removed AUR-only packages that broke build: safecopy, ms-sys, dislocker, nwipe
- Successfully rebuilt ISO (5.1GB)
- Copied ISO to truenas.local:/mnt/vault/isos and ~/downloads/isos
- Wrote ISO to USB drives (/dev/sda 1TB, /dev/sdb 240GB)
- Ran all tests:
- zfs-snap-prune unit tests: 22/22 PASSED
- VM install test (single-disk): PASSED
- VM install test (mirror): PASSED
- VM install test (raidz1): PASSED
- Marked "Add common recovery tools" TODO as DONE
*Commits Made:*
- 36aa130: Add utility tools and rescue guide documentation
- 6f4fd68: Remove AUR-only packages from ISO build
*Files Modified:*
- [[file:../build.sh][build.sh]] - Added utility packages, removed AUR-only packages
- [[file:../custom/RESCUE-GUIDE.txt][custom/RESCUE-GUIDE.txt]] - Completed all 8 sections
- [[file:../TODO.org][TODO.org]] - Marked recovery tools task as DONE
- [[file:session-context.org][docs/session-context.org]] - Updated session state
*Key Technical Notes:*
- AUR packages cannot be included in mkarchiso builds without custom AUR handling
- Documented AUR tools (safecopy, ms-sys, dislocker, nwipe) in RESCUE-GUIDE with install instructions
- ISO now doubles as a comprehensive rescue/recovery disk
*Next Steps:*
- Test booting from physical USB drive on real hardware
- Consider CI/CD pipeline for automated ISO builds
- Consider adding ISO to GRUB boot menu for on-disk recovery
*** 2026-01-17 Sat @ 17:10 -0600
*Status:* IN PROGRESS
*What We Completed:*
- Fixed ZFS kernel module mismatch by switching to linux-lts + zfs-dkms
- Fixed bootloader to use linux-lts kernel (was defaulting to regular linux)
- Fixed broadcom-wl dependency (switched to broadcom-wl-dkms)
- Updated mkinitcpio preset for linux-lts with archiso config
- Fixed install-archzfs bugs:
- =[[ ]] && error= pattern causing early exit with =set -e= (changed to if/then)
- 50G reservation on 50G disk (now dynamic: 20% of pool, capped 5-20G)
- sanoid not in official repos (moved to archsetup)
- grub-mkfont needs freetype2 package (added to pacstrap)
- Removed sanoid/syncoid from install-archzfs (archsetup will handle)
- Created inbox item for archsetup with full sanoid/syncoid config
- ISO now 4.8G (was 5.4G) - only linux-lts kernel
*Key Technical Insights:*
- =broadcom-wl= depends on =linux= kernel specifically - use =broadcom-wl-dkms= instead
- archiso releng profile has linux.preset in airootfs that needs renaming to linux-lts.preset
- With =set -e=, =[[ test ]] && command= returns exit code 1 if test is false, causing script exit
- =grub-mkfont= requires =freetype2= package (not installed by default with grub)
*Files Modified:*
- [[file:../build.sh][build.sh]] - major updates for linux-lts, bootloader configs, mkinitcpio preset
- [[file:../custom/archangel][custom/install-archzfs]] - multiple bug fixes, removed sanoid/syncoid
- [[file:~/code/archsetup/inbox/zfs-sanoid-detection.txt][archsetup inbox]] - sanoid/syncoid config for archsetup to implement
*Current State:*
- ISO builds successfully with linux-lts + zfs-dkms
- ZFS module loads correctly in live environment
- install-archzfs runs through most steps
- Last error: grub-mkfont missing freetype2 (now fixed, needs rebuild/test)
*Next Steps:*
- Rebuild ISO with freetype2 fix
- Complete full install-archzfs test in VM
- Test booting the installed system
- Git commit all changes
*** 2026-01-17 Sat @ 13:16 -0600
*Status:* COMPLETE (continued above)
*What We Completed:*
- Initialized git repository
- Created .gitignore (excludes work/, out/, profile/, zfs-packages/)
- Initial commit with all build scripts
- Added docs/ to git (decided to track publicly)
- Built fresh ISO (archzfs-claude-2026.01.17-x86_64.iso, 4.9G)
- Tested ISO in QEMU VM
- Documented project goals and design decisions in notes.org
*Key Decisions Made:*
- Use linux-lts + zfs-dkms from archzfs.com (DKMS ensures kernel compatibility)
- Less aggressive snapshot policy (TrueNAS handles long-term backups)
- All install questions upfront, then unattended installation
- Root account only (archsetup creates user post-reboot)
- 32px GRUB font for HiDPI displays
- WiFi config tested before install starts
*Files Modified:*
- [[file:../.gitignore][.gitignore]] - created
- [[file:../build.sh][build.sh]] - major rewrite
- [[file:../custom/install-archzfs][custom/install-archzfs]] - complete rewrite
- [[file:../scripts/test-vm.sh][scripts/test-vm.sh]] - added serial console
|