英伟达 Jetson Xavier/Xavier NX/Orin系统移植编译

英伟达 Jetson Xavier/Xavier NX/Orin系统移植编译

1、下载Jetson BSP包和交叉编译环境
地址:https://developer.nvidia.com/embedded/jetson-linux-archive

英伟达 Jetson Xavier/Xavier NX/Orin系统移植编译_第1张图片

下载需要版本即可,此次编译采用32.4.2版本
需要下载的文件如下:
英伟达 Jetson Xavier/Xavier NX/Orin系统移植编译_第2张图片

2、新建一个文件夹
mkdir xavier_nx_prj

将上诉文件拷贝到此文件夹下
英伟达 Jetson Xavier/Xavier NX/Orin系统移植编译_第3张图片

3、解压public_sources.tbz2
tar -xjf public_sources.tbz2

在这里插入图片描述

4、进入Linux_for_Tegra/source/public,解压kernel_src.tbz2
cd /Linux_for_Tegra/source/public
tar -xjf kernel_src.tbz2

英伟达 Jetson Xavier/Xavier NX/Orin系统移植编译_第4张图片

5、解压“Tegra186_Linux_R32.4.2_aarch64.tbz2”
sudo tar -xf Tegra186_Linux_R32.4.2_aarch64.tbz2

在这里插入图片描述

6、将“Tegra_Linux_Sample-Root-Filesystem_R32.6.1_aarch64.tbz2”解压在/Linux_for_Tegra/rootfs目录内
cd Linux_for_Tegra/rootfs/
sudo tar xpf ../../Tegra_Linux_Sample-Root-Filesystem_R32.4.2_aarch64.tbz2
7、构建NVIDIA kernel 安装utilities
sudo apt install build-essential bc
8、在/Linux_for_Tegra/source/public/kernel路径下新建output文件夹。

在这里插入图片描述

9、设置环境变量
cd kernel-4.9/
export TEGRA_KERNEL_OUT=/home/kevin/nvidia/xs_xavier_nx_prj/Linux_for_Tegra/source/public/kernel/output

在这里插入图片描述

10、设置交叉编译链接
export CROSS_COMPILE=/home/kevin/nvidia/xavier_linux_package/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
export LOCALVERSION=-tegra

在这里插入图片描述

11、命令创建.config文件
cd kernel-4.9/
mkdir -p $TEGRA_KERNEL_OUT
make ARCH=arm64 O=$TEGRA_KERNEL_OUT tegra_defconfig

英伟达 Jetson Xavier/Xavier NX/Orin系统移植编译_第5张图片

12、执行脚本,向Linux kernel打入实时补丁
scripts/rt-patch.sh apply-patches

在这里插入图片描述

13、构建dtb和模块的内核,进行编译
make mrproper      //注:首先清除所有的.o文件和依赖关系
make ARCH=arm64 O=$TEGRA_KERNEL_OUT -j8  //编译

英伟达 Jetson Xavier/Xavier NX/Orin系统移植编译_第6张图片

编译完成如下:
英伟达 Jetson Xavier/Xavier NX/Orin系统移植编译_第7张图片

14、编译生成dtbs
make ARCH=arm64 O=$TEGRA_KERNEL_OUT dtbs

英伟达 Jetson Xavier/Xavier NX/Orin系统移植编译_第8张图片

15、编译生成modules

英伟达 Jetson Xavier/Xavier NX/Orin系统移植编译_第9张图片
英伟达 Jetson Xavier/Xavier NX/Orin系统移植编译_第10张图片

16、进入 Linux_for_Tegra执行apply_binaries.sh
cd linux_for_Tegra
sudo ./apply_binaries.sh

英伟达 Jetson Xavier/Xavier NX/Orin系统移植编译_第11张图片
英伟达 Jetson Xavier/Xavier NX/Orin系统移植编译_第12张图片

17、将Xavier /Xavier NX/Orin配置recovery模式,重新上电后,使用如下指令烧录

进入 Linux_for_Tegra

cd linux_for_Tegra
sudo ./flash.sh jetson-xavier mEC[mcblk0p1]

英伟达 Jetson Xavier/Xavier NX/Orin系统移植编译_第13张图片

你可能感兴趣的:(自动驾驶嵌入式工程师修炼秘籍,#,NVIDIA,Jeston,开发,自动驾驶,嵌入式,人工智能)