aboutsummaryrefslogtreecommitdiff
path: root/docs/session-context.org
blob: c6a2a4a493f5d535869103f5910c447b08af6204 (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
#+TITLE: Session Context - archzfs
#+DATE: 2026-01-18

* Current Session State

** What We're Working On
All 3 unattended installation tests completed successfully.

** Bugs Found and Fixed This Session

*** Bug 1: gather_input returns non-zero exit code
- Cause: `[[ -n "$WIFI_SSID" ]] && info "..."` returns 1 when WIFI_SSID is empty
- The bare `return` inherits this exit code
- With `set -e`, script exits immediately
- Fix: Changed `return` to `return 0`
- Commit: 2f5bb37

*** Bug 2: pacstrap hangs on provider prompts
- Cause: pacstrap prompts for package provider selection (iptables, initramfs)
- In unattended mode, no input is available
- Fix: Pipe `yes ""` to pacstrap to auto-select defaults
- Commit: 1dc4e95

*** Bug 3: fsck hook in mkinitcpio
- Cause: fsck hook was included in HOOKS for ZFS root
- ZFS doesn't use fsck, causes error messages
- Fix: Removed fsck from HOOKS line
- Commit: 1dc4e95

*** Bug 4: Missing hostid for ZFS boot
- Cause: ZFS uses hostid to identify pool ownership
- Without hostid, pool import can fail
- Fix: Generate/copy hostid and add spl.spl_hostid to kernel cmdline
- Commit: 1dc4e95

** Testing Status
- Test 1: 2-disk mirror - PASSED (installation complete, boots to passphrase prompt)
- Test 2: 2-disk stripe - PASSED (installation complete)
- Test 3: Single disk - PASSED (installation complete)

** Key Progress This Session

*** Config File Support for Unattended Installs
- Added --config-file /path/to/config argument
- Config only used when explicitly specified (prevents accidental disk wipes)
- Example config at /root/install-archzfs.conf.example on ISO
- Validates required fields: HOSTNAME, TIMEZONE, DISKS, ZFS_PASSPHRASE, ROOT_PASSWORD

*** Boot Fixes for ZFS
- Removed fsck from mkinitcpio HOOKS
- Added hostid generation/copy to installed system
- Added spl.spl_hostid to kernel command line
- Removed 'quiet' from kernel params for visible boot messages

** Files Modified This Session
- custom/install-archzfs - Config file support, bug fixes
- custom/install-archzfs.conf.example - Template for unattended installs
- build.sh - Copies example config to ISO
- .gitignore - Ignore VM disk images

** Recent Commits
- 2f5bb37: Fix unattended mode exit issue (return 0)
- 1dc4e95: Add config file support for unattended installations

** Test Configuration
- VM: ./scripts/test-vm.sh --multi-disk (for RAID testing)
- VM: ./scripts/test-vm.sh (for single disk)
- SSH: sshpass -p archzfs ssh -p 2222 root@localhost (live ISO)
- Config file: /root/test-mirror.conf

** Test Credentials
- Live ISO root password: archzfs
- Test ZFS passphrase: testpass123
- Test root password: testpass123