Thesis
Everything so far runs under QEMU's sheltered -kernel loader. Boot the same kernel from a USB stick on a real BIOS/CSM laptop: GRUB handoff, real memory map, real i8042 keyboard, no serial port anywhere.
Scope
make iso: hybrid BIOS+UEFI ISO via grub-mkrescue; kernel + initrd as multiboot modules; grub.cfg entries for text/graphical/quiet/qseed variants.
- QEMU
-cdrom CI gate: the GRUB path (not -kernel) boots to the same integration gates — catches memory-map and handoff assumptions QEMU's loader hides.
- Console without serial: kernel log + qsh on VGA text (and/or framebuffer) when serial is absent; i8042 PS/2 keyboard driver (IRQ1, scancode set 1) so qsh is interactive on the laptop keyboard (USB keyboards ride BIOS legacy emulation in CSM mode).
- Graceful absence: ATA/rtl8139 probe politely and report missing instead of hanging.
- The moment: flash USB (Rufus/dd), boot the laptop, wave field on a physical screen, qsh under real fingers. Photo in the README.
Gates
- CI:
-cdrom boot reaches the full integration gate set (same as -kernel).
- CI: boot with
-serial none + PS/2 input script (QEMU sendkey) still drives qsh to a citizen gate — proves the no-serial laptop path in emulation before touching hardware.
🤖 Generated with Claude Code
Thesis
Everything so far runs under QEMU's sheltered
-kernelloader. Boot the same kernel from a USB stick on a real BIOS/CSM laptop: GRUB handoff, real memory map, real i8042 keyboard, no serial port anywhere.Scope
make iso: hybrid BIOS+UEFI ISO via grub-mkrescue; kernel + initrd as multiboot modules; grub.cfg entries for text/graphical/quiet/qseed variants.-cdromCI gate: the GRUB path (not-kernel) boots to the same integration gates — catches memory-map and handoff assumptions QEMU's loader hides.Gates
-cdromboot reaches the full integration gate set (same as-kernel).-serial none+ PS/2 input script (QEMU sendkey) still drives qsh to a citizen gate — proves the no-serial laptop path in emulation before touching hardware.🤖 Generated with Claude Code