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.
- Ventoy stores the location (disk, partition, file path) of the ISO as Ventoy Information Format.
- The Ventoy Information Format gets saved in
/dev/mem
0x80000~0xA0000
or/sys/firmware/efi/efivars/VentoyOsParam-77772020-2e77-6576-6e74-6f792e6e6574
- The ISO is mapped with dmsetup from some magic initramfs.
- 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