test(stick): Artemis grows to fill the stick -- the tests, seen to fail (#92, Task 2) [skip ci]

Plan 2026-10-29-stick-5, Task 2, steps 1-2:
- qemu_session.py: --stick-gib N (the session's copy of the stick extended,
  sparse); modes stick_grow (16 GiB: grown, over 12000000 user blocks, the
  prompt, the first boot's time; the second boot of the same copy not grown
  again; sfdisk --verify clean) and stick_small (4 GiB: under 8 GB, not grown,
  said so).
- kernel/Makefile: STICK_GIB and STICK_FRESH on qemu-stick, for those.
- check_images.sh: the PC stick's and data stick's Artemis BAM sized for the
  256 GiB cap (6144 devblocks).

Before the change: stick_grow FAIL (no growth line, 1137649 user blocks,
sfdisk: the backup GPT not at the end); stick_small FAIL (no line);
check_images.sh FAIL on the two BAM checks only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2
This commit is contained in:
Claude
2026-11-08 11:54:53 +00:00
parent 4c38a7b1e6
commit 4e935e4825
9 changed files with 566 additions and 4 deletions
+11 -2
View File
@@ -1314,6 +1314,12 @@ else ifeq ($(ARCH),riscv64)
STICK_PC_IMG := build/boards/pc/lithos-pc.img
STICK_MACHINE ?= q35
STICK_MEM ?= 1024
# STICK_GIB=N -- the copy booted is extended, sparse, to N GiB: a stick larger than the image
# written to it (docs/v4.0.0/STICK.md 5a). STICK_FRESH=0 -- boot the copy the last boot left,
# not a fresh one: a stick's second boot (plan 2026-10-29-stick-5, Task 2).
STICK_GIB ?=
STICK_FRESH ?= 1
STICK_RUN_IMG = $(BUILD_DIR)/stick-run.img
.PHONY: qemu-stick qemu-stick-high
qemu-stick-high:
@$(MAKE) -f kernel/Makefile ARCH=$(ARCH) STICK_MACHINE=pc STICK_MEM=3G qemu-stick
@@ -1322,7 +1328,10 @@ ifneq ($(ARCH),amd64)
@echo "qemu-stick: the stick is the PC's -- ARCH=amd64 (ARM and RISC-V sticks are later, STICK.md 10)"; exit 1
else
@$(MAKE) -f kernel/Makefile ARCH=amd64 BOARD=pc boot_image
@cp --sparse=always $(STICK_PC_IMG) $(BUILD_DIR)/stick-run.img
@if [ "$(STICK_FRESH)" = 1 ] || [ ! -f $(STICK_RUN_IMG) ]; then \
cp --sparse=always $(STICK_PC_IMG) $(STICK_RUN_IMG); \
$(if $(STICK_GIB),truncate -s $(STICK_GIB)G $(STICK_RUN_IMG);) \
fi
@if [ ! -f $(OVMF_CODE) ]; then echo "Error: $(OVMF_CODE) not found"; exit 1; fi
@if [ ! -f $(OVMF_VARS_RO) ]; then echo "Error: $(OVMF_VARS_RO) not found"; exit 1; fi
@cp $(OVMF_VARS_RO) $(BUILD_DIR)/OVMF_VARS-stick.fd
@@ -1347,7 +1356,7 @@ else
-drive if=pflash,format=raw,readonly=on,file=$(OVMF_CODE) \
-drive if=pflash,format=raw,file=$(BUILD_DIR)/OVMF_VARS-stick.fd \
$(XHCI_ARGS_ROOT) \
-drive if=none,id=stickdrv,file=$(BUILD_DIR)/stick-run.img,format=raw \
-drive if=none,id=stickdrv,file=$(STICK_RUN_IMG),format=raw \
-device usb-storage,bus=xhci0.0,port=1,drive=stickdrv,bootindex=0 \
-chardev socket,id=cserial,path=$$SERIAL_SOCK,server=on,wait=off,logfile=$$LOG \
-serial chardev:cserial \