You are not logged in.
I configured, compiled and booted a custom kernel version 5.17.0-rc3-124695-ga274015b8f73. This kernel works perfectly fine. It is based on the standard arch linux config for version `5.16.11-arch1-1` and is adapted for the
new kernel using oldmodconfig.
Based on this working kernel, I wanted to boot a new kernl, version 5.17.0-rc6-125686-ged0ebbb9c60c. The compilation works, but when booting, the bootloader would not find the correct device root.
This seems to be wrong, since the grub entry for the still working kernel references the same root and boots correctly.
To minimize the kernel compilation time and module overhead I perfomed a localmodconfig.
This seems to be the only difference I can spot, so my intuition is that there might a module missing for the boot process, but I am not sure about that.
Host Kernel version: 5.17.0-rc3-124695-ga274015b8f73
New kernel Version: 5.17.0-rc6-125686-ged0ebbb9c60c
Clone Linux kernel version 5.17.0-rc6-125686-ged0ebbb9c60c
zcat /proc/config.gz > .config
make localmodconfig
make -j `nproc`
make modules
sudo make modules_install
sudo cp arch/boot/bzImage /boot/vmlinuz- 5.17.0-rc6-125686-ged0ebbb9c60csudo mkinitcpio -k 5.17.0-rc6-125686-ged0ebbb9c60c -o /boot/initramfs- 5.17.0-rc6-125686-ged0ebbb9c60c.img
==> Starting build: 5.17.0-rc6-125686-ged0ebbb9c60c
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [autodetect]
-> Running build hook: [modconf]
-> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: xhci_pci
-> Running build hook: [filesystems]
-> Running build hook: [keyboard]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating zstd-compressed initcpio image: /boot/initramfs-5.17.0-rc6-125686-ged0ebbb9c60c.img
==> Image generation successfulsudo grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img
Found linux image: /boot/vmlinuz-5.17.0-rc6-125686-ged0ebbb9c60c
Found initrd image: /boot/initramfs-5.17.0-rc6-125686-ged0ebbb9c60c.img
Found linux image: /boot/vmlinuz-5.17.0-rc3-124695-ga274015b8f73
Found initrd image: /boot/initramfs-5.17.0-rc3-124695-ga274015b8f73.img
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
doneStarting version 250.3-4-arch
ERROR: device 'UUID' not found. Skipping fsck.
mount: /new_root: can't find UUID=<UUID>.
You are now being dropped into an emergency shell.
sh: can't access tty; job control turned off
[rootfs ]# menuentry 'Arch Linux, with Linux 5.17.0-rc6-125686-ged0ebbb9c60c' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.17.0-rc6-125686-ged0ebbb9c60c-advanced-3b7db8e5-3f4c-48d5-b1c3-16260176652d' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
search --no-floppy --fs-uuid --set=root 3b7db8e5-3f4c-48d5-b1c3-16260176652d
echo 'Loading Linux 5.17.0-rc6-125686-ged0ebbb9c60c ... '
linux /boot/vmlinuz-5.17.0-rc6-125686-ged0ebbb9c60c root=UUID=3b7db8e5-3f4c-48d5-b1c3-16260176652d rw loglevel=3 quiet
echo 'Loading initial ramdisk ...'
initrd /boot/initramfs-5.17.0-rc6-125686-ged0ebbb9c60c.img
}
menuentry 'Arch Linux, with Linux 5.17.0-rc3-124695-ga274015b8f73' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.17.0-rc3-124695-ga274015b8f73-advanced-3b7db8e5-3f4c-48d5-b1c3-16260176652d' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_msdos
insmod ext2
search --no-floppy --fs-uuid --set=root 3b7db8e5-3f4c-48d5-b1c3-16260176652d
echo 'Loading Linux 5.17.0-rc3-124695-ga274015b8f73 ...'
linux /boot/vmlinuz-5.17.0-rc3-124695-ga274015b8f73 root=UUID=3b7db8e5-3f4c-48d5-b1c3-16260176652d rw loglevel=3 quiet
echo 'Loading initial ramdisk ...'
initrd /boot/initramfs-5.17.0-rc3-124695-ga274015b8f73.img
}
}linux enthusiast, getting into kernel development
Offline
Is "<UUID>" "3b7db8e5-3f4c-48d5-b1c3-16260176652d"?
What filesystem is that?
Is the partitions device node there in the rescue shell?
What is the root device (sata, nvme, sd card, usb key …)?
I'd cross-examine lsmod w/ lsinitcpio of both initramfs
Offline
Yes, UUID='3b7db8e5-3f4c-48d5-b1c3-16260176652d'.
The fs is ext4:
lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sr0 iso9660 Joliet Extension ARCH_202112 2021-12-01-14-41-38-00
vda
|-vda1 swap 1 adb07f8e-c1fc-4de2-acc0-a9dbd47b6083
`-vda2 ext4 1.0 3b7db8e5-3f4c-48d5-b1c3-16260176652d 10.7G 73% /When I drop into the rescue shell I cannot input via my keyboard.
The root device is a virtual hard drive for qemu with qcow (vda).
Also would you please elaborate on
Is the partitions device node there
This is the output of lsinitcpio:
[mxhdrm@ba ~]$ sudo lsinitcpio /boot/initramfs-5.17.0-rc6-125686-ged0ebbb9c60c.img -a
==> Image: /boot/initramfs-5.17.0-rc6-125686-ged0ebbb9c60c.img
==> Created with mkinitcpio 31
==> Kernel: 5.17.0-rc6-125686-ged0ebbb9c60c
==> Size: 13.11 MiB
==> Compressed with: zstd
-> Uncompressed size: 41.17 MiB (.318 ratio)
-> Estimated decompression time: 0.054s
==> Included modules:
atkbd crc32c_generic jbd2 rng-core usbhid virtio_console virtio_pci_modern_dev
cdrom ext4 libps2 serio virtio-rng virtio_net xhci-pci
crc16 failover mbcache serio_raw virtio_balloon virtio_pci xhci-pci-renesas
crc32c-intel i8042 net_failover sr_mod virtio_blk virtio_pci_legacy_dev
==> Included binaries:
blkid fsck kmod switch_root udevadm
busybox fsck.ext4 mount systemd-tmpfiles
==> Early hook run order:
udev
==> Hook run order:
udev
==> Cleanup hook run order:
udevSo the kernel module for ext4 is included in the initramfs. Maybe there is a problem with the UUID to device resolution?
linux enthusiast, getting into kernel development
Offline
Also would you please elaborate on
/dev/vda2 (though virtio seems available, is the module loaded in the rescue shell?)
Offline