Unified bootloader and rootfs A/B is enabled, disable Debian update

Jetson xavier nx
Version: 32.7.3
I want to install nvidia-jetpack with rootfs A/B turned on, but I can’t install it.

Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package nvidia-jetpack

And i found in the rootfs/opt/nvidia/l4t-bootloader-config/nv-l4t-bootloader-config.sh

# When unified bootloader and rootfs A/B is enabled, the Debian update should be disabled.
block_deb_update() {
	local cmnt_str="## Unified bootloader and rootfs A/B is enabled, disable Debian update."

	if [ ! -x "${T186REF_NVBOOTCTRL}" ] || [ ! -f "${APT_SOURCE_LIST}" ]; then
		return
	fi

	if grep -q "${cmnt_str}" "${APT_SOURCE_LIST}"; then
		return
	fi

	if "${T186REF_NVBOOTCTRL}" is-unified-enabled > /dev/null 2>&1; then
		# Comment out entries in source list to disable Debian update.
		sed -i "s/^/# &/g" "${APT_SOURCE_LIST}"
		sed -i "1i ${cmnt_str}" "${APT_SOURCE_LIST}"
	fi
}

When unified bootloader and rootfs A/B is enabled, it would change /etc/apt/sources.list.d/nvidia-l4t-apt-source.list

## Unified bootloader and rootfs A/B is enabled, disable Debian update.
# # SPDX-FileCopyrightText: Copyright (c) 2019-2021 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# # SPDX-License-Identifier: LicenseRef-NvidiaProprietary
# #
# # NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
# # property and proprietary rights in and to this material, related
# # documentation and any modifications thereto. Any use, reproduction,
# # disclosure or distribution of this material and related documentation
# # without an express license agreement from NVIDIA CORPORATION or
# # its affiliates is strictly prohibited.
# 
# deb https://repo.download.nvidia.com/jetson/common r32.7 main
# deb https://repo.download.nvidia.com/jetson/t194 r32.7 main

Why enable rootfs A/B and need to disable Debian update?

Hi lingojang,

Are you using the devkit or custom board for Xavier NX?

Do you want to use sudo apt dist-upgrade to update from JP4(R32.7.3) to JP5(R35.x)?

For block_deb_update(), we are checking this with internal.

I am using custom board for Xavier NX.

My current version is 32.7.3 (no need to update to r35.x).

When i flash to external device with rootfs A/B on and there is still enough space for nvidia-jetpack.

I just wonder why enable rootfs A/B and need to disable Debian update?

If i remove block_deb_update(), will there be a problem?

I’ve checked with developer.
We don’t support Debian update with rootfs_ab enabled.

The root cause is that Debian only can update the current slot filesystem, but the bootloader is updated to the non-current slot. Since it always unified bootloader A/B slots with rootfs A/B slots, after apt upgrade and reboot, the bootloader and rootfs will switch slots, then the bootloader is new, but rootfs is old.
This is unexpected, so we have to disable the Debian update with rootfs AB enabled.

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