kernel-from-source: bzImage BOOTEA + iterar config (fanotify, overlay subfeatures)

Hito: el kernel hammer-built 6.16.12 BOOTEA la VM del selfhost-verify:
console ttyS0, arje-zero (PID1) levanta, hammerd corre, y la red e1000 vendorea
los crates OK (cargo vendor completo). El compile in-VM falla sólo en el sandbox
bwrap: "pivot_root: Invalid argument" (--tmp-overlay /) ⇒ DRIVER_RC=1.

Iteración de config (vs el kernel Arch/Artix que sí corre bwrap):
- +FANOTIFY +FANOTIFY_ACCESS_PERMISSIONS: hammerd lo usa para el watcher del
  diario (sin él: WARN ENOSYS, no fatal — pero ahora queda funcional).
- +OVERLAY_FS_{REDIRECT_DIR,INDEX,XINO_AUTO,METACOPY}: el defconfig los deja off,
  el working los tiene =y; hipótesis para el pivot_root del overlay en userns.

Estado: el kernel compila+bootea+inicia+red; falta el pivot del sandbox.
Pendiente tras esto: optimizar config (defconfig es grande, build ~35min).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-19 09:02:07 -04:00
co-authored by Claude Opus 4.8
parent f108cc626d
commit 071d7d55b2
+10 -2
View File
@@ -23,7 +23,13 @@
# #incluye openssl. Por eso libelf + openssl se proveen como BOOTSTRAP-LIBS apk en bootstrap-devfs.sh
# (status g++/zlib-dev; SEGUROS para el of_tree: hammerd no usa openssl, arje-zero va preseeded).
# deps.build=[flex,bison,m4] son hammer-built; libelf/openssl quedan de-Alpinizables luego con
# recipes/{elfutils,openssl}.toml. [WIP: iterando la config hasta que el bzImage bootee el builder.]
# recipes/{elfutils,openssl}.toml.
# - FANOTIFY + OVERLAY_FS_{REDIRECT_DIR,INDEX,XINO_AUTO,METACOPY}: el defconfig los deja off; el
# kernel que booteaba (Arch/Artix) los tiene =y. FANOTIFY: hammerd lo usa para el watcher del
# diario (sin él: WARN ENOSYS, no fatal). Los overlay sub-features: hipótesis para el bwrap del
# sandbox (`--tmp-overlay /` falló con "pivot_root: Invalid argument" en el 1er boot).
# [WIP 2026-06-19: el bzImage BOOTEA (console ttyS0, arje-zero PID1, hammerd, red e1000 vendorea OK);
# falta que el sandbox bwrap pivote — iterando config. Build ~35min (defconfig grande, a optimizar).]
name = "linux"
version = "6.16.12"
@@ -48,7 +54,9 @@ make ARCH=x86_64 defconfig && \
scripts/config -d MODULE_SIG -d MODULE_SIG_ALL -d DEBUG_INFO_BTF -d DEBUG_INFO \
-d UNWINDER_ORC -e UNWINDER_FRAME_POINTER \
-e BLK_DEV_INITRD -e DEVTMPFS -e DEVTMPFS_MOUNT -e TMPFS \
-e E1000 -e OVERLAY_FS -e USER_NS -e NAMESPACES && \
-e E1000 -e OVERLAY_FS -e USER_NS -e NAMESPACES \
-e FANOTIFY -e FANOTIFY_ACCESS_PERMISSIONS \
-e OVERLAY_FS_REDIRECT_DIR -e OVERLAY_FS_INDEX -e OVERLAY_FS_XINO_AUTO -e OVERLAY_FS_METACOPY && \
make ARCH=x86_64 olddefconfig
"""
compile = "make ARCH=x86_64 CC=gcc HOSTCC=gcc -j\"$(nproc)\" bzImage"