docs: B1 boot entry check and the ISO's /var/log fix done; CEC driver download (GitHub 429) as the next item

This commit is contained in:
theupriser committed 2026-09-29 19:09:16 +02:00
1 parent 36bd85cce6
commit 48edfc53c5
3 files changed
+13 -15

No files matched your search

+4 -5
View File
@@ -29,13 +29,12 @@ wsl-build-host, progress-report).
## State (2026-09-29; update when it changes) ## State (2026-09-29; update when it changes)
- `scripts/vmtest.sh` runs the whole unattended test: boot loaders limine/systemd-boot/grub (`vmbootloadertest.sh`) and the - `scripts/vmtest.sh` runs the whole unattended test: boot loaders limine/systemd-boot/grub (`vmbootloadertest.sh`) and the
suites cli, menu, hw, installer, toggles (`vmsuite.sh`, checks in `share/vmtest/`). Each passed in its own run: limine 41, suites cli, menu, hw, installer, toggles (`vmsuite.sh`, checks in `share/vmtest/`). Each passed in its own run: limine 43,
systemd-boot 40, grub 40, cli 55, menu 36, hw 70, installer 4, toggles 42 checks. systemd-boot 42, grub 42 (with the B1 boot entry check), cli 55, menu 36, hw 70, installer 4, toggles 42 checks.
- 2026-09-29, on the PC (WSL2): the first complete parallel run, **328 pass, 0 fail in 18 minutes** (base image + - 2026-09-29, on the PC (WSL2): the first complete parallel run, **328 pass, 0 fail in 18 minutes** (base image +
qcow2 overlays, own ssh port per job, package cache, `VM_MEM=4G`, `MAX_PARALLEL=3`). On a new machine: one full qcow2 overlays, own ssh port per job, package cache, `VM_MEM=4G`, `MAX_PARALLEL=3`). On a new machine: one full
`scripts/vmtest.sh --screen`, read `~/vms/last-test.txt`, fix what fails. `scripts/vmtest.sh --screen`, read `~/vms/last-test.txt`, fix what fails.
- Open work: `TODO.md` (the B1 boot entry check, the ISO's hidden `@log` logs, the - Open work: `TODO.md` (the CEC driver download, the GitHub Actions workflow, P3).
GitHub Actions workflow, P3).
## Where the tests run ## Where the tests run
The tests run on the user's PC (Ryzen 9800X3D, 64 GB, **WSL2**), started from a laptop over ssh (the user's own skill, or The tests run on the user's PC (Ryzen 9800X3D, 64 GB, **WSL2**), started from a laptop over ssh (the user's own skill, or
@@ -48,7 +47,7 @@ passthrough): `.claude/skills/wsl-build-host/SKILL.md`. `vminstall.sh` works the
- Fixed (PR #2): cachyos-installer's `bootctl install` runs in a chroot and writes no EFI boot entry, so systemd-boot - Fixed (PR #2): cachyos-installer's `bootctl install` runs in a chroot and writes no EFI boot entry, so systemd-boot
only booted through the disk's fallback path (in OVMF after 4-5 minutes of network boot, every boot). only booted through the disk's fallback path (in OVMF after 4-5 minutes of network boot, every boot).
`steamify-install` now registers it with efibootmgr from the live system. `steamify-install` now registers it with efibootmgr from the live system.
- `/var/log` (`@log`) isn't mounted when `steamify-install` runs: its logs are hidden under the mount after boot. - Fixed (PR #3): `/var/log` (`@log`) wasn't mounted when `steamify-install` ran, so its logs were hidden after boot.
- cachyos-installer leaves systemd-boot with `#timeout 3` and no default entry: a real machine waits in the menu for ever - cachyos-installer leaves systemd-boot with `#timeout 3` and no default entry: a real machine waits in the menu for ever
(the test setup papers over it in `share/vminstall-post.sh`). (the test setup papers over it in `share/vminstall-post.sh`).
- It enables ufw, which drops ssh from the host (the test setup runs `ufw allow 22/tcp`). - It enables ufw, which drops ssh from the host (the test setup runs `ufw allow 22/tcp`).
+4 -7
View File
@@ -102,7 +102,7 @@ and started with `--fremont`. Automated: `scripts/vmtest.sh` (see the vm-install
| # | Step | Expect | | # | Step | Expect |
|---|---|---| |---|---|---|
| B1 | first boot after the unattended install | boots by itself through the loader's own EFI boot entry, no network boot first (systemd-boot: the entry comes from the ISO's `steamify-install` since PR #2; `timeout`/`default` set by the test setup), SSH answers | | B1 | first boot after the unattended install, and every reboot | boots by itself through the loader's own EFI boot entry (`BootCurrent`, a real partition; checked after every reboot), no network boot first (systemd-boot: the entry comes from the ISO's `steamify-install` since PR #2; `timeout`/`default` set by the test setup), SSH answers |
| B2 | Steamify's state, as its own `*_status` functions | gaming, theme, glyphs, single, launcher, notify, poweroff, cec all on | | B2 | Steamify's state, as its own `*_status` functions | gaming, theme, glyphs, single, launcher, notify, poweroff, cec all on |
| B3 | OS name | `os-release` NAME/PRETTY_NAME are CachyOS's, `lsb-release` has no "with Steamify"; Limine has `TARGET_OS_NAME` | | B3 | OS name | `os-release` NAME/PRETTY_NAME are CachyOS's, `lsb-release` has no "with Steamify"; Limine has `TARGET_OS_NAME` |
| B4 | loader identity, firmware setup | the expected loader; `Boot into FW: supported` (BIOS item) | | B4 | loader identity, firmware setup | the expected loader; `Boot into FW: supported` (BIOS item) |
@@ -125,12 +125,8 @@ and started with `--fremont`. Automated: `scripts/vmtest.sh` (see the vm-install
a release it shows the old version; start the branch's app by hand a release it shows the old version; start the branch's app by hand
(steam-machine-iso skill). (steam-machine-iso skill).
- B1: no check yet that the loader's own EFI entry exists, points to a real partition and was used - CEC (B2, B5, B7, R1.7): the driver source is downloaded from raw.githubusercontent.com at setup time;
(`efibootmgr` `BootCurrent`): systemd-boot booted through the disk's fallback path unnoticed until a GitHub rate limit (HTTP 429) fails CEC and every check that needs its module. Rerun later; fix in TODO.
2026-09-29 (a 4-5 minute network boot per boot in OVMF). To add to `share/bootloader-test/`.
- ISO: `/var/log` is its own btrfs subvolume (`@log`), not mounted at `$ROOT/var/log` when
`steamify-install` runs: its logs (`steamify-install.log`, `steamify-bootentry.log`) end up hidden
under the mount after boot.
## Results log ## Results log
@@ -143,3 +139,4 @@ and started with `--fremont`. Automated: `scripts/vmtest.sh` (see the vm-install
| 2026-09-29 | `feature/vminstall-bootloader` (Steamify ISO 2026.09.28, `--fremont`) | B1-B8 | Limine 41 / systemd-boot 40 / GRUB 40 checks pass. Found on the way (test setup, not Steamify): ufw blocks ssh, systemd-boot has no timeout/default after cachyos-installer | | 2026-09-29 | `feature/vminstall-bootloader` (Steamify ISO 2026.09.28, `--fremont`) | B1-B8 | Limine 41 / systemd-boot 40 / GRUB 40 checks pass. Found on the way (test setup, not Steamify): ufw blocks ssh, systemd-boot has no timeout/default after cachyos-installer |
| 2026-09-28 | `release/2.8.0` (`feature/defaults-list`) | G1-G3, R1.1, R1.2 | all pass (VM `--fremont`, fake Steam Machine). Bundle shellcheck clean | | 2026-09-28 | `release/2.8.0` (`feature/defaults-list`) | G1-G3, R1.1, R1.2 | all pass (VM `--fremont`, fake Steam Machine). Bundle shellcheck clean |
| 2026-09-29 | Steamify 2.9.0 (`steamify-cachyos` main), ISO `feat/steamify` with PR #2 (2026.09.29), dev `main` 5b867f8; on the PC (WSL2) | everything automated: B1-B8 (3 loaders), cli, menu, hw, installer, toggles (`scripts/vmtest.sh`, parallel, `MAX_PARALLEL=3`) | **328 pass, 0 fail** (toggles 42 +1 expected skip, hw 70, cli 55, menu 36, installer 4, Limine 41, systemd-boot 40, GRUB 40) in 18 minutes: the first complete parallel run. Found on the way: systemd-boot had no EFI boot entry (installer's `bootctl` in a chroot), fixed in the ISO (PR #2); `vminstall.sh` fixes for parallel installs and a root host user | | 2026-09-29 | Steamify 2.9.0 (`steamify-cachyos` main), ISO `feat/steamify` with PR #2 (2026.09.29), dev `main` 5b867f8; on the PC (WSL2) | everything automated: B1-B8 (3 loaders), cli, menu, hw, installer, toggles (`scripts/vmtest.sh`, parallel, `MAX_PARALLEL=3`) | **328 pass, 0 fail** (toggles 42 +1 expected skip, hw 70, cli 55, menu 36, installer 4, Limine 41, systemd-boot 40, GRUB 40) in 18 minutes: the first complete parallel run. Found on the way: systemd-boot had no EFI boot entry (installer's `bootctl` in a chroot), fixed in the ISO (PR #2); `vminstall.sh` fixes for parallel installs and a root host user |
| 2026-09-29 | ISO `feat/steamify` + PR #3 (`/var/log`), dev `main` with the B1 boot entry check | B1-B8 | Limine 43 / GRUB 42 pass (boot entry check passes: `Limine`, `cachyos`). systemd-boot (reinstalled): 36 pass, 8 fail, all CEC: the driver download got HTTP 429 from GitHub (rate limit); boot entry check passes (`Linux Boot Manager`); `/var/log/steamify-install.log` and `steamify-bootentry.log` readable after boot |
+5 -3
View File
@@ -74,10 +74,12 @@ Where the time goes: boot loader VMs ~3 min each, every suite block restores a s
## Found 2026-09-29 (first full run on the PC) ## Found 2026-09-29 (first full run on the PC)
- [ ] B1 check: the loader's own EFI boot entry exists, points to a real partition (not `HD(0,GPT,0000...)`) - [x] B1 check (share/bootloader-test/boot-check.sh, after every reboot; passes on all three): the loader's own EFI boot entry exists, points to a real partition (not `HD(0,GPT,0000...)`)
and was used (`efibootmgr` `BootCurrent`); systemd-boot booted through the fallback path unnoticed and was used (`efibootmgr` `BootCurrent`); systemd-boot booted through the fallback path unnoticed
- [ ] ISO: mount `@log` at `$ROOT/var/log` before `steamify-install` writes its logs (they end up hidden - [x] ISO: mount `@log` at `$ROOT/var/log` before `steamify-install` writes its logs (PR #3 merged)
under the mount); PR into `feat/steamify` - [ ] Steamify: the CEC driver comes from one download (raw.githubusercontent.com, no retry, no fallback);
a GitHub rate limit (HTTP 429, seen 2026-09-29 after a day of test installs) leaves CEC off. Ship the
pinned source with Steamify instead (steamify-cachyos, via a release branch)
- [x] ISO: systemd-boot's EFI boot entry (efibootmgr from the live system), PR #2 merged - [x] ISO: systemd-boot's EFI boot entry (efibootmgr from the live system), PR #2 merged
- [x] vminstall.sh: a poweroff that drops ssh is no failure, wait only for its own VM, ISO loop device under - [x] vminstall.sh: a poweroff that drops ssh is no failure, wait only for its own VM, ISO loop device under
a lock, never root as the guest user a lock, never root as the guest user