I have built the linux-5.9 kernel using this guide, for the initramfs i have followed the Automated preset metod section.
For the iso I followed this guide, used the releng custom profile (renamed custom-profile/
), added both vmlinux-linux59
and initramfs-linux59.img
into the custom-profile/airootfs/boot/
directory. Finally, I created an entry into custom-profile/efiboot/loader/entries
:
#
# SPDX-License-Identifier: GPL-3.0-or-later
title Arch Linux CUSTOM install medium (x86_64, UEFI)
linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux59
initrd /%INSTALL_DIR%/boot/intel-ucode.img
#initrd /%INSTALL_DIR%/boot/amd-ucode.img
initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux59.img
options root="LABEL=%ARCHISO_LABEL%" rw archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL%
The iso works fine if in the systemd-boot menu the original kernel is selected, but if the linux59's entry is selected then:
:: running early hook [udev]
Starting version 246.6-1-arch
:: running hook [udev]
:: Triggering uevents...
Waiting 10 seconds for device /dev/disk/by-label/ARCH_202010 ...
ERROR: device 'LABEL ARCH_202010' not found. Skipping fsck.
:: mounting 'LABEL=ARCH_202010' on real root
mount: /new_root: can't find LABEL=ARCH_202010.
You are now being dropped into an emergency shell.
sh: can't access tty: job control turned off
[rootfs ]#
I think the problem is the initramfs that i generated with # mkinitcpio -p linux59
, but i cannot figure out precisely where.