Files
LithosAnanake/tools
rajamesandClaude Opus 5.5 195b7feb07 fix(build): image checks cannot pass on a stale stick; mkartemis refuses bad numbers and reads its format back
Review of the stick's increment 3 (a4221d8b..c416c805), on Captain Bob's word:

- check_images.sh deletes both images before building and makes each build a
  check: a failed build left last run's lithos-pc.img in place, and every stick
  check passed against it.
- mkartemis takes --first-lba and --sectors as plain decimal numbers only:
  "abc", "-2", "2048x" and the like formatted at LBA 0, over the GPT.
- mkartemis --format reopens the image read-only and reads the volume back:
  blk_commit_format ignores its own write errors, so a header that never
  landed was reported formatted. The header is read from the disk and judged
  as attach judges it (magic, version 2, BAM size); blk_get_volume_meta gives
  the in-memory geometry of a blank disk, magic included, so --check no longer
  relies on it either.

check_images.sh keeps each case as a check (40, PASS). stick_boot and datastick
on amd64/aarch64/riscv64 PASS on the rebuilt tools.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 19:02:54 -04:00
..

tools/

Build-time and integration-test utilities for the StarForth / LithosAnanke toolchain.

Contents

File Purpose
mkcapsule.c Assembles .4th capsule files into capsule_generated.c baked into the kernel image. Invoked automatically by kernel/Makefile.
mkcapsule Compiled host binary (rebuilt on demand).
ttftest.c Host TTF glyph-rendering test — font rasterization unit tests, no QEMU needed.
pe_reloc_gen.py Generates PE32+ relocation tables for the UEFI loader.
svg_to_png.py Renders every tracked .svg in the repo to a same-named .png via headless Chromium; leaves the source .svg untouched, run manually.
hermes_smoke.sh Hermes v1 hosted smoke test — swaps in the Hermes init capsule and prints values for manual inspection.
hermes_channel_smoke.sh Exercises the full Hermes channel-negotiation lifecycle (CH-REQUEST → CH-ACCEPT → CH-CLOSE → reap) per the protocol in .claude/HERMES.md.
hermes_tripod_smoke.sh Full Tripod integration test — exercises all 6 inter-VM message paths using the DEFER VM-EXEC/IS VM-EXEC dispatcher shim from init.4th.
kconfig/ Vendored Linux kernel Kconfig tooling (conf/mconf/qconf), GPL-2.0. See tools/kconfig/README.md.

mkcapsule

# Invoked automatically by the kernel build:
make -f kernel/Makefile ARCH=amd64 clean qemu

# Manual invocation (for inspection):
./tools/mkcapsule capsules/ build/amd64/kernel/capsule_generated.c

Scans capsules/ for .4th files, computes XXHash64 per capsule, assigns type (m) to init.4th and (p) to everything else.

See also