laurent85v / archuseriso

A set of bash script programs to create bootable Arch Linux images and to create bootable USB flash drives with a desktop environment.
GNU General Public License v3.0
228 stars 30 forks source link

When building an ISO without microcode, I get "_all_ucode_images: unbound variable" error #31

Closed nyanpasu64 closed 3 years ago

nyanpasu64 commented 3 years ago

I'm trying to build a minimal Arch KDE ISO image for performing tests in a virtual machine. If I create a custom profile with all microcode packages removed, then the /usr/bin/aui-mkiso (installed through AUR) fails at "line 712: _all_ucode_images: unbound variable" and aborts generating the .iso.

https://github.com/laurent85v/archuseriso/blob/1b5c9f932b801faffd55f2fefa3dbc59173cc128/archuseriso/aui-mkiso#L712

Is not bundling microcode at all a supported configuration? If so, should _all_ucode_images be initialized to an empty string (or array, idk) to make the script work successfully?

laurent85v commented 3 years ago

Thanks for reporting, commit https://github.com/laurent85v/archuseriso/commit/b3a85e8f459efa6f16ae9f81198cbd8711eaccd6 uploaded to the testing branch

nyanpasu64 commented 3 years ago

Good: I figured out that generating an image without bundled ucode technically works.

Bad: In "profiles/kde/" alone, there are twelve files which hard-code one or more occurrences of intel-ucode, in strings like INITRD /intel-ucode.img,/amd-ucode.img,/initramfs-linux-fallback.img. Trying to pick an Arch configuration to boot will fail to advance past the bootloader (unsure if syslinux, efiboot, or aui) because these files are missing. The only way I could make the resulting ISO boot was to press Tab to edit the kernel command line to remove the microcode files.

Ugly: I don't know why there are so many different files that all specify the same kernel command line. Is this worth reducing this redundancy? I don't know.

In summary, I think it's a bad idea to remove the ucode images (because they take up little space but removing them causes problems), even though removing them technically does result in an ISO which can be made to boot in a VM.