|
I'm using a custom carrier board with an Orin Nano module. I have an image that seems to be working fine (latest L4T from the Scarthgap branch), including configuration for A/B booting. I am able to switch slots without a problem. I noticed, however, this message at the start of the boot sequence, right after the EFI menu prompt: Note the highlighted line: "Failed to validate rootfs status: Load Error". Note also that Linux boots just fine (the following pasted lines). Is this error something I need to concern myself with? If so, what should I do to fix it. Some possibly relevant additional information:
|
Replies: 1 comment 5 replies
|
Have you considered just grepping around the sources involved during the boot process to locate that message? I just did that and found it in the L4TLauncher code - https://github.com/NVIDIA/edk2-nvidia/blob/b7da370094974ad0a543266e70b77c23d03667f2/Silicon/NVIDIA/Application/L4TLauncher/L4TLauncher.c#L1806 The function it's calling to validate the rootfs status is in https://github.com/NVIDIA/edk2-nvidia/blob/r36.5-updates/Silicon/NVIDIA/Application/L4TLauncher/L4TRootfsValidation.c ... you may need to load a debug build of L4TLauncher on your target to get more detail about the error, since by default UEFI isn't very good about telling you what's actually wrong. |
Solved
The cause of the problem is because I defined my own DTS overlay, changing the value of the
L4TDefaultBootModeUEFI variable from[01 00 00 00](ExtLinux) to[02 00 00 00](Kernel partitions). I selected my overlay file with this:TEGRA_BOOTCONTROL_OVERLAYS += "my_bootconfig.dtbo"But the default configuration (
L4TConfiguration.dtbo) is defined in tegra-common.inc, using a?=default assignment. So my "+=" expression clobbered it, eliminating values for all the other variables in the file. I'm actually kind of lucky the device booted at all.There are two possible fixes:
L4TConfiguration.dtsinto my overlay, then change my assignment from a+=to a=.