Kernel wasn't updated after running the bootburn.sh on DRIVE PX2 platform

Hi there,

I had encounter the problem to update the kernel image on the DRIVE P2 platform by using the bootburn.sh. The process had been executed without any error. But the new kernel wasn’t take effected after the operation. Here is updating log,
For verification the kernel update, I had using the menuconfig to enable CONFIG_LOCALVERSION with debug information. And confirming that the debug information wasn’t effected after update the new kernel.

Can you help to let me know if I had missing some procedure which had been required for the kernel updating? Thanks!

The following URL had been referenced for the kernel updating.
https://docs.nvidia.com/drive/active/5.0.10.3L/nvvib_docs/index.html#page/NVIDIA%2520DRIVE%2520Linux%2520SDK%2520Development%2520Guide%2FFlashing%2Fflashing_lnx.html%23wwpID0E06C0HA

drivepx@liteon-ThinkPad-T480:~/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK$ cd drive-t186ref-foundation/tools/host/flashtools/bootburn

drivepx@liteon-ThinkPad-T480:~/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn$ ./bootburn.sh -b p2379c01-t186a -u kernel -x /dev/ttyUSB1

Successfully acquired lock over /var/lock/LCK…bootburn_seq

Successfully acquired lock over /var/lock/LCK…ttyUSB1

Disabling SIGINT <Ctrl+C> temporarily

Setting Tegra-A on hold…/dev/ttyUSB1:

Done

Setting Tegra-B on hold…/dev/ttyUSB1:

Done

Setting Tegra-A in recovery… /dev/ttyUSB1:

/dev/ttyUSB1:

Done

Setting Tegra-B in recovery… /dev/ttyUSB1:

/dev/ttyUSB1:

Done

Enabling SIGINT <Ctrl+C>

Target BR_CID: 0x81801001642d98421c00000013048480

Target ECID: 0x1642d98421c00000013048480

AdbSerialNum : 130484801c000000642d

Detected prod device type

‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/…/…/…/…//firmwares/bin/t186/mb1//mb1_recovery_prod.bin’ → ‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/_temp_dump/_temp_dump_Z5bSqUiZ8S/rcm-flash/mb1_recovery.bin’

‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/…/…/…/…//firmwares/bin/t186/mb1//mb1_prod.bin’ → ‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/_temp_dump/_temp_dump_Z5bSqUiZ8S/rcm-flash/mb1.bin’

Sending MB1

‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/…/…/…/…//firmwares/bin/t186/mts/mce_mts_d15_prod_cr.bin’ → ‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/_temp_dump/_temp_dump_Z5bSqUiZ8S/rcm-flash/mts-bootpack.bin’

############## Host machine info ##############

No LSB modules are available.

Distributor ID: Ubuntu

Description: Ubuntu 16.04.7 LTS

Release: 16.04

Codename: xenial

Linux liteon-ThinkPad-T480 5.11.0-44-generic #48~20.04.2-Ubuntu SMP Tue Dec 14 15:36:44 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Target ChipId 0x18 ChipVersion 0x02

###############################################

############## Using Binaries ###############

###############################################

QB: /home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/firmwares/bin/t186/qb_cpu.bin

QB DTB: /home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/firmwares/bin/t186/t186-vcm31t186.dtb

BPMP DTB:/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/platform-config/bpmp_dt/t186/tegra186-a02-bpmp-vcm31-p2379a-000-c00-00-hv.dtb

RCM_Flashing DTB:/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/flash/t18x/rcmkernel/tegra186-vcm31-p2379-flashing-base.dtb

RCM_Flashing Cfg:/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/flash/t18x/quickboot_flashing.cfg

Config file:/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/out/p2379c01-t186a/global_storage.cfg

HyperVisorImage:/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/out/p2379c01-t186a

Generated Image Path: /home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/_temp_dump/_temp_dump_Z5bSqUiZ8S

SDRAM Config: /home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/…/…/…/…//platform-config/bct/t186/sdram/E2379_C01_8GB_TA_Samsung_8GB_lpddr4_204MHz_A02.cfg

