Booting A/B, where is the kernel used for booting device? #1594
Closed
AndersGnistrup
started this conversation in
General
Replies: 1 comment 1 reply
-
Moved to tegre-demo-distro. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I have a working system so this is just a question about "how stuff works".
I am using branch scarthgap-l4t-r35.x on tegra-demo-distro and have found similar result for other branches. The development board is a orin-nano 8Gb NVidia development board. That branch was selected to get back to a known state.
I have inspecting the partition layout and from the file flash_l4t_t234_nvme_rootfs_ab.xml there should be a redundant setup. That also seems to match the logs during flashing
The APP has id=1 and APP_b has a id=2 so it seems to match the xml partition layout description in the xml file.
So far, so good, but I had a hard time to verify the boot selection/boot order using the boot log and system inspection.
So I decided to clear the A_kernel partition on a running system using
dd if=/dev/zero of=/dev/nvme0n1p3
.I expected a boot failure/switch to B_kernel since the kernel was gone. But, the system booted without any delay.
Then I cleared the B_kernel, to see if some magic fallback had occurred. But, the system still booted without any delay.
Finally, I tried to clear the APP and that "worked". After three boot attempts in UEFI it switched to APP_b.
But, the system should not boot at all since there is no kernel ?
Is something "not quite ready" but layout is kept for future use.
The running kernel is not in in sda3 but "somewhere else", probably in the rootfs partition?
Beta Was this translation helpful? Give feedback.
All reactions