gioser

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 188Rust 55Shell 30Markdown 281211 Definiciones

arranque-grafo: paso 4 (cero-parpadeo) cerrado en el ADR 0010 (pasos 1–5 ✅)

Validado por captura de framebuffer OVMF-GOP: el kernel metal con deferred-
takeover + quiet no toca el framebuffer (Δ=0). Falta sólo el seamless i915 y el
metal real.

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

c7d1d9cf5ce02a136f588fcf75b815261cbac012 · por sergio · (hace 3 meses) · padre 3ac329ec8 · 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 −4

diff --git a/docs/adr/0010-arranque-grafo-mirada.md b/docs/adr/0010-arranque-grafo-mirada.md
index 88fe5a85..18bb582d 100644
--- a/docs/adr/0010-arranque-grafo-mirada.md
+++ b/docs/adr/0010-arranque-grafo-mirada.md
@@ -1,8 +1,8 @@
 # ADR 0010 — Arranque por grafo: el menú de boot como navegación del grafo de estados (mirada + hammer)
 
-**Estado:** aceptado; lado hammer implementado (pasos 1–3, 5 ✅; paso 2 ✅ vía pivote a ext4; paso 4
-—cero-parpadeo— pendiente). Instalador live EFI validado 2-stage en OVMF ✅. Falta metal real y el lado
-mirada. **Fecha:** 2026-07-06 (impl. EFI-stub 2026-07-10).
+**Estado:** aceptado; lado hammer implementado (pasos 1–5 ✅). Instalador live EFI validado 2-stage en
+OVMF ✅; cero-parpadeo validado por captura de framebuffer ✅ (salvo el *seamless* i915, metal-only).
+Falta metal real y el lado mirada. **Fecha:** 2026-07-06 (impl. EFI-stub + cero-parpadeo 2026-07-10).
 **Contexto cruzado:** hammer (arranque/kernel/generaciones) + tawasuyu/mirada (render). El
 espejo de este ADR para el lado mirada vive en `tawasuyu/HANDOFF-arranque-grafo.md`.
 
@@ -117,7 +117,14 @@ muerto antes del takeover).
    (no-op si ya vivo · rollback paso a paso a un ancestro · nodo `recovery` sintético · error honesto
    ante un "redo" hacia una generación huérfana). Validado e2e por el CLI. **mirada ya puede maquetar
    contra el grafo real.**
-4. **Afinar kernel/cmdline** para el handoff sin costura (punto cero-parpadeo).
+4. **Afinar kernel/cmdline para el cero-parpadeo** ✅ (2026-07-10): `linux-metal` con
+   `CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y` + cmdline horneada `quiet loglevel=3
+   vt.global_cursor_default=0` (sin `earlyprintk/ignore_loglevel`) + ttyS0 último (la shell de arje-zero
+   sale por serial, no pinta tty0). **Validado por captura de framebuffer en OVMF-GOP**
+   (`scripts/efi-flicker-test.sh`): el kernel NO toca el FB (Δ media de brillo = 0.000 entre handoff y
+   post-boot; el viejo saltaba ~3→~11) ⇒ el contenido de la firmware sobrevive intacto hasta que mirada
+   abra el DRM. Los harness EFI pasan a marcadores userspace tee'ados a `/dev/ttyS0` (sobreviven `quiet`).
+   El *seamless* i915 (firmware GOP → simplefb → i915 sin re-modeset) sólo se valida en metal Intel real.
 5. **install-to-disk EFI** ✅ (2026-07-10): el bzImage `linux-metal` ES el binario EFI
    (`\EFI\BOOT\BOOTX64.EFI`, ruta fallback removible, sin GRUB ni systemd-boot). Como no hay LoadOptions
    en esa ruta, el `CONFIG_CMDLINE` horneado (`… initrd=/initramfs.cpio.gz rdinit=/init`) activa el