How to flash kernel only to TX2?

Hi

In order to upgrade kernel of TX2, the following command is entered on Linux host PC.

 sudo ./flash.sh -K $TEGRA_KERNEL_OUT/arch/arm64/boot/zImage  jetson-tx2 mmcblk0p1

After finishing downloading, the file system of TX2 is initialized.

How to flash only kernel to TX2 without affecting any other partitions?

When the above linux command to flash kernel is entered, the below logs are displayed.

Thanks in advance.

[ 2.1910 ] Sending bootloader and pre-requisite binaries
[ 2.1917 ] tegrarcm_v2 --download blob blob.bin
[ 2.1922 ] Applet version 01.00.0000
[ 2.2060 ] Sending blob
[ 2.2061 ] […] 100%
[ 2.6174 ]
[ 2.6187 ] tegrarcm_v2 --boot recovery
[ 2.6199 ] Applet version 01.00.0000
[ 2.6350 ]
[ 2.6357 ] tegrarcm_v2 --isapplet
[ 3.2659 ]
[ 3.2671 ] tegradevflash_v2 --iscpubl
[ 3.2678 ] CPU Bootloader is not running on device.
[ 3.2689 ]
[ 4.7013 ] Retrieving storage infomation
[ 4.7019 ] tegrarcm_v2 --oem platformdetails storage storage_info.bin
[ 4.7025 ] Applet is not running on device. Continue with Bootloader
[ 4.7250 ]
[ 4.7256 ] tegradevflash_v2 --oem platformdetails storage storage_info.bin
[ 4.7262 ] Bootloader version 01.00.0000
[ 4.7371 ] Saved platform info in storage_info.bin
[ 4.7415 ]
[ 4.7416 ] Flashing the device
[ 4.7422 ] tegraparser_v2 --storageinfo storage_info.bin --generategpt --pt flash.xml.bin
[ 4.7429 ]
[ 4.7435 ] tegradevflash_v2 --pt flash.xml.bin --create
[ 4.7441 ] Bootloader version 01.00.0000
[ 4.7571 ] Erasing sdmmc_boot: 3 … [Done]
[ 4.7851 ] Writing partition secondary_gpt with gpt_secondary_0_3.bin
[ 4.7853 ] […] 100%

[ 4.8470 ] Erasing sdmmc_user: 3 … [Done]
[ 5.9941 ] Writing partition master_boot_record with mbr_1_3.bin
[ 5.9943 ] […] 100%
[ 6.0020 ] Writing partition primary_gpt with gpt_primary_1_3.bin
[ 6.0064 ] […] 100%
[ 6.0146 ] Writing partition secondary_gpt with gpt_secondary_1_3.bin
[ 6.0298 ] […] 100%

[ 6.0537 ] Append 256 to mb1_prod.bin.encrypt
[ 6.0539 ] Writing partition mb1 with mb1_prod.bin.encrypt
[ 6.0540 ] […] 100%
[ 6.0643 ] Append 96 to spe_sigheader.bin.encrypt
[ 6.0746 ] Writing partition spe-fw with spe_sigheader.bin.encrypt
[ 6.0747 ] […] 100%
[ 6.0846 ] Append 480 to nvtboot_sigheader.bin.encrypt
[ 6.0944 ] Writing partition mb2 with nvtboot_sigheader.bin.encrypt
[ 6.0946 ] […] 100%
[ 6.1048 ] Append 480 to preboot_d15_prod_cr_sigheader.bin.encrypt
[ 6.1121 ] Writing partition mts-preboot with preboot_d15_prod_cr_sigheader.bin.encrypt
[ 6.1124 ] […] 100%
[ 6.1223 ] Writing partition master_boot_record with mbr_1_3.bin
[ 6.1308 ] […] 100%
[ 6.1385 ] Writing partition APP with system.img
[ 6.1428 ] […] 100%
[ 151.9491 ] Append 96 to mce_mts_d15_prod_cr_sigheader.bin.encrypt
[ 151.9574 ] Writing partition mts-bootpack with mce_mts_d15_prod_cr_sigheader.bin.encrypt
[ 151.9581 ] […] 100%
[ 152.0372 ] Append 80 to cboot_sigheader.bin.encrypt
[ 152.0557 ] Writing partition cpu-bootloader with cboot_sigheader.bin.encrypt
[ 152.0561 ] […] 100%
[ 152.0704 ] Append 432 to tegra186-quill-p3310-1000-c03-00-base_sigheader.dtb.encrypt
[ 152.0778 ] Writing partition bootloader-dtb with tegra186-quill-p3310-1000-c03-00-base_sigheader.dtb.encrypt
[ 152.0783 ] […] 100%
[ 152.0933 ] Writing partition secure-os with tos_sigheader.img.encrypt
[ 152.1011 ] […] 100%
[ 152.1110 ] Append 48 to eks_sigheader.img.encrypt
[ 152.1163 ] Writing partition eks with eks_sigheader.img.encrypt
[ 152.1166 ] […] 100%
[ 152.1244 ] Append 96 to bpmp_sigheader.bin.encrypt
[ 152.1287 ] Writing partition bpmp-fw with bpmp_sigheader.bin.encrypt
[ 152.1290 ] […] 100%
[ 152.1505 ] Append 272 to tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2_sigheader.dtb.encrypt
[ 152.1617 ] Writing partition bpmp-fw-dtb with tegra186-a02-bpmp-quill-p3310-1000-c04-00-te770d-ucm2_sigheader.dtb.encrypt
[ 152.1621 ] […] 100%
[ 152.1817 ] Append 320 to camera-rtcpu-sce_sigheader.bin.encrypt
[ 152.1918 ] Writing partition sce-fw with camera-rtcpu-sce_sigheader.bin.encrypt
[ 152.1921 ] […] 100%
[ 152.2020 ] Append 432 to warmboot_wbheader.bin.encrypt
[ 152.2077 ] Writing partition sc7 with warmboot_wbheader.bin.encrypt
[ 152.2079 ] […] 100%
[ 152.2163 ] Writing partition kernel with boot.img
[ 152.2211 ] […] 100%
[ 152.6158 ] Append 320 to tegra186-quill-p3310-1000-c03-00-base.dtb
[ 152.6264 ] Writing partition kernel-dtb with tegra186-quill-p3310-1000-c03-00-base.dtb
[ 152.6272 ] […] 100%
[ 152.6492 ]
[ 152.6504 ] tegradevflash_v2 --write BCT br_bct_BR.bct
[ 152.6515 ] Bootloader version 01.00.0000
[ 152.6531 ] Writing partition BCT with br_bct_BR.bct
[ 152.6534 ] […] 100%
[ 152.7006 ]
[ 152.7030 ] tegradevflash_v2 --write MB1_BCT mb1_cold_boot_bct_MB1_sigheader.bct.encrypt
[ 152.7036 ] Bootloader version 01.00.0000
[ 152.7050 ] Writing partition MB1_BCT with mb1_cold_boot_bct_MB1_sigheader.bct.encrypt
[ 152.7053 ] […] 100%
[ 152.7524 ]
[ 152.7524 ] Flashing completed

hello bkchoi,

please download the [NVIDIA Tegra Linux Driver Package],
and please refer to [Release 28.2 Development Guide]-> [Flashing and Booting the Target Device]-> [Flash Script Usage] for more details.

besides flashing the kernel partition, you could also replace the /boot/Image by your own build, and performing warm-reboot to let your kernel image takes effect.
thanks