20,290
edits
m (→Introduction) |
mNo edit summary |
||
Line 57: | Line 57: | ||
Follow the steps: | Follow the steps: | ||
< | <syntaxhighlight lang="bash"> | ||
cd $JETSON_NANO_KERNEL_SOURCE | cd $JETSON_NANO_KERNEL_SOURCE | ||
TOOLCHAIN_PREFIX=$HOME/l4t-gcc/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- | TOOLCHAIN_PREFIX=$HOME/l4t-gcc/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- | ||
Line 67: | Line 67: | ||
make -C kernel/kernel-4.9/ ARCH=arm64 O=$TEGRA_KERNEL_OUT LOCALVERSION=-tegra CROSS_COMPILE=${TOOLCHAIN_PREFIX} -j8 --output-sync=target dtbs | make -C kernel/kernel-4.9/ ARCH=arm64 O=$TEGRA_KERNEL_OUT LOCALVERSION=-tegra CROSS_COMPILE=${TOOLCHAIN_PREFIX} -j8 --output-sync=target dtbs | ||
make -C kernel/kernel-4.9/ ARCH=arm64 O=$TEGRA_KERNEL_OUT LOCALVERSION=-tegra INSTALL_MOD_PATH=$KERNEL_MODULES_OUT modules_install | make -C kernel/kernel-4.9/ ARCH=arm64 O=$TEGRA_KERNEL_OUT LOCALVERSION=-tegra INSTALL_MOD_PATH=$KERNEL_MODULES_OUT modules_install | ||
</ | </syntaxhighlight> | ||
==Flash Jetson NANO== | ==Flash Jetson NANO== | ||
Line 73: | Line 73: | ||
NVIDIA_SDK_MANAGER contains the directory where NVIDIA SDK manager was installed. For example. | NVIDIA_SDK_MANAGER contains the directory where NVIDIA SDK manager was installed. For example. | ||
< | <syntaxhighlight lang="bash"> | ||
export NVIDIA_SDK_MANAGER=$HOME/nvidia/nvidia_sdk/ | export NVIDIA_SDK_MANAGER=$HOME/nvidia/nvidia_sdk/ | ||
</ | </syntaxhighlight> | ||
===Select DTB and directory based on Jetson Nano module type=== | ===Select DTB and directory based on Jetson Nano module type=== | ||
====Production module (P3448-0020)==== | ====Production module (P3448-0020)==== | ||
< | <syntaxhighlight lang="bash"> | ||
export DTB=tegra210-p3448-0002-p3449-0000-b00.dtb | export DTB=tegra210-p3448-0002-p3449-0000-b00.dtb | ||
JETPACK_4_3_P3448=${NVIDIA_SDK_MANAGER}/JetPack_4.3_Linux_P3448-0020/Linux_for_Tegra | JETPACK_4_3_P3448=${NVIDIA_SDK_MANAGER}/JetPack_4.3_Linux_P3448-0020/Linux_for_Tegra | ||
</ | </syntaxhighlight> | ||
====Devkit module (P3448)==== | ====Devkit module (P3448)==== | ||
< | <syntaxhighlight lang="bash"> | ||
export DTB=tegra210-p3448-0000-p3449-0000-a02.dtb | export DTB=tegra210-p3448-0000-p3449-0000-a02.dtb | ||
JETPACK_4_3_P3448=${NVIDIA_SDK_MANAGER}/JetPack_4.3_Linux_P3448/Linux_for_Tegra | JETPACK_4_3_P3448=${NVIDIA_SDK_MANAGER}/JetPack_4.3_Linux_P3448/Linux_for_Tegra | ||
</ | </syntaxhighlight> | ||
Make sure the Jetson Nano is in recovery mode | Make sure the Jetson Nano is in recovery mode | ||
===Copy kernel, device tree and modules into jetpack=== | ===Copy kernel, device tree and modules into jetpack=== | ||
<syntaxhighlight lang="bash"> | |||
< | |||
cd ${JETPACK_4_3_P3448} | cd ${JETPACK_4_3_P3448} | ||
# Copy kernel generated | # Copy kernel generated | ||
Line 100: | Line 99: | ||
# Copy device tree generated | # Copy device tree generated | ||
cp $JETSON_NANO_KERNEL_SOURCE/build/arch/arm64/boot/dts/${DTB} kernel/dtb/ | cp $JETSON_NANO_KERNEL_SOURCE/build/arch/arm64/boot/dts/${DTB} kernel/dtb/ | ||
</ | </syntaxhighlight> | ||
===Apply root filesystem patch=== | ===Apply root filesystem patch=== | ||
Line 110: | Line 109: | ||
Patch: fix_dtb_lost.patch | Patch: fix_dtb_lost.patch | ||
< | <syntaxhighlight lang=="diff"> | ||
diff --git a/rootfs/opt/nvidia/l4t-bootloader-config/nv-l4t-bootloader-config.sh b/rootfs/opt/nvidia/l4t-bootloader-config/nv-l4t-bootloader-config.sh | diff --git a/rootfs/opt/nvidia/l4t-bootloader-config/nv-l4t-bootloader-config.sh b/rootfs/opt/nvidia/l4t-bootloader-config/nv-l4t-bootloader-config.sh | ||
index 921efc2..fe60093 100755 | index 921efc2..fe60093 100755 | ||
Line 124: | Line 123: | ||
# sys_maj_rev == qspi_maj_rev | # sys_maj_rev == qspi_maj_rev | ||
# sys_min_rev >= qspi_min_rev | # sys_min_rev >= qspi_min_rev | ||
</ | </syntaxhighlight> | ||
====Apply the patch==== | ====Apply the patch==== | ||
< | <syntaxhighlight lang="bash"> | ||
cd ${JETPACK_4_3_P3448} | cd ${JETPACK_4_3_P3448} | ||
sudo patch -p 1 < fix_dtb_lost.patch | sudo patch -p 1 < fix_dtb_lost.patch | ||
</ | </syntaxhighlight> | ||
===Flash memory=== | ===Flash memory=== | ||
Line 137: | Line 136: | ||
====Flash production module==== | ====Flash production module==== | ||
< | <syntaxhighlight lang="bash"> | ||
sudo ./flash.sh jetson-nano-emmc mmcblk0p1 | sudo ./flash.sh jetson-nano-emmc mmcblk0p1 | ||
</ | </syntaxhighlight> | ||
====Flash Devkit module==== | ====Flash Devkit module==== | ||
< | <syntaxhighlight lang="bash"> | ||
sudo ./flash.sh jetson-nano-qspi-sd mmcblk0p1 | sudo ./flash.sh jetson-nano-qspi-sd mmcblk0p1 | ||
</ | </syntaxhighlight> | ||
====Flash device tree only==== | ====Flash device tree only==== | ||
This command flashes only the device tree, excluding the kernel image and filesystem. Make sure the Jetson NANO is in recovery mode. | This command flashes only the device tree, excluding the kernel image and filesystem. Make sure the Jetson NANO is in recovery mode. | ||
< | <syntaxhighlight lang="bash"> | ||
cd ${JETPACK_4_3_P3448} | cd ${JETPACK_4_3_P3448} | ||
# Copy device tree generated | # Copy device tree generated | ||
cp $JETSON_NANO_KERNEL_SOURCE/build/arch/arm64/boot/dts/${DTB} kernel/dtb/ | cp $JETSON_NANO_KERNEL_SOURCE/build/arch/arm64/boot/dts/${DTB} kernel/dtb/ | ||
</ | </syntaxhighlight> | ||
=====Flash production module DTB===== | =====Flash production module DTB===== | ||
< | <syntaxhighlight lang="bash"> | ||
sudo ./flash.sh -r -k DTB jetson-nano-emmc mmcblk0p1 | sudo ./flash.sh -r -k DTB jetson-nano-emmc mmcblk0p1 | ||
</ | </syntaxhighlight> | ||
=====Flash Devkit module DTB===== | =====Flash Devkit module DTB===== | ||
< | <syntaxhighlight lang="bash"> | ||
sudo ./flash.sh -r -k DTB jetson-nano-qspi-sd mmcblk0p1 | sudo ./flash.sh -r -k DTB jetson-nano-qspi-sd mmcblk0p1 | ||
</ | </syntaxhighlight> | ||
<noinclude> | <noinclude> |