kernel-from-source: de-Alpinizar flex/bison (recetas reales, no eclipsadas)
flex/bison estaban en el devfs base (apk) Y como recipes/{flex,bison}.toml en
deps.build del kernel — pero las capas de deps van BAJO el rootfs, así que el
Alpine flex/bison eclipsaba a los hammer y las recetas eran decorativas. Quito
flex/bison del devfs/bootstrap-devfs.sh; ahora el kernel los toma de deps.build
(hammer). Validado: rebuild en store fresco → kconfig compila con flex/bison
hammer (lexer.lex.o/parser.tab.o), HAMMER_KERNEL=1 verify → ✓ REPRODUCIBLE.
(El bzImage difiere en 1 byte del Alpine-flex/bison build: el timestamp embebido
UTS_VERSION, no flex/bison; el kernel no es input del of_tree del 4/4.)
m4 (que bison invoca) se deja en el base como tool autotools general. Con esto
los build-deps ESPECIALIZADOS del kernel (flex/bison/openssl/elfutils) son todos
hammer-from-source; sólo quedan las libs base/runtime (m4, libz/libzstd de libelf,
gcc) como capa de arranque, igual status que libc.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -130,8 +130,9 @@ else
|
||||
# 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.)
|
||||
# `flex bison`: build-deps del kernel (lexer/parser de kconfig). También hay recipes/{flex,bison}.toml
|
||||
# hammer-built; aquí en el devfs base son el arranque (frente kernel-from-source).
|
||||
# NOTA: `flex bison` YA NO van aquí — de-Alpinizados a recipes/{flex,bison}.toml (deps.build del
|
||||
# kernel). Sólo el kernel los usa (kconfig); el overlay de deps los provee. (m4, que bison invoca en
|
||||
# runtime, sigue en el base como tool autotools general.)
|
||||
# NOTA: `elfutils-dev` YA NO va aquí — de-Alpinizado a recipes/elfutils.toml (sólo libelf, con shims
|
||||
# musl argp/error/libintl/fts/obstack/rawmemchr), deps.build del kernel. objtool enlaza el libelf
|
||||
# hammer desde la capa overlay. (El runtime libelf.so.1 de Alpine, si algún otro tool lo necesita,
|
||||
@@ -139,7 +140,7 @@ else
|
||||
# NOTA: `openssl-dev` YA NO va aquí — de-Alpinizado a recipes/openssl.toml (libcrypto estática,
|
||||
# deps.build del kernel). El host-tool certs/extract-cert lo enlaza desde la capa overlay hammer.
|
||||
# El runtime libcrypto3/libssl3 (que curl/git necesitan) lo trae Alpine aparte, no es openssl-dev.
|
||||
NEEDED="make autoconf automake m4 patch coreutils libtool pkgconf bash binutils g++ zlib-dev flex bison rust cargo linux-headers bubblewrap git curl kmod"
|
||||
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