ADB tool: /home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/…/…/…/…//tools/host/flashtools/flash/adb

devOTAFlashOptions file: p2379c01-t186a_4QOfBfWu0G_flashOptions.txt

###############################################

‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/…/…/…/…//tools/host/flashtools/flash/t18x/rcmkernel/tegra186-vcm31-p2379-flashing-base.dtb’ → ‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/_temp_dump/_temp_dump_Z5bSqUiZ8S/rcm-flash/linux.dtb’

‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/…/…/…/…//tools/host/flashtools/flash/t18x/rcmfirmware/tegra186-a02-bpmp-vcm31-p2379a-000-c00-00.dtb’ → ‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/_temp_dump/_temp_dump_Z5bSqUiZ8S/rcm-flash/bpmp.dtb’

Generating BCT Files

Generating BR_BCT File

Preserving SkuInfo from Target

Generating MB1_BCT File

Generating Flashing-RCM Images

Sending bct and prerequisite binaries

Sending Blob for RCM blob to target

Applet version 01.00.0000

Sending blob

[…] 100%

Flashing-boot started

‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/…/…/…/…//firmwares/bin/t186/mb1//mb1_recovery_prod.bin’ → ‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/_temp_dump/_temp_dump_Z5bSqUiZ8S/flash-images/mb1_recovery.bin’

‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/…/…/…/…//firmwares/bin/t186/mb1//mb1_prod.bin’ → ‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/_temp_dump/_temp_dump_Z5bSqUiZ8S/flash-images/mb1.bin’

‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/…/…/…/…//firmwares/bin/t186/mts/mce_mts_d15_prod_cr.bin’ → ‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/_temp_dump/_temp_dump_Z5bSqUiZ8S/flash-images/mts-bootpack.bin’

‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/…/…/…/…//firmwares/bin/t186//qb_cpu.bin’ → ‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/_temp_dump/_temp_dump_Z5bSqUiZ8S/flash-images/qb_cpu.bin’

Appending Qb DTB to Qb binary

‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/…/…/…/…//firmwares/bin/t186/nvtboot.bin’ → ‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/_temp_dump/_temp_dump_Z5bSqUiZ8S/flash-images/nvtboot.bin’

Generating BR_BCT File

Generating MB1_BCT File

Generating Flash Images, this may take a few minutes

1+0 records in

1+0 records out

4096 bytes (4.1 kB, 4.0 KiB) copied, 4.3869e-05 s, 93.4 MB/s

‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/…/…/…/…//firmwares/bin/t186/warmboot/warmboot_prod.bin’ → ‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/_temp_dump/_temp_dump_Z5bSqUiZ8S/flash-images/warmboot.bin’

‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/…/…/…/…//…/drive-t186ref-linux/kernel/tegra186-vcm31-p2379-0000-c01-00-base-a-safety.dtb’ → ‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/_temp_dump/_temp_dump_Z5bSqUiZ8S/flash-images/linux.dtb’

‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/…/…/…/…//platform-config/bpmp_dt/t186/tegra186-a02-bpmp-vcm31-p2379a-000-c00-00-hv.dtb’ → ‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/_temp_dump/_temp_dump_Z5bSqUiZ8S/flash-images/bpmp.dtb’

‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/…/…/…/…//firmwares/bin/t186/camera-rtcpu-ape.bin’ → ‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/_temp_dump/_temp_dump_Z5bSqUiZ8S/flash-images/adsp-fw.bin’

‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/…/…/…/…//firmwares/bin/t186/sce-fw.bin’ → ‘/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/_temp_dump/_temp_dump_Z5bSqUiZ8S/flash-images/sce-fw.bin’

Flashing-Images started

Waiting for USB device. This may take up to 100 seconds…

Android Debug Bridge version 1.0.36

Revision -android

Platform version 7.0

supports 262144 Bytes MAX_PAYLOAD

This build is for NVIDIA embedded bootburn

Build time : May 16 2017 01:26:13

  • daemon not running. starting it now on port 5037 *

  • daemon started successfully *

Waiting for device : 130484801c000000642d to be online…

Flashing for Partition kernel (Size: 3832928 bytes, Time: 23.265 seconds)

