vendor/seed
Bootstrap seeds and stage0-posix sources, vendored from
live-bootstrap
(seed/stage0-posix/).
Per arch (aarch64, amd64, riscv64, riscv32):
| file | upstream path |
|---|---|
hex0-seed |
bootstrap-seeds/POSIX/<A>/hex0-seed |
hex0.hex0 |
<A>/hex0_<A>.hex0 |
hex1.hex0 |
<A>/hex1_<A>.hex0 |
hex2.hex1 |
<A>/hex2_<A>.hex1 |
catm.hex2 |
<A>/catm_<A>.hex2 (locally produced for aarch64, see note) |
M0.hex2 |
<A>/M0_<A>.hex2 |
ELF.hex2 |
<A>/ELF-<arch>.hex2 |
<A> is the upstream directory: AArch64, AMD64, riscv64, or
riscv32.
aarch64/catm.hex2 is locally produced — upstream ships AArch64's catm only
as .hex1, not .hex2, so the chain in scripts/bootstrap.sh (which feeds
catm.hex2 into hex2-0) needs the .hex2 form. The other three arches use
the upstream .hex2 directly.
The RV32 files were copied from live-bootstrap commit
9a268c4c39cae952b268bc86da342be2175f03d4 under
seed/stage0-posix/{bootstrap-seeds/POSIX/riscv32,riscv32}. The six seed and
assembler files are byte-identical to that tree. riscv32/ELF.hex2 has one
local, auditable change: its ELF32 PT_LOAD.p_memsz is fixed at 512 MiB
instead of equalling p_filesz, because boot2 programs place large static
BSS arenas after ELF_end. The load base and file bytes are unchanged.
License: GPL-3.0-or-later, see LICENSE.