feat(build): QEMU boots the stick; the data stick over USB
qemu-stick boots the amd64 stick image (build/boards/pc/lithos-pc.img, copied per run) as a USB drive on q35, exactly as hardware would. DATASTICK=1 adds the data stick to any qemu run as a second USB drive. qemu_session.py gains --target and the stick_boot and datastick modes. Checks: stick_boot (the stick's own identity partition attaches, headless on a blank identity); datastick on amd64/aarch64/riscv64 (both drives found, the data stick's 500 MiB identity attaches); the seven GPT modes, the identity-gate and increment 1 sessions, emergency; the suite; three acceptance boots to [zuse@Hera] ok> with POST 538/538 and dict_hash=0xfec8c47cfc6f437f; test-32 0 failures. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
e177c5c6b3
commit
c416c805cb
+6
-1
@@ -150,7 +150,12 @@ make boot_image TARGET=MILKV EMERGENCY_CONSOLE_ENABLED=1
|
||||
One QEMU at a time. Use a copy of the image: the kernel writes to its disk.
|
||||
|
||||
- [ ] **PC:** q35 with OVMF, the image as the only disk, no `-cdrom`, no virtio disk, no
|
||||
thumbdrive. This is the machine the README's "booted in QEMU" refers to.
|
||||
thumbdrive. This is the machine the README's "booted in QEMU" refers to. Since
|
||||
2026-10-27 the PC image is the StarshipOS stick (`docs/v4.0.0/STICK.md` §4: ESP,
|
||||
identity, Artemis) and `make -f kernel/Makefile ARCH=amd64 qemu-stick` does exactly
|
||||
this: a copy of the stick as a USB stick on the xHCI controller (`bootindex=0`), OVMF
|
||||
booting its ESP, logs under `logs/<TS>/amd64/`. The stick's identity partition is
|
||||
blank until first-boot genesis (stick increment 5), so today it boots headless.
|
||||
- [ ] **MILKV:** the command in `boards/milkv/README.md` (OpenSBI, U-Boot, `bootefi`).
|
||||
- [ ] **RASPI:** there is no QEMU model of the Pi 5, but its native path -- raw image, entry
|
||||
at EL2 with the MMU off, devicetree in x0 -- is rehearsed on QEMU virt:
|
||||
|
||||
@@ -254,7 +254,10 @@ first and seen to fail:
|
||||
2. **The GPT reader** and partition block devices, every ISA (§4); raw devices still read as now.
|
||||
3. **The images:** the stick (three partitions) and the data stick (two), Artemis formatted and
|
||||
signed at build (§4); QEMU boots the stick as a USB stick, and every `clean qemu` boot attaches
|
||||
the data stick (§9).
|
||||
the data stick (§9). **Amended (Captain Bob, 2026-10-27):** the data stick is wired into the
|
||||
`qemu` targets behind `DATASTICK=1`, off by default -- until increments 4 and 5 the kernel cannot
|
||||
take Artemis from it or mint Zuse onto it, so as the default it would leave every acceptance boot
|
||||
headless. Increment 5 turns it on and retires the scratch pair and the virtio disk.
|
||||
4. **Artemis and Zuse from one disk:** the boot device from the loader, the partitions found and
|
||||
attached, virtio Artemis off the v4 path; recognition of a minted stick; entropy on the v4 path;
|
||||
`system=v3` refused on a stick (§4, §5).
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user