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>
Delta semántico
Ninguna definición cambió: el cambio es de texto, documentación o datos.
1 archivos · +10 −2
- recipes/linux.toml +10 −2
diff --git a/recipes/linux.toml b/recipes/linux.toml
index f1ae647b..962d4975 100644
--- a/recipes/linux.toml
+++ b/recipes/linux.toml
@@ -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"