how do I update kernel, dtbs without updating root file system

I’m using the TX2 board to evaluate some external hardware devices.
It’s really a big trouble that I have to re-install all on root file system after updated the kernel or device trees.
I saw the mentioned there’re some options supported to flash the specific items individually.
But I didn’t get it worked successfully.
Are there anyone sharing your successful experience on this?
Thanks for your sharing and help!

Please try


Thanks for your information.

sudo ./flash -r -k kernel-dtb jetson-tx2 mmcblk0p1
I tried above to update dtb successfully.

sudo ./flash -r -k kernel jetson-tx2 mmcblk0p1
But I’m not able to update the kernel with above command even the log show update boot.img successfully
I change the printk message in a built-in driver, but the message didn’t update after the boot.img updated.
Do you have any suggestions?
Below shows the log.

[ 8.7890 ] Writing partition
[ 8.7926 ] tegradevflash_v2 --write kernel /home/luke/Coding/jetson/Linux_for_Tegra/bootloader/boot.img
[ 8.7959 ] Bootloader version 01.00.0000
[ 8.9123 ] Writing partition kernel with /home/luke/Coding/jetson/Linux_for_Tegra/bootloader/boot.img
[ 8.9134 ] […] 100%
[ 8.9574 ]
*** The :kernel has been updated successfully. ***

Hi atien.hsieh,

You can replace the /boot/Image with your new kernel image if the extlinux.conf looks like this

LABEL primary
      MENU LABEL primary kernel   
      LINUX /boot/Image
      APPEND ${cbootargs} root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4

For DTB updating without recovery mode, please refer to the “dd” method in this thread:

The method came from “reverse engineering” of the “flash” script and should work.

Hi ZhangXin,

thanks for the information.
I get the idea to replace kernel by updating “Image” in /boot