Expand operator USB rebuild and runtime checks

Document head verification before builds, add post-flash filesystem and XKB runtime probes, and include the read-write root/no tmpfs overlay expectations in the hardware acceptance checklist.

---

Build: pass — sh -n build.sh

Tests: pass — git diff --check
This commit is contained in:
Sam & Claude 2026-05-17 07:33:52 +02:00
parent 9d63d0fd44
commit 09220186ff
2 changed files with 45 additions and 3 deletions

View file

@ -47,6 +47,10 @@ and other keys are available.
## Quick Start
```sh
# Confirm you are building the intended branch/head first.
git status --short --branch
git log --oneline -5
# Full build: fetch + assemble.
sudo ./build.sh
```

View file

@ -213,6 +213,10 @@ From the live desktop or a tty:
```sh
id clawdie
mount | egrep ' on / | on /tmp | on /var '
df -h / /tmp /var
egrep 'root_rw_mount|tmpmfs|varmfs|lightdm|display_manager|clawdie_live_gpu|kld_list|zfs' /etc/rc.conf /etc/rc.conf.local 2>/dev/null
ls -ld /var/lib/xkb /tmp /var/tmp /usr/local/share/X11/xkb /usr/local/share/X11/xkb/keycodes
service dbus onestatus
service lightdm onestatus
cat /usr/local/etc/lightdm/lightdm.conf.d/50-clawdie-live.conf
@ -220,6 +224,12 @@ cat /var/log/clawdie-live-gpu.log
kldstat | egrep 'i915|amdgpu|radeon|vmwgfx|nvidia|linux|zfs'
```
Expected filesystem state:
- `/` is mounted read-write from `/dev/ufs/FreeBSD_Install`
- `/tmp` and `/var` are **not** separate tmpfs mounts
- `/var/lib/xkb` exists and is writable for XKB cache generation
Then verify operator tools:
```sh
@ -274,16 +284,42 @@ cat /var/log/clawdie-live-gpu.log
ls -ld /usr/local/share/X11
ls -ld /usr/local/share/X11/xkb
ls -ld /usr/local/share/X11/xkb/keycodes
ls -ld /var/lib/xkb /tmp /var/tmp
ls -l /usr/local/share/X11/xkb/keycodes/xfree86
pkg info -e xkeyboard-config xkbcomp xorg-server xorg-minimal
```
If X is already running, compile the active keymap:
```sh
setxkbmap -print | xkbcomp -w 10 -xkm - /tmp/clawdie-xkb-test.xkm
echo $?
rm -f /tmp/clawdie-xkb-test.xkm
```
If X is not running, compile a default keymap against the installed XKB tree:
```sh
cat > /tmp/clawdie-xkb-default-test.xkb <<'EOF'
xkb_keymap {
xkb_keycodes { include "xfree86+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+us+inet(evdev)" };
xkb_geometry { include "pc(pc105)" };
};
EOF
xkbcomp -w 10 -R/usr/local/share/X11/xkb /tmp/clawdie-xkb-default-test.xkb /tmp/clawdie-xkb-default-test.xkm
echo $?
rm -f /tmp/clawdie-xkb-default-test.xkb /tmp/clawdie-xkb-default-test.xkm
```
### Check the actual running config
```sh
egrep 'lightdm|display_manager|clawdie_live_gpu|kld_list|zfs' /etc/rc.conf
mount
df -h
egrep 'root_rw_mount|tmpmfs|varmfs|lightdm|display_manager|clawdie_live_gpu|kld_list|zfs' /etc/rc.conf /etc/rc.conf.local 2>/dev/null
mount | egrep ' on / | on /tmp | on /var '
df -h / /tmp /var
```
### Manual X session probe
@ -313,6 +349,8 @@ Mark the image good only when all of these are true:
- [ ] image boots from USB on real hardware
- [ ] LightDM autologins as `clawdie`
- [ ] XFCE panel and desktop appear
- [ ] `/` is read-write and `/tmp`/`/var` are not installer tmpfs overlays
- [ ] `/var/lib/xkb` exists and XKB keymap compilation succeeds
- [ ] `clawdie_live_gpu` log shows a sensible path or a clear fallback
- [ ] NetworkMgr tray icon appears
- [ ] Chromium opens