39: mkarchiso does not detect that initramfs does not contain early_cpio
Hi,
After the upgrade to mkinitcpio 39 there is a regression when building archiso without the microcode hook. mkarchiso does not detect with mkinitcpio 39, if a early ucode (microcode) hook is enabled or not.
This results into a not bootable image, since the bootloader is earching for the intel/amd-ucode but this is not copied to the target.
Here 2 example logs:
38.1:
(38/38) Work around FS#49347 by removing custom pacman hooks that are only required during ISO build...
[mkarchiso] INFO: Done! Packages installed successfully.
[mkarchiso] INFO: Creating version files...
[mkarchiso] INFO: Done!
[mkarchiso] INFO: Copying /etc/skel/* to user homes...
[mkarchiso] INFO: Done!
[mkarchiso] INFO: Creating a list of installed packages on live-enviroment...
warning: Public keyring not found; have you run 'pacman-key --init'?
error: cachyos: key "882DCFE48E2051D48E2562ABF3B607488DB35A47" is unknown
error: keyring is not writable
[mkarchiso] INFO: Done!
**[mkarchiso] INFO: Initramfs file does not contain 'early_cpio'. External microcode initramfs images will be copied.** <-- mkarchiso detects here
[mkarchiso] INFO: Setting up SYSLINUX for BIOS booting from a disk...
[mkarchiso] INFO: Preparing kernel and initramfs for the ISO 9660 file system...
[mkarchiso] INFO: Done!
[mkarchiso] INFO: Done! SYSLINUX set up for BIOS booting from a disk successfully.
[mkarchiso] INFO: Setting up SYSLINUX for BIOS booting from an optical disc...
[mkarchiso] INFO: Done! SYSLINUX set up for BIOS booting from an optical disc successfully.
[mkarchiso] INFO: Creating FAT image of size: 9216 KiB...
mkfs.fat 4.2 (2021-01-31)
[mkarchiso] INFO: Done! GRUB set up for UEFI booting successfully.
[mkarchiso] INFO: Preparing an /EFI directory for the ISO 9660 file system...
[mkarchiso] INFO: Done!
[mkarchiso] INFO: Cleaning up in pacstrap location...
[mkarchiso] INFO: Done!
[mkarchiso] INFO: Creating SquashFS im , this may take some time...
39 without detection:
(38/38) Work around FS#49347 by removing custom pacman hooks that are only required during ISO build...
[mkarchiso] INFO: Done! Packages installed successfully.
[mkarchiso] INFO: Creating version files...
[mkarchiso] INFO: Done!
[mkarchiso] INFO: Copying /etc/skel/* to user homes...
[mkarchiso] INFO: Done!
[mkarchiso] INFO: Creating a list of installed packages on live-enviroment...
warning: Public keyring not found; have you run 'pacman-key --init'?
error: cachyos: key "882DCFE48E2051D48E2562ABF3B607488DB35A47" is unknown
error: keyring is not writable
[mkarchiso] INFO: Done!
[mkarchiso] INFO: Setting up SYSLINUX for BIOS booting from a disk...
[mkarchiso] INFO: Preparing kernel and initramfs for the ISO 9660 file system...
[mkarchiso] INFO: Done!
[mkarchiso] INFO: Done! SYSLINUX set up for BIOS booting from a disk successfully.
[mkarchiso] INFO: Setting up SYSLINUX for BIOS booting from an optical disc...
[mkarchiso] INFO: Done! SYSLINUX set up for BIOS booting from an optical disc successfully.
[mkarchiso] INFO: Creating FAT image of size: 9216 KiB...
mkfs.fat 4.2 (2021-01-31)
[mkarchiso] INFO: Done! GRUB set up for UEFI booting successfully.
[mkarchiso] INFO: Preparing an /EFI directory for the ISO 9660 file system...
[mkarchiso] INFO: Done!
[mkarchiso] INFO: Cleaning up in pacstrap location...
[mkarchiso] INFO: Done!
[mkarchiso] INFO: Creating SquashFS image, this may take some time...
This is actually kinda problematic, since including the microcode hook does break ventoy, see: https://github.com/ventoy/Ventoy/issues/2825
Edited by Peter Jung