You are not logged in.

#1 2022-03-03 09:59:57

mxhdrm
Member
Registered: 2021-11-29
Posts: 2

ERROR; device '<UUID>' not found, skipping fsck

Problem:

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.

System

Host Kernel version: 5.17.0-rc3-124695-ga274015b8f73
New kernel Version: 5.17.0-rc6-125686-ged0ebbb9c60c

Recreation Steps:

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-ged0ebbb9c60c
sudo 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 successful
sudo 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.
done
Error:
Starting 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 ]#  
GRUB entries:
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

#2 2022-03-03 19:16:26

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 77,041

Re: ERROR; device '<UUID>' not found, skipping fsck

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

#3 2022-03-07 10:12:53

mxhdrm
Member
Registered: 2021-11-29
Posts: 2

Re: ERROR; device '<UUID>' not found, skipping fsck

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:
  udev

So 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

#4 2022-03-07 15:05:38

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 77,041

Re: ERROR; device '<UUID>' not found, skipping fsck

Also would you please elaborate on

/dev/vda2 (though virtio seems available, is the module loaded in the rescue shell?)

Offline

Board footer

Powered by FluxBB