kernel-from-source: resolver build-deps (libelf+openssl) + refinar config

Avance del frente kernel: el build pasó objtool y certs.
- bootstrap-devfs.sh: +flex +bison +elfutils-dev +openssl-dev al NEEDED.
  * elfutils-dev (libelf/gelf.h): objtool lo exige — en x86_64 las mitigaciones
    seleccionan CONFIG_OBJTOOL aunque se use frame-pointer unwinder.
  * openssl-dev: el host-tool certs/extract-cert lo #incluye — el defconfig
    fuerza CONFIG_SYSTEM_DATA_VERIFICATION=y vía KEYS←NFS/integrity/dns_resolver
    (no apagable sin desarmar media config).
  Ambas son build-libs de arranque (status g++/zlib-dev), SEGURAS para el of_tree
  del self-host: hammerd no usa openssl (Cargo.lock limpio) y arje-zero va
  preseeded/cacheado (no se reconstruye). De-Alpinizables luego con
  recipes/{elfutils,openssl}.toml.
- linux.toml: quité los -d de keyring que no pegan (olddefconfig/syncconfig los
  revierten por el select-chain); openssl resuelve extract-cert. Comentario
  actualizado con el diagnóstico.

Estado: build compila el kernel completo (objtool+certs OK); defconfig es grande
(GPU/wireless), pendiente el bzImage + boot-test + optimización de config.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-19 08:19:47 -04:00
co-authored by Claude Opus 4.8
parent 630cc3185d
commit f108cc626d
2 changed files with 21 additions and 8 deletions
+12 -1
View File
@@ -130,7 +130,18 @@ 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.)
NEEDED="make autoconf automake m4 patch coreutils libtool pkgconf bash binutils g++ zlib-dev rust cargo linux-headers bubblewrap git curl kmod"
# `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).
# `elfutils-dev`: aporta libelf + gelf.h, que `tools/objtool` del kernel necesita (en x86_64 las
# mitigaciones seleccionan CONFIG_OBJTOOL aunque se use frame-pointer unwinder). Build-tool de
# arranque (mismo status que g++/zlib-dev; no se enlaza en nada enviado, no afecta of_tree del 4/4);
# quedará reemplazado por recipes/elfutils.toml (libelf desde fuente) cuando el frente kernel avance.
# `openssl-dev`: el host-tool `certs/extract-cert` del kernel lo `#include`a — se construye siempre
# que CONFIG_SYSTEM_DATA_VERIFICATION=y, que el defconfig fuerza vía la cadena KEYS←NFS/integrity/
# dns_resolver (no desactivable sin desarmar media config). Build-tool de arranque; SEGURO para el
# of_tree del self-host: hammerd no depende de openssl (Cargo.lock limpio) y arje-zero va preseeded
# /cacheado en el verify (no se reconstruye, su of_tree está fijo). De-Alpinizable luego si se quiere.
NEEDED="make autoconf automake m4 patch coreutils libtool pkgconf bash binutils g++ zlib-dev flex bison elfutils-dev openssl-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.