gioser

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

selfhost-verify: arranque del frente rust (variante b) — g++ en el devfs

Inicia la última pieza del toolchain hammer-from-source: reemplazar el
rustc/cargo de Alpine por una cadena purista vía mrustc (mrustc → rustc
1.90.0 → 1.91.1, sólo 2 saltos). mrustc es C++14 y DEBE compilarse con g++
(clang/zig rompen sus macros tagged_union, ver mrustc issue #388) y enlaza
-lz; el toolchain traía libstdc++ runtime pero no cc1plus/headers ni
zlib-dev. Se añaden `g++` y `zlib-dev` a la lista NEEDED del devfs como
herramientas de arranque (mismo status que make/zig/gcc — el veto purista
es sobre un *rustc* prebuilt, no sobre un compilador C++; zlib-dev quedará
reemplazado por recipes/zlib.toml al avanzar el frente).

.gitignore: ignora .scratch/ (clone de mrustc + fuentes de rustc, multi-GB).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

5a18059b995415fc65451c25da4719e8e493dc9e · por sergio · (hace 4 meses) · padre 6c8a30799 · ver el árbol en este commit

Delta semántico

Ninguna definición cambió: el cambio es de texto, documentación o datos.

2 archivos · +9 −1

diff --git a/.gitignore b/.gitignore
index 2ea8bf64..791f529f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -20,3 +20,6 @@ Conversación co.txt
 
 # python
 __pycache__/
+
+# Scratch para bootstrap del frente rust (mrustc clone + fuentes rustc, multi-GB)
+.scratch/
diff --git a/scripts/bootstrap-devfs.sh b/scripts/bootstrap-devfs.sh
index 395f32dc..1085db51 100755
--- a/scripts/bootstrap-devfs.sh
+++ b/scripts/bootstrap-devfs.sh
@@ -125,7 +125,12 @@ else
     # CONFIG_OVERLAY_FS=m) y el initramfs arranca sin módulos cargados, así que el builder debe poder
     # cargarlo. El `overlay.ko` en sí es específico del kernel destino (no de Alpine): se inyecta
     # aparte en el builder (ver docs/runbooks/stage1-vm-boot.md §8c).
-    NEEDED="make autoconf automake m4 patch coreutils libtool pkgconf bash binutils rust cargo linux-headers bubblewrap git curl kmod"
+    # `g++ zlib-dev`: bootstrap del frente rust variante (b) — mrustc es C++14 y DEBE compilarse con
+    # g++ (clang/zig rompen sus macros `tagged_union`, ver mrustc issue #388) y enlaza `-lz`. El
+    # toolchain traía libstdc++ runtime pero no cc1plus/headers ni zlib-dev. Son compiladores/libs de
+    # arranque (mismo status que make/zig/gcc); el veto purista es sobre un *rustc* prebuilt, no sobre
+    # un compilador C++. (zlib-dev quedará reemplazado por recipes/zlib.toml cuando el frente avance.)
+    NEEDED="make autoconf automake m4 patch coreutils libtool pkgconf bash binutils g++ zlib-dev rust cargo linux-headers bubblewrap git curl kmod"
     missing=""
     for pkg in $NEEDED; do
         # apk info -e devuelve el paquete si está instalado, vacío si no.