Repository navigation
v0.26.0
A kernel, and the binary that was never told
Tier 7 asked for no kernel by making the program into the machine. Tier 8 is
the other way round: the program is left exactly as it is emitted for a
machine running Linux, the same octets --emit-elf writes and the same file
this release carries, and underneath it goes the least thing that can be said
to be underneath it.
Five hundred and fifty octets. What such a program asks the world for is two
numbers through one instruction, and where its segments go, and that its
memory start out zero, so what has to exist is four writes to model-specific
registers, a loop over the program headers, and the routine that turns octets
into light. No scheduler, no interrupt, no descriptor table of its own, no
memory it manages, no filesystem to read the program out of.
The claim is checked rather than described. The executable is read back off
the disk and has to equal the one published beside it - here, in the suite,
which now cross-checks nine tiers, and in the job that boots the disk and
diffs what leaves the serial port.
The sector in front grew a loop: it mapped two megaoctets, and an executable
that says it goes at four wants more.
The program runs in ring zero for now. That is where its one instruction is
legal and the interface is the real one, but it is not where a program
belongs, and the boundary a kernel exists to draw is not drawn yet.
Full Changelog: v0.25.0...v0.26.0
LOC: 15538