feat(renaser): Fase 7b — boot siembra la imagen, muere el include_bytes!

El kernel deja de empotrar el userspace por completo. Ya no carga ni un
solo .wasm: es boot quien siembra el disco con el grafo poblado.

- kernel/almacen.rs y manifiesto.rs migran al nucleo compartido `formato`
  (tipos, postcard, BLAKE3, trazado de registros). El kernel pierde los
  include_bytes!, genesis() y sembrar_genesis().
- boot::sembrar_grafo siembra un disco virgen con el bytecode de las apps
  (deduplicado) y el Manifiesto de Genesis anclado en el superbloque.
- cargar_userspace sin rama de siembra; wasm/mod.rs sin TECHO_MEMORIA.
- alias `cargo kernel` -> --manifest-path (esquiva un ICE de cargo con
  formato compartido entre el kernel y boot via artifact-dep).

Verificado en QEMU (screendump): disco virgen -> boot siembra 5 objetos,
el kernel monta su grafo; segundo arranque -> boot respeta el disco, la
cronista persiste. formato: 5/5 pruebas.

Nota: el crate `formato` y los 3 Cargo.toml entraron antes en 43e6b32 por
un `git add -A` de un trabajo concurrente; este commit cierra el resto.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
sergio
2026-05-22 18:29:23 +00:00
parent 43e6b32e15
commit 7695dbf3ce
13 changed files with 415 additions and 342 deletions
+11 -3
View File
@@ -96,6 +96,7 @@ name = "boot"
version = "0.1.0"
dependencies = [
"bootloader",
"formato",
"kernel",
]
@@ -328,6 +329,15 @@ dependencies = [
"ttf-parser",
]
[[package]]
name = "formato"
version = "0.1.0"
dependencies = [
"blake3",
"postcard",
"serde",
]
[[package]]
name = "funty"
version = "2.0.0"
@@ -446,16 +456,14 @@ dependencies = [
name = "kernel"
version = "0.1.0"
dependencies = [
"blake3",
"bootloader_api",
"crossbeam-queue",
"embedded-graphics",
"fontdue",
"formato",
"futures-util",
"linked_list_allocator",
"mirada-layout",
"postcard",
"serde",
"spin",
"virtio-drivers",
"wasmi",