Xavier Compiling image results in failure to start

I am trying to modify the driver and need to compile the image,But I found that it cannot start after compiling the official original code。

version:R32 (release), REVISION: 4.4

The steps are as follows:
Download L4T Driver Package (BSP), L4T Driver Package (BSP) Sources, GCC 7.3.1 for 64 bit BSP and Kernel in https://developer.nvidia.com/embedded/linux-tegra

  1. tar xvf gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz

  2. export CROSS_COMPILE=/home/zhou/nvidia/jetson_src/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-

  3. export ARCH=arm64

  4. tar xvf public_sources.tbz2

  5. export TOP_DIR=/home/zhou/nvidia/jetson_src

  6. export L4T_DIR=$TOP_DIR/Linux_for_Tegra

  7. cd $L4T_DIR/source/public/

  8. tar xvf kernel_src.tbz2

  9. export TEGRA_KERNEL_OUT=$L4T_DIR/source/public/kernel/out_kernel

  10. export NVIDIA_PATH=$L4T_DIR/source/public/kernel/nvidia

  11. cd $L4T_DIR/source/public/kernel/kernel-4.9/

  12. make ARCH=arm64 O=$TEGRA_KERNEL_OUT tegra_defconfig

  13. make ARCH=arm64 O=$TEGRA_KERNEL_OUT Image -j12

The compiled Image file is in:
$TEGRA_KERNEL_OUT/arch/arm64/boot/Image

  1. cd $TOP_DIR

  2. tar xvf Tegra186_Linux_R32.4.4_aarch64.tbz2

  3. cd $L4T_DIR

  4. cp $TEGRA_KERNEL_OUT/arch/arm64/boot/Image ./kernel/Image -f

  5. ./l4t_sign_image.sh --file kernel/Image --chip 0x19

Xavier fails to start after replacing image and image.sig

Please indicate where there is an error that causes the image to fail to start after replacement

You used the default config, but did you also set CONFIG_LOCALVERSION? If not, did you also install the modules? Module search location and operation are tied to the version, and CONFIG_LOCALVERSION is normally “-tegra”, thus reusing old modules requires “-tegra”, and not reusing modules requires installing all modules.

I don’t know if strictly speaking all of the compile steps were correct, but it looks like it was probably ok.

Note that you could unpack the “driver package” for R32.4.4 somewhere and copy the original Image back in (the “driver package” is what provides the content of the “Linux_for_Tegra/rootfs/” initial content). Then, when you add a new kernel, don’t overwrite the original until you know it works. Instead, add an alternate entry in the “/boot/extlinux/extlinux.conf” file and pick the desired kernel at boot time via serial console. If it works how you like, then change the “default” for extlinux.conf.