tawasuyu

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 1574Shell 204Rust 111Markdown 993763 Definiciones

linux-metal: cero-parpadeo — deferred-takeover + cmdline quiet (ADR 0010 paso 4)

CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y (fbcon no toca el framebuffer
hasta el primer output ⇒ pantalla negra desde la firmware hasta que mirada abre
el DRM). Cmdline horneada: quiet loglevel=3 vt.global_cursor_default=0, sin el
earlyprintk=efi,keep ignore_loglevel de bringup (forzaban salida y rompían el
deferred-takeover). Orden de consola: ttyS0 ÚLTIMO ⇒ /dev/console=serie ⇒ la
shell de arje-zero sale por serial, no pinta tty0 (pantalla). CONFIG_LOGO ya off.

Fix diagnosticado por captura de framebuffer en OVMF-GOP. Rebuild en curso.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

548f30b3ef62a324ac97cdfb5fc0b2913e98672d · por sergio · (hace 3 meses) · padre e80f15b6b · ver el árbol en este commit

Delta semántico

Ninguna definición cambió: el cambio es de texto, documentación o datos.

1 archivos · +11 −1

diff --git a/recipes/linux-metal.toml b/recipes/linux-metal.toml
index 256089bb..23ac96c0 100644
--- a/recipes/linux-metal.toml
+++ b/recipes/linux-metal.toml
@@ -24,6 +24,15 @@
 #                va horneado: console=tty0 (pantalla) + initrd=/initramfs.cpio.gz (el EFI-stub lo carga de
 #                la ESP; file.c convierte '/'→'\'). En boot BIOS, GRUB provee su propio cmdline (se
 #                antepone el embebido, inocuo) y su propio initrd ⇒ ambas ramas conviven.
+#   - Cero-parpadeo (ADR 0010 paso 4): FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y (fbcon NO toca el
+#                framebuffer hasta el primer output ⇒ pantalla negra desde la firmware hasta que mirada
+#                abre el DRM master) + cmdline `quiet loglevel=3 vt.global_cursor_default=0` (sin texto de
+#                boot ni cursor). Se quitó el `earlyprintk=efi,keep ignore_loglevel` de bringup (forzaba
+#                salida sobre el FB gráfico, rompía el deferred-takeover). CONFIG_LOGO ya estaba off.
+#                ORDEN DE CONSOLA: ttyS0 va ÚLTIMO ⇒ /dev/console = serie ⇒ la shell/getty de arje-zero
+#                sale por el serial, NO por tty0 (pantalla) — si tty0 fuera /dev/console, arje pintaría el
+#                prompt sobre el FB gráfico y rompería el cero-parpadeo. tty0 queda registrado pero mudo.
+#                Diagnosticado por captura de framebuffer en OVMF-GOP (2026-07-10).
 #
 # Conserva TODO lo que hammer necesita (de linux.toml): E1000/OVERLAY_FS(+subfeatures)/USER_NS/
 # NAMESPACES/FANOTIFY/VIRTIO* ⇒ esta misma imagen sigue booteando en QEMU (para poder testear el boot
@@ -69,6 +78,7 @@ scripts/config -d MODULE_SIG -d MODULE_SIG_ALL -d DEBUG_INFO_BTF -d DEBUG_INFO -
   -e DRM -e DRM_SIMPLEDRM -e SYSFB_SIMPLEFB -e FB -e FB_EFI \
   -e DRM_I915 -e DRM_FBDEV_EMULATION \
   -e FRAMEBUFFER_CONSOLE -e FRAMEBUFFER_CONSOLE_DETECT_PRIMARY \
+  -e FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER \
   -e EFI -e EFI_STUB -e EFI_PARTITION -e EFIVAR_FS -e CMDLINE_BOOL \
   -e VFAT_FS -e FAT_FS -e MSDOS_FS -e NLS_CODEPAGE_437 -e NLS_ISO8859_1 -e NLS_UTF8 \
   -e ISO9660_FS -e JOLIET \
@@ -81,7 +91,7 @@ scripts/config -d MODULE_SIG -d MODULE_SIG_ALL -d DEBUG_INFO_BTF -d DEBUG_INFO -
   -d SOUND -d SND -d MEDIA_SUPPORT -d INFINIBAND -d BT -d NFC -d CAN \
   -d WATCHDOG -d THUNDERBOLT -d FIREWIRE -d DEBUG_WX \
   -d XFS_FS -d BTRFS_FS -d F2FS_FS -d JFS_FS -d REISERFS_FS -d GFS2_FS -d NTFS3_FS && \
-scripts/config --set-str CMDLINE "console=ttyS0,115200 console=tty0 earlyprintk=efi,keep ignore_loglevel efi=novamap initrd=/initramfs.cpio.gz rdinit=/init" && \
+scripts/config --set-str CMDLINE "console=tty0 console=ttyS0,115200 quiet loglevel=3 vt.global_cursor_default=0 efi=novamap initrd=/initramfs.cpio.gz rdinit=/init" && \
 make ARCH=x86_64 olddefconfig
 """
 compile = "make ARCH=x86_64 CC=gcc HOSTCC=gcc -j\"$(nproc)\" bzImage"