@@ -131,24 +131,28 @@ boot flow. It is invoked from the "USB ISO Boot" option in the main menu.
131131
1321321 . ** Signature verification** : Check for ` .sig ` or ` .asc ` detached signature
1331332 . ** Mount ISO** : Mount the ISO file as loopback device at ` /boot `
134- 3 . ** Layer 1 — initramfs fs compatibility check** (` check_initrd_fs_compat ` ):
135- Before presenting boot options, verify the ISO's initramfs contains kernel
136- modules for the USB partition's filesystem (ext4/vfat/exfat). If the initrd
137- can't read the USB filesystem, the kernel won't find the ISO after kexec.
138- - Parsing boot configs for initrd paths (instead of searching the whole ISO)
139- - Unpacking each initrd and checking for required ` .ko ` files and
140- ` modules.builtin `
141- - Each initrd gets its own independent ` [OK] ` / ` [!] ` / (blank) marker in
142- ` /tmp/kexec_initrd_compat.txt ` (the per-initrd flag ` initrd_supports_fs ` is tracked
143- separately from the global ` any_supported ` flag, so no initrd is silently
144- skipped)
145- - ` [OK] ` = initrd has the needed module as ` .ko ` , has it in
146- ` modules.builtin ` , or has no ` .ko ` files at all (minimal initrd with
147- everything built into the kernel — nothing to check against).
148- - ` [!] ` = initrd has loadable kernel modules but none for the USB
149- filesystem type. No built-in assumption — we report what we find.
150- - Read-only filesystems (iso9660/squashfs/udf) and unmapped fstypes skip
151- - All initrds are checked (no early break) so the compat file is complete.
134+ 3 . ** Layer 1 — initramfs fs compatibility check** (` check_initrd_fs_compat ` ):
135+ Before presenting boot options, verify the ISO's initramfs contains kernel
136+ modules for the USB partition's filesystem (ext4/vfat/exfat). If the initrd
137+ can't read the USB filesystem, the kernel won't find the ISO after kexec.
138+ Also checks for a framebuffer driver (efifb, bochs) needed for display after
139+ kexec.
140+ - Parsing boot configs for initrd paths (instead of searching the whole ISO)
141+ - Unpacking each initrd and checking for required ` .ko ` files and
142+ ` modules.builtin `
143+ - Each initrd gets its own independent ` [OK] ` / ` [!] ` / (blank) marker in
144+ ` /tmp/kexec_initrd_compat.txt ` (the per-initrd flag ` initrd_supports_fs ` is tracked
145+ separately from the global ` any_supported ` flag, so no initrd is silently
146+ skipped)
147+ - ` [OK] ` = initrd has the needed module as ` .ko ` , has it in
148+ ` modules.builtin ` , or has no ` .ko ` files at all (minimal initrd with
149+ everything built into the kernel — nothing to check against).
150+ - ` [!] ` = initrd has loadable kernel modules but none for the USB
151+ filesystem type. No built-in assumption — we report what we find.
152+ - Read-only filesystems (iso9660/squashfs/udf) and unmapped fstypes skip
153+ - All initrds are checked (no early break) so the compat file is complete.
154+ - Framebuffer results are written to ` /tmp/kexec_efifb_compat.txt ` . A
155+ separate warning is shown if no initrd has a known fb driver.
1521564 . ** Layer 2 — loopback.cfg fast path** : If the ISO has a ` loopback.cfg ` , parse
153157 it and resolve GRUB variables (` ${iso_path} ` , ` ${isofile} ` ) to extract the
154158 ISO kernel params from loopback entries.
0 commit comments