How to update uboot and kernel in the running time

please apply below patch to your l4t_bup_gen.func under Linux_for_Tegra/bootloader.

--- a/t186/BUP/l4t_bup_gen.func
+++ b/t186/BUP/l4t_bup_gen.func
@@ -1,4 +1,4 @@
-# Copyright (c) 2017-2020, NVIDIA CORPORATION.  All rights reserved.
+# Copyright (c) 2017-2021, NVIDIA CORPORATION.  All rights reserved.
 #
 # NVIDIA CORPORATION and its licensors retain all intellectual property
 # and proprietary rights in and to this software, related documentation
@@ -147,9 +147,6 @@
 		'part_name=RP4; part_type=xusb; part_spec=${_common_spec};    part_file=$(ls rp4.blob 2> /dev/null || echo "")'
 	)
 
-	# For Jetson TX1, must use bl_update_payload to update bootloader.
-	local partitions_jetson_tx1=()
-
 	# For Jetson Nano QSPI SD, we can use all payloads to update corresponding partitions.
 	local _nano_qspi_sd="jetson-nano-devkit-mmcblk0p1"
 	local partitions_jetson_nano_qspi_sd=(
@@ -174,15 +171,12 @@
 		'part_name=RP4; part_type=nano_qspi_bl; part_spec=${_common_spec};    part_file=$(ls rp4.blob 2> /dev/null || echo "")'
 	)
 
-	# For Jetson Nano eMMC, it's same as TX1, must use bl_update_payload to update bootloader.
-	local partitions_jetson_nano_emmc=()
+	local partitions_t210ref=("${partitions_t210ref_common[@]}")
 
-	local partitions_t210ref=(
-		"${partitions_t210ref_common[@]}"
-		"${partitions_jetson_tx1[@]}"
-		"${partitions_jetson_nano_qspi_sd[@]}"
-		"${partitions_jetson_nano_emmc[@]}"
-	)
+	# Only nano-devkit uses "partitions_jetson_nano_qspi_sd"
+	if [[ "${_sw_spec}" == *"${_nano_qspi_sd}" ]]; then
+		partitions_t210ref+=("${partitions_jetson_nano_qspi_sd[@]}")
+	fi
 
 	# for binary common for different operating mode, op_mode = 0
 	# for binary different for different operating mode: