# 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 `Makefile.starkernel`. | | `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 ```bash # Invoked automatically by the kernel build: make -f Makefile.starkernel 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 - [`capsules/README.md`](../capsules/README.md) — capsule file format and block namespace - [`Makefile.starkernel`](../Makefile.starkernel) — kernel build system - [Project root](../README.md)