picblobs Guide
Position-independent code blobs for multiple OS/arch targets — how to build, run, extend, and ship them.
Specification
How this concept works
User Guide
01
Getting started
Prerequisites, the quick-start loop, the dev container.
02
Building
Bazel 9, platform configs, debug vs. release, staging.
03
Running blobs
Running a blob under QEMU and the test runners.
04
picblobs-cli
list, info, extract, run, verify, listing, test.
05
Testing
pytest layout, filters, and the testall sweep.
Development
01
Writing a blob
Freestanding C, linker conventions, the syscall layer.
02
Code generation
What tools/generate.py emits and when to re-run it.
03
Adding an architecture
Plumbing a new arch into the registry and toolchains.
04
Adding a syscall
Wiring a new syscall through registry and headers.
05
Formatting and linting
ruff for Python, clang-format for C, the CI checks.
Reference
01
Platform support
Supported OS/arch pairs and their traits.
02
Test runners
Linux, FreeBSD, and Windows runner architectures.
03
Project structure
Where everything lives in the tree.
04
Kernel toolkit
Red-team lab kernel exercise components.
05
Specification
Pointers into the spec/ requirements tree.