fix: correct ESP size docs (64MB->32MB) and document boot modes

The build produces a 32MB ESP (mkfs.vfat 32MB, sed patches
partition->len to 65536) but the README and INTERFACES.sh still
claimed 64MB. The mismatch came from the early 64MB->32MB commit
chain that updated code but not docs.

Fixed:
- README.md partition table: 64 MB -> 32 MB
- INTERFACES.sh line 33: 64MB -> 32MB
- INTERFACES.sh line 189 comment: 64MB->32MB and 32MB/64MB

Also added a 'Boot modes (current)' section to README explaining:
- Direct (chain) and Memdisk modes are available in the deployed binary
- The 'hiso_hv_mode' hypervisor trigger is in in-tree rebrand sources
  (src/grub2/) that are not yet compiled - the supporting payloads
  (initramfs, OVMF, QEMU) are built and in the ESP, only the GRUB
  module rebrand is pending.

Cleaned up:
- Removed empty root-level installer/ directory (src/installer/
  is the canonical source, copied to build/payload/ at build time)
- Removed empty host/qemu/ directory
- Deleted stale .o build artifacts from logging/hiperiso-log/
This commit is contained in:
2026-07-02 10:28:58 +03:00
parent e79a11bddc
commit 159dd0c1d1
2 changed files with 23 additions and 4 deletions
+3 -3
View File
@@ -30,7 +30,7 @@ HIPERISO_NET_DUMP="" # "1" = add virtio-net + pcap capture to network.pca
# ── USB Partition Layout ───────────────────────────────────────────────────── # ── USB Partition Layout ─────────────────────────────────────────────────────
DATA_PART="/dev/sdX1" # Partition 1: Data partition (exFAT/NTFS, rest of disk) DATA_PART="/dev/sdX1" # Partition 1: Data partition (exFAT/NTFS, rest of disk)
EFI_PART="/dev/sdX2" # Partition 2: EFI System Partition (FAT16, 64MB) EFI_PART="/dev/sdX2" # Partition 2: EFI System Partition (FAT16, 32MB)
EFI_MOUNT="/mnt/efi" # Mount point for ESP during install EFI_MOUNT="/mnt/efi" # Mount point for ESP during install
DATA_MOUNT="/mnt/usb" # Mount point for data partition at runtime DATA_MOUNT="/mnt/usb" # Mount point for data partition at runtime
@@ -186,8 +186,8 @@ HIPERISO_JSON="${DATA_MOUNT}/hiperiso/hiperiso.json"
# The label and file are produced by scripts/package_release.sh. # The label and file are produced by scripts/package_release.sh.
# #
# Modsrc patches: scripts/build_grub2_204.sh applies a single sed # Modsrc patches: scripts/build_grub2_204.sh applies a single sed
# pass to the unpacked modsrc tree to (1) accept a 64MB ESP (modsrc # pass to the unpacked modsrc tree to (1) accept a 32MB ESP (modsrc
# hardcodes 32MB / 65536 sectors) and (2) tolerate the missing 0x22 # hardcodes 64MB / 131072 sectors) and (2) tolerate the missing 0x22
# GPT-MBR marker byte. (The 0x22 marker is written by the installer # GPT-MBR marker byte. (The 0x22 marker is written by the installer
# in HiperisoWorker.sh — not by the build.) Anything beyond these # in HiperisoWorker.sh — not by the build.) Anything beyond these
# patches is upstream Ventoy territory; do not modify modsrc without # patches is upstream Ventoy territory; do not modify modsrc without
+20 -1
View File
@@ -117,7 +117,7 @@ layout is:
| # | Type | FS | Size | Contents | | # | Type | FS | Size | Contents |
|---|--------|--------|--------|--------------------------------------------| |---|--------|--------|--------|--------------------------------------------|
| 1 | 0700 | exFAT | rest | Your ISOs + boot logs + config | | 1 | 0700 | exFAT | rest | Your ISOs + boot logs + config |
| 2 | EF00 | FAT16 | 64 MB | ESP: GRUB2, kernel, initramfs, OVMF | | 2 | EF00 | FAT16 | 32 MB | ESP: GRUB2, kernel, initramfs, OVMF |
Copy your ISOs: Copy your ISOs:
@@ -144,6 +144,25 @@ sudo bash Hiperiso2Disk.sh -i -L MYUSB /dev/sdX # custom data-partition label
4. The ISO's OS boots **unmodified** inside the VM. 4. The ISO's OS boots **unmodified** inside the VM.
5. On guest shutdown, logs are flushed to the data partition. 5. On guest shutdown, logs are flushed to the data partition.
### Boot modes (current)
The deployed binary supports two boot modes 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. |
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.
### View boot logs ### View boot logs
Every boot gets its own timestamped session directory so logs are never Every boot gets its own timestamped session directory so logs are never