[CV1][TX1] How to flash zImage of linux kernel or dtb files alone?

How to flash zImage of linux kernel or dtb files alone ?

precondition:

ROM version R24.2.1
Customized carriy board
Customized kernel

Operational:

looks like : https://devtalk.nvidia.com/default/topic/803160/?comment=4419911

sudo ./flash -k 6 jetson-tk1 mmcblk0p1

Problem:
as the rule :

sudo ./flash.sh [options] <platform> <rootdev>

-k : Specifies the kernel partition ID to be updated (minimum = 5).
the partition 6 is system.img, but zImage.

<partition name="APP" id="6" type="data">
            <allocation_policy> sequential </allocation_policy>
            <filesystem_type> basic </filesystem_type>
            <size> 15032385536 </size>
            <file_system_attribute> 0 </file_system_attribute>
            <allocation_attribute> 0x8 </allocation_attribute>
            <percent_reserved> 0 </percent_reserved>
            <filename> system.img </filename>
        </partition>

Or Could we flash the zImage as :


sudo ./flash.sh [options]


-K <kernel>
sudo ./flash -K  home/ubuntu/zImage  p2371-2180 mmcblk0p1

thanks.

May I change the /boot/zImage,Image and dtbs file,Then reboot, to change kernel?

thanks?

Hi zuoqiang
You can replace the Image and DTB file at the /boot to apply your changes. (Note: It’s Image not zImage)

hi ShaneCCC:

Thanks. I will try it.

Also note that with U-Boot you don’t use the flash.sh “-K” option (this is deprecated from when fastboot installed the kernel to its own partition…early TK1s did this, TX1 has not used fastboot). It is in fact because U-Boot is used that you never need flash to change kernel or dtb file (moving this from a dedicated partition under fastboot to “/boot” under U-Boot meant file copies became the choice way to update).

If I replaced zImage & Image in /boot/, It works.

But the same way I cannot update tegra210-jetson-tx1-p2597-2180-a01-devkit.dtb by replacing into /boot/dtb and /boot/.

I need to flash using “./flash.sh” script. Currently, I am using below command but i will update whole rootfs.

./flash.sh jetson-tx1 mmcblk0p1

So how to update only dtb file using .flash.sh script without disturbing my Ubuntu Environment?

If you flash on command line I’d recommend using all eMMC possible in the root partition:

sudo ./flash.sh -S 14580MiB jetson-tx1 mmcblk0p1

The dtb file is determined by the “/boot/extlinux/extlinux.conf” FDT key/value pair. Flashing won’t be necessary.

FYI, I think the reason why you must use Image instead of zImage is a lack of 64-bit support within the U-Boot boot loader (or at least a lack of 64-bit support for decompression).

ya working by replacing dtb in /boot