diff --git a/README.md b/README.md index 58c72cb..b40858e 100644 --- a/README.md +++ b/README.md @@ -146,22 +146,19 @@ sudo bash Hiperiso2Disk.sh -i -L MYUSB /dev/sdX # custom data-partition label ### Boot modes (current) -The deployed binary supports two boot modes selectable from the GRUB menu: +The deployed binary supports the **hypervisor mode (default)**, plus +two fallbacks selectable from the GRUB menu: | Mode | How to select | Behavior | |------|---------------|----------| -| **Direct (chain)** | Default menu entry | Boots ISO via Ventoy-style chain (small ISO read into RAM, KVM/QEMU launched by the host kernel). | -| **Memdisk** | Default fallback when chain fails | Loads the entire ISO into RAM, then boots via `memdisk`. Confirmed working. | +| **Hypervisor (default)** | Any ISO from the menu | Boots `vmlinuz` (host kernel with KVM built-in) + `initramfs.cpio.gz` from the ESP. The initramfs mounts the USB data partition, detects `/dev/kvm`, and launches QEMU with the selected ISO as a CD-ROM. Full serial/PCI/port I/O tracing and session logging to the data partition. | +| **Direct (chain)** | Auto-fallback if hypervisor initramfs is missing | Boots ISO via Ventoy-style chain (`hiperiso_x64.efi` loads the ISO in memory, no host kernel). | +| **Memdisk** | Auto-fallback if chain fails | Loads the entire ISO into RAM, then boots via `memdisk`. Confirmed working. | -The `hiso_hv_mode=1` "hypervisor" trigger (the killer feature that boots -ISOs through a Type-1 hypervisor path with full bootlogging) is defined -in `src/grub2/hiperiso_cmd.c` and `hiperiso_boot()` in `grub.cfg`, but -those code paths are in the in-tree rebrand source that is **not -currently compiled** — we build the GRUB module from the vendored Ventoy -modsrc, which doesn't have them. The initramfs + host kernel + QEMU + -OVMF payloads are built and in the ESP (see `build/payload/EFI/hiperiso/`), -so the infrastructure is ready. The remaining work is completing the -rebrand of the GRUB module to expose the hypervisor menu entry. +The hypervisor mode is auto-activated when the ESP contains both +`EFI/hiperiso/vmlinuz` and `EFI/hiperiso/initramfs.cpio.gz` (always +true after `scripts/build_all.sh`). To disable, write a sentinel file +`/hiperiso/no_hv_mode` on the data partition. ### View boot logs