Press Reset button to Reboot the target

Bootburn Time 37.584 seconds

Adb Shell Time 23.070 seconds

Process tail (15227) still running. Trying to kill after 5 seconds

/home/drivepx/nvidia/nvidia_sdk/DRIVE_OS_5.0.10.3_SDK_with_DriveWorks_Linux_OS_PX2_AUTOCHAUFFEUR/DriveSDK/drive-t186ref-foundation/tools/host/flashtools/bootburn/bootburn_lib.sh: line 92: 15227 Killed tail -f ${s_FlashLogFiles[@]}

Re-setting Tegra-A… /dev/ttyUSB1:

/dev/ttyUSB1:

Done

Re-setting Tegra-B… /dev/ttyUSB1:

/dev/ttyUSB1:

Done

Bootburn operation successful

Dear @user102228,
Have you done anything else apart from running bootburn command. If so, could you please share the steps(before or after bootburn command) you have performed?

Dear Siva,

Please help to check if the following procedure is correct or not to generated kernel for updating. Thanks!
Step 1:
cd $SDK_ROOT/drive-oss-src
bash kernel/scripts/rt-patch.sh apply-patches

Step 2:
#Build the kernel config
make -C kernel O=${PWD}/out-t186ref-linux clean
make -C kernel O=${PWD}/out-t186ref-linux tegra_gnu_linux_defconfig

Step 3:
#Build the kernel
make -j3 -C kernel O=${PWD}/out-t186ref-linux

Step 4:
#patch patch kernel
cp ${PWD}/out-t186ref-linux/arch/arm64/boot/zImage $SDK_ROOT/drive-t186ref-linux/kernel-rt_patches
cp ${PWD}/out-t186ref-linux/arch/arm64/boot/Image $SDK_ROOT/drive-t186ref-linux/kernel-rt_patches

Step 5:
#built kernel modules
make -C kernel O=${PWD}/out-t186ref-linux modules_install

Step 6:
#Deploy the built modules to the root filesystem
sudo cp -a ${PWD}/out-t186ref-linux/lib/modules/* $SDK_ROOT/drive-t186ref-linux/targetfs/lib/modules

Step 7:
#update the newly generated DTB files
#For DRIVE PX 2 (P2379)
#For Tegra-A
cp $SDK_ROOT/drive-oss-src/out-t186ref-linux/arch/arm64/boot/dts/tegra186-vcm31-p2379-0000-c01-00-base-a-safety-vm.dtb $SDK_ROOT/drive-t186ref-linux/kernel
cp $SDK_ROOT/drive-oss-src/out-t186ref-linux/arch/arm64/boot/dts/tegra186-vcm31-p2379-0000-c01-00-base-a-air-cooled-safety-vm.dtb $SDK_ROOT/drive-t186ref-linux/kernel
#For Tegra-B
cp $SDK_ROOT/drive-oss-src/out-t186ref-linux/arch/arm64/boot/dts/tegra186-vcm31-p2379-0000-c01-00-base-b-safety-vm.dtb $SDK_ROOT/drive-t186ref-linux/kernel
cp $SDK_ROOT/drive-oss-src/out-t186ref-linux/arch/arm64/boot/dts/tegra186-vcm31-p2379-0000-c01-00-base-b-air-cooled-safety-vm.dtb $SDK_ROOT/drive-t186ref-linux/kernel

Step 8:
#Binding image
make -f Makefile.bind BOARD=p2379c01-t186a PCT=linux
make -f Makefile.bind BOARD=p2379c01-t186b PCT=linux

Step 9:
#Put the Tegra devices into Recovery mode for flashing
shell> tegrarecovery a on
shell> tegrareset a

Step 10:
cd drive-t186ref-foundation/tools/host/flashtools/bootburn
./bootburn.sh -b p2379c01-t186a -u kernel -x /dev/ttyUSB1

Dear Siva,

Does there any problem regarding to my procedure to generate the kernel image? Please kindly advice.

BR,

Dear @user102228,
The image generation steps looks correct.
Could you check flashing using sdkmanager after step 7 and update the status?