Load Kernel and DTB to EMMC without FS

Hi all,

I wanted to know how can I flash a new kernel and DTB to the EMMC without flashing the File System again, using Jetpack 3.2.1.

I’m currently using below command to flash my Kernel and DTB, however the previously built system.img is also flashed.

sudo ./flash.sh -r -d kernel/dtb/tegra186-quill-p3310-1000-c03-00-base.dtb -K kernel/Image jetson-tx2 mmcblk0p1

This is a problem because any change made on the FS in the EMMC is overwritten when I need to flash the Kernel and the DTB

Thanks in advance for your help.

  • Carlos

Looks like this patch didn’t make it in to R28.2.1. You’ll need to see this:
https://devtalk.nvidia.com/default/topic/1036286/jetson-tx1/flashing-just-dtb-on-28-2-and-tx1/post/5264465/#5264465

Basically there is an option (“DTB|RP1”) lumping “DTB” and “RP1” into a single code block, and this needs to be separated into separate options. It starts at line 1804 on flash.sh of R28.2.1.

It’ll look something like this:

1803         APP) target_partfile="${localsysfile}"; ;;
1804 #PATCH  DTB|RP1) target_partfile="${dtbfilename}";
1805 # https://devtalk.nvidia.com/default/topic/1036286/jetson-tx1/flashing-just-dtb-on-28-2-and-tx1/post/5264465/#5264465
1806         DTB) target_partfile="${dtbfilename}";
1807              need_sign=1;
1808              sigext=dtb;
1809              ;;
1810         RP1) target_partfile="${dtbfilename}";
1811              need_sign=1;
1812              sigext=dtb;
1813              if [ "${tegraid}" = "0x21" ]; then
1814                 sigheader=1;
1815              fi;
1816              ;;
1817         EFI) target_partfile="${localefifile}"; ;;

hello CarlosR92,

you’ll need the changes in comment #2 to update the flash.sh script.
also, the “-d” option would specify the device tree path then flashing the whole image.
you should use the “-k” option instead.
for example, here’s the command to flash the kernel partition only.

sudo ./flash.sh -r -k kernel jetson-tx2 mmcblk0p1