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

2023-12-17 14:46:41

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

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

在这里插入图片描述

下载需要版本即可,此次编译采用32.4.2版本
需要下载的文件如下:
在这里插入图片描述

2、新建一个文件夹
mkdir xavier_nx_prj

将上诉文件拷贝到此文件夹下
在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

编译完成如下:
在这里插入图片描述

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

在这里插入图片描述

15、编译生成modules

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

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

进入 Linux_for_Tegra

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

在这里插入图片描述

文章来源:https://blog.csdn.net/qq_44705488/article/details/135042093
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。