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>
This commit is contained in:
@@ -20,3 +20,6 @@ Conversación co.txt
|
||||
|
||||
# python
|
||||
__pycache__/
|
||||
|
||||
# Scratch para bootstrap del frente rust (mrustc clone + fuentes rustc, multi-GB)
|
||||
.scratch/
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user