From 5a18059b995415fc65451c25da4719e8e493dc9e Mon Sep 17 00:00:00 2001 From: sergio Date: Sun, 14 Jun 2026 09:02:39 -0400 Subject: [PATCH] =?UTF-8?q?selfhost-verify:=20arranque=20del=20frente=20ru?= =?UTF-8?q?st=20(variante=20b)=20=E2=80=94=20g++=20en=20el=20devfs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- .gitignore | 3 +++ scripts/bootstrap-devfs.sh | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) 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.