Skip to content

Ventoy Compatible ISO

Ventoy is a (GPL-3.0-or-later) multiboot tool that uses GRUB to boot ISO files. Unlike others I've seen, Ventoy chainloads the ISO's boot loader instead of booting the OS directly.

For reading the docs, I gather that.

  1. Ventoy stores the location (disk, partition, file path) of the ISO as Ventoy Information Format.
  2. The Ventoy Information Format gets saved in /dev/mem 0x80000~0xA0000 or /sys/firmware/efi/efivars/VentoyOsParam-77772020-2e77-6576-6e74-6f792e6e6574
  3. The ISO is mapped with dmsetup from some magic initramfs.
  4. The OS that boots sees the ISO as a regular device-mapper device and proceeds booting as usual.

In a "Ventoy Compatible" ISO, the 3rd step is performed by the OS that gets booted.

To make Archiso "Ventoy Compatible", we need to:

  • Read and parse the "Ventoy Information Format" in initramfs (for the efivar, the first 4 bytes need to be stripped). Ventoy uses vtoydump, but maybe we can manage with ash and the utilities we currently have in the initramfs.
  • Map or mount the ISO in initramfs.
  • Mark the ISO as Ventoy Compatible by placing a ventoy.dat file in the ISO (probably is both the ISO and FAT file systems).
Edited by nl6720
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information