I build kernel from source and copy it to /Linux for Tegra/kernel and /Linux for Tegra/rootfs/boot
then use ./flash.sh -k kernel jetson-tx2 mmcblk0p1,reboot TX2
then use command uname -a,I found nothing changed(kernel build time)
but if use ./flash.sh jetson-tx2 mmcblk0p1 ,kernel will be change
and if use ./flash.sh -k kernel-dtb jetson-tx2 mmcblk0p1,the dtb will be change
The kernel Image can actually be copied directly to /boot on the TX2 (using scp or rsync).
This is the script I use:
#!/bin/bash
set -e
if [ $# -ne 2 ]; then
echo "$0 [tx1,tx2] [target]"
exit 1
fi
if [ "$1" = "tx1" ]; then
scp $SOURCEDIR/compiled-$1/arch/arm64/boot/Image $2:/boot
rsync -avhe ssh $SOURCEDIR/compiled-$1/modules/lib/modules/* $2:/lib/modules
fi
if [ "$1" = "tx2" ]; then
scp $SOURCEDIR/compiled-$1/arch/arm64/boot/Image $2:/boot
rsync -avhe ssh $SOURCEDIR/compiled-$1/modules/lib/modules/* $2:/lib/modules
fi
Note: you will get permission issues as the image is owned by root. You can either transfer it to a temporary directory and then copy them with sudo to their final destination or just set the permissions to be less secure.