I'm working on imaging a Dell OptiPlex Micro 3000
device with Linux (custom Yocto-based OS). Grub version 2.04. I'm using an A/B partitioning scheme and trying to get the fallback to function properly but I think I might be running into a conflict with a BIOS (UEFI) setting somewhere.
Desired result: if either boot option encounters a kernel panic, the system should fall back to the other boot option.
Actual result: if there is a kernel panic, the system reboots and then the nvme drive is gone.
The boot options are similar, except for the root drive (one points to /dev/nvme0n1p2 and one to /dev/nvme0n1p3), e.g.
linux /bzImage root=PARTUUID=*snip* rootwait rw oprofile.timer=1 root/dev/nvme0n1p2 rootfstype=ext4 console=ttyS0,115200 console=tty0 crashkernel=auto panic=5
With a bad bzImage, I boot with this option, a kernel panic ensues, the reboot happens after 5 seconds - and then the system boots into my Clonezilla-imaged thumb drive. I enter the Clonezilla command line and ls /dev
and there are no nvme drives or partitions. In fact, there's no /dev/nvme0
controller either.
If I reboot and select the boot option for my drive, I get a UEFI-looking window that says "No Hard Drive".
If I go through the UEFI menu and try to add the boot option for my drive, the device isn't listed.
Here is the odd part though. If I:
- kernel panic
- reboot
- enter UEFI settings
- quit (no changes or modifications of any sort, no save)
- reboot
It loads the boot menu from my device. In other words, the only way to "find" the nvme controller again is if I open the UEFI settings and then reboot again.
Note also: if I don't specify panic=5
, the kernel panic occurs, and I hold the power button down to reboot, this doesn't happen. The automatic reboot as part of panic=5
seems to be causing this.
- What would cause a kernel panic to result in the NVMe controller "disappearing"?
- What occurs while just entering the UEFI setup menu that would cause the NVMe controller to return again on the next reboot?