On Mon, Jun 8, 2020 at 11:06 AM Peter Humphrey <[email protected]> wrote: > > Afternoon all, > > Is there something special for me to set in the kernel config to enable it to > find the root partition? I copied the config from 5.4.38, ran oldconfig and > followed most of the suggested answers; but it won't boot. > > # cat /boot/loader/entries/30-gentoo-5.7.1.conf > title Gentoo Linux 5.7.1 > linux /vmlinuz-5.7.1-gentoo > options root=/dev/nvme0n1p4 initrd=/intel-uc.img net.ifnames=0 > raid=noautodetect > > That file hasn't changed, other than the kernel version. > > On booting with that setup, I got an error immediately (from the UEFI BIOS, I > assume) complaining of an invalid parameter. A few seconds later the kernel > panicked because it couldn't find the root device.
Can you have your initrd launch a shell? I'm not sure if the nomenclature for the root device has changed. It is also possible you're missing some kernel option needed (maybe an NVME option got renamed and you answered the new option No?). If it is running the initrd then you probably can get it to launch a shell and then you can poke around and see what it is doing. Offhand though those are my two guesses: 1. Driver config option got renamed and the new option is disabled. 2. Some kernel change alters the naming of the root device so you're giving it the wrong name now. If you're using an initrd you should consider using a UUID/lable/etc to identify the root device if possible. That tends to be more robust when stuff like this happens, though it won't help in #1. -- Rich

