# Why include the A\_kernel, A\_kernel-dtb, B\_kernel, and B\_kernel-dtb partitions in builds with a/b boot?

**URL:** <https://forums.developer.nvidia.com/t/why-include-the-a-kernel-a-kernel-dtb-b-kernel-and-b-kernel-dtb-partitions-in-builds-with-a-b-boot/374593>\
**Category:** Jetson Orin Nano\
**Tags:** ota\
**Created:** [June 25, 2026, 7:47pm UTC](https://forums.developer.nvidia.com/t/why-include-the-a-kernel-a-kernel-dtb-b-kernel-and-b-kernel-dtb-partitions-in-builds-with-a-b-boot/374593 "2026-06-25T19:47:09Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![vanvugt](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@vanvugt](https://forums.developer.nvidia.com/u/vanvugt)\
**Post date:** [June 25, 2026, 7:47pm UTC](https://forums.developer.nvidia.com/t/why-include-the-a-kernel-a-kernel-dtb-b-kernel-and-b-kernel-dtb-partitions-in-builds-with-a-b-boot/374593/1 "2026-06-25T19:47:09Z")

</div>

For systems that have a/b boot enabled, is there a good reason to include the `A_kernel`, `A_kernel-dtb`, `B_kernel`, and `B_kernel-dtb` partitions, given that a/b boot already provides redundancy? I’m asking because I see this partitions in my board’s `_ab_` partition layout in `Jetson_Linux_R36.4.4_aarch64`.

My motivation for asking is that having these partitions complicates OTA and introduces some odd failure modes where the kernel and/or dtb in `/boot/` could fail, and the system still boots the selected slot using the (older, I presume) Android-style images. I’d rather the system failover to the alternate boot slot if the extlinux boot fails.

For reference, the ‘extlinux’ → ‘kernel partition’ boot flow I’m talking about is [this one](https://docs.nvidia.com/jetson/archives/r36.4.4/DeveloperGuide/SD/Bootloader/UEFI.html#dtb-support).

---

<div class="post-metadata">

**Author:** ![JerryChang](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/jerrychang/32/14043_2.png) [@JerryChang](https://forums.developer.nvidia.com/u/JerryChang)\
**Post date:** [June 26, 2026, 2:34am UTC](https://forums.developer.nvidia.com/t/why-include-the-a-kernel-a-kernel-dtb-b-kernel-and-b-kernel-dtb-partitions-in-builds-with-a-b-boot/374593/4 "2026-06-26T02:34:20Z")

</div>

hello vanvugt,

> [@vanvugt](#):
>
> and the system still boots the selected slot using the (older, I presume) Android-style images. I’d rather the system failover to the alternate boot slot if the extlinux boot fails.

do you have bootloader logs for reference?

---

<div class="post-metadata">

**Author:** ![vanvugt](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@vanvugt](https://forums.developer.nvidia.com/u/vanvugt)\
**Post date:** [June 26, 2026, 5:34pm UTC](https://forums.developer.nvidia.com/t/why-include-the-a-kernel-a-kernel-dtb-b-kernel-and-b-kernel-dtb-partitions-in-builds-with-a-b-boot/374593/5 "2026-06-26T17:34:26Z")

</div>

I’m not seeing any failures at this time. I’m only asking:

1. Am I correct in understanding that, on systems that use the ExtLinux boot (i.e. kernel and dtbs are normally loaded from `/boot`), the kernel and dtb partitions are only intended to provided redundancy in case the ExtLinux kernel and/or DTB fail to load for some reason?

2. Does it make sense to have this redundancy on systems that already have redundancy from having a/b boot, since they already have a failover method?

3. Is there any problem with removing these partitions to simplify things on systems with a/b boot?

Thanks!

---

<div class="post-metadata">

**Author:** ![JerryChang](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/jerrychang/32/14043_2.png) [@JerryChang](https://forums.developer.nvidia.com/u/JerryChang)\
**Post date:** [June 29, 2026, 3:19am UTC](https://forums.developer.nvidia.com/t/why-include-the-a-kernel-a-kernel-dtb-b-kernel-and-b-kernel-dtb-partitions-in-builds-with-a-b-boot/374593/6 "2026-06-29T03:19:40Z")

</div>

hello vanvugt,

_\>\> Q1_  
that’s correct.  
In ExtLinux boot mode, L4tLauncher first tries to load the kernel from the rootfs according to `/boot/extlinux/extlinux.conf`.  
If that kernel image cannot be loaded, it can fall back to the kernel image in the slot’s kernel partition.  
For device tree, if the FDT entry is missing or the DTB file cannot be loaded from rootfs, it uses the UEFI DTB; the kernel-dtb partition is used when booting the kernel from the kernel partition path.

_\>\> Q2_  
ya, this still has value with rootfs A/B because it covers a different failure path. Rootfs A/B failover switches between rootfs slots after boot failures/retry handling. The A\_kernel/B\_kernel and A\_kernel-dtb/B\_kernel-dtb partitions are slot-associated payloads and provide a fallback or partition-boot path for the selected slot.

_\>\> Q3_  
it’s not recommend removing these partitions from the standard BSP layout. They are part of the supported boot/update flow, and some flashing/OTA/secure-boot paths expect the kernel and kernel-dtb partitions to exist. If you remove them in a custom layout, you would need to validate the full flow yourself, including flashing, OTA, recovery boot, secure boot/signing if used, and the behavior when /boot/extlinux.conf or the kernel image is missing/corrupt.

---

<div class="post-metadata">

**Author:** ![system](https://sea2.discourse-cdn.com/nvidia/user_avatar/forums.developer.nvidia.com/system/32/68080_2.png) [@system](https://forums.developer.nvidia.com/u/system)\
**Post date:** [July 22, 2026, 9:19am UTC](https://forums.developer.nvidia.com/t/why-include-the-a-kernel-a-kernel-dtb-b-kernel-and-b-kernel-dtb-partitions-in-builds-with-a-b-boot/374593/9 "2026-07-22T09:19:20Z")

</div>

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.
