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>
Semántico sayk'uy
Mana ima sutichaypas t'ikrakurqanchu: qillqalla, yachachiylla utaq willaylla t'ikrakurqan.
2 qillqakuna · +9 −1
- .gitignore +3 −0
- scripts/bootstrap-devfs.sh +6 −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.