[NVIDIA] 入手 Jetson Xavier NX 内核剪裁及重新编译

[NVIDIA] 入手 Jetson Xavier NX 内核剪裁及重新编译


本文主要讲述,基于 Jetson Xavier NX 开发者套件: 环境配置——>内核剪裁——>重新编译——>烧录流程。

What is Jetson Xavier NX

  • NVIDIA® Jetson Xavier™ NX 是体型超小的AI超级计算机,适用于嵌入式系统和边缘系统。
  • 高达 21 TOPS 加速计算能力,可以并行运行现代神经网络并处理来自多个高分辨率传感器的数据。
  • Jetson Xavier NX 是生产就绪型产品,可支持所有热门 AI 框架。

+++++++++++
(此处会讲解基础环境的配置,先占坑,稍后整理补充)
(下文中有些路径是我自己虚拟机的路径,注意和自己的电脑匹配)
+++++++++++

  1. 在内核源码根目录下执行命令:

(1)切到源码路径

cd /home/zhong/workspace/xa_nx/linux/Linux_for_Tegra/source/src_out/kernel_src_build/kernel/kernel-4.9

(2)配置 config

make ARCH=arm64 O=$TEGRA_KERNEL_OUT tegra_defconfig

(3)执行编译 (-j8 是我的虚拟机处理器有8个核,不一样修改下,如4核 -j4 )

make ARCH=arm64 O=$TEGRA_KERNEL_OUT -j8

(4)切换到烧录路径

cd /home/zhong/workspace/xa_nx/linux/linux_for_tegra

(5)拷贝编译好的image文件,以及dts

cp ../Linux_for_Tegra/source/src_out/kernel_src_build/kernel/kernel-4.9/arch/arm64/boot/Image ./kernel/Image
cp ../Linux_for_Tegra/source/src_out/kernel_src_build/kernel/kernel-4.9/arch/arm64/boot/dts/ ./kernel/dtb/ -rf

(6) install kernel modules

cd /home/zhong/workspace/xa_nx/linux/Linux_for_Tegra/source/src_out/kernel_src_build/kernel/kernel-4.9/okernel
sudo make ARCH=arm64 O=$TEGRA_KERNEL_OUT modules_install INSTALL_MOD_PATH=/home/zhong/workspace/xa_nx/linux/linux_for_tegra/rootfs

(7) 封装安装好的 kernel modules

cd /home/zhong/workspace/xa_nx/linux/linux_for_tegra/rootfs
sudo tar --owner root --group root -cjf kernel_supplements.tbz2 lib/modules

(8) 替换 kernel_supplements.tbz2

cd /home/zhong/workspace/xa_nx/linux/linux_for_tegra/
sudo cp rootfs/kernel_supplements.tbz2 kernel/kernel_supplements.tbz2

(9) 运行 apply_binaries.sh 脚本

sudo ./apply_binaries.sh

(10) Jetson Xavier NX 触发recovery模式,重新上电。
(11) 烧录固件

sudo ./flash.sh p3449-0000+p3668-0001-qspi-emmc mmcblk0p1

(12) 等待烧录完成,即可进入系统,使用鼠标键盘初始化系统后即完成整个剪裁烧录过程,从debug串口观察系统启动log,编译用户名和编译时间已经更新,验证重新编译的内核确实生效:

Linux version 4.9.140-tegra (zhong@zhong) (gcc version 7.3.1 20180425 [linaro-7.3-2018.05 revision d29120a424ecfbc167ef90065c0eeb7f91977701] (Linaro GCC 7.3-2018.05) ) #3 SMP PREEMPT Thu May 7 15:28:44 CST 2020

上一篇:当我学会Python后,不仅成了程序员,顺带成为了一个音乐家!


下一篇:C++实现爆破解压小游戏