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

英伟达 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]

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/228087.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React 列表和键

React 列表和键 大家好,在这一课中,我们将学习如何在 React 中创建和渲染列表。我们还将学习如何使用键来优化列表的性能。 创建列表 我们可以使用 JavaScript 的 map() 方法来创建列表。 const numbers [1, 2, 3, 4, 5]; const listItems numbers…

算法:对称二叉树

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 一、问题描述 二、递归算法 三、字符串判断法 总结 提示:以下是本篇文章正文内容,下面案例可供参考 一、问题描述 有一棵二叉树&#xff0…

LeetCode(66)二叉树的最大深度【二叉树】【简单】

目录 1.题目2.答案3.提交结果截图 链接: 二叉树的最大深度 1.题目 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root [3,9,20,null,null,15,7]…

js获取对象数组中重复项的个数并排序,js数组对象筛选出重复数据 并计算 重复了几次

js数组对象筛选出重复数据 并计算 重复了几次 例如: 把以下数据 let arr [{kuaidizhandian:顺丰快递},{kuaidizhandian:邮政快递},{kuaidizhandian:顺丰快递} ]转换为 kuaidarr [{kuaidizhandian:顺丰快递,num:2},{kuaidizhandian:邮政快递,num&…

显示所有已连接的网络连接信息

ECHO OFF & setlocal enabledelayedexpansion TITLE 显示所有已连接的网络连接信息 mode con: cols80 lines30 CALL :get_NIC_info pause>nul EXIT /B 0:get_NIC_info SET "_i_0"ECHO 所有已连接的网络连接信息(未插网线不会显示在下方&#xff09…

Python类调用实例方法

在 Python 的类体中定义的方法默认都是实例方法,通过对象来调用实例方法。 但要提醒大家的是,Python 的类在很大程度上是一个命名空间,当程序在类体中定义变量、方法时,与前面介绍的定义变量、定义函数其实并没有太大的不同。对比…

解析神器Xpath详解+实战

解析神器Xpath详解实战 有同学说,我正则用的不好,处理HTML文档很累,有没有其他的方法? 有!那就是XPath,我们可以先将 HTML文件 转换成 XML文档,然后用 XPath 查找 HTML 节点或元素。 目标&am…

微信小程序怎样给事件传值的

微信小程序怎样给事件传值的? 通过自定义属性传值通过事件对象传值 通过自定义属性传值 通过自定义属性传值: 在触发事件的组件上,可以通过自定义属性将需要传递的值绑定到事件对象上。在事件处理函数中,通过event.currentTarget.…

【KMP】【判断是否是重复子字符串】Leetcode 459 重复的子字符串

【KMP】【判断是否是重复子字符串】Leetcode 459 重复的子字符串 解法1 拼接字符串-掐头去尾后判断是否含有原字符串解法2 KMP——重复子串的最小单位是这个字符串里的最长相等前后缀所不包含的子串解法3 暴力解法KMP ---------------🎈🎈题目链接&…

【C++11特性篇】一文助小白轻松理解 C++中的【左值&左值引用】【右值&右值引用】

前言 大家好吖,欢迎来到 YY 滴C系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! 目录 一.【左值&左值引用】&…

C#中简单的继承和多态

今天我们来聊一聊继承,说实话今天也是我第一次接触。 继承的概念是什么呢?就是一个类可以继承另一个类的属性和方法(成员) 继承是面向对象编程中的一个非常重要的特性。 好了,废话不多说,下面切入正题&a…

微信小程序使用camera扫码获取相机权限

确保用户隐私指引已经明确使用相机功能 “mp-weixin”: "permission": {"scope.camera": {"desc": "需要使用相机功能,请授权"}}wx.authorize({scope: scope.camera,success(res) {console.log(res, 用户成功授权)// 用户…

C语言实现Hoare版快速排序(递归版)

Hoare版 快速排序是由Hoare发明的,所以我们先来讲创始人的想法。我们直接切入主题,Hoare版快速排序的思想是将一个值设定为key,这个值不一定是第一个,如果你选其它的值作为你的key,那么你的思路也就要转换一下&#xf…

Mysql(事务)

Mysql(事务) 简介 是什么:一组操作的集合,不分割的工作单位,事务会把所有的操作作为一个整体,向数据库发起操作,要么全部失败要么全部成功。 案例: 银行转账 查询A的余额减少的A的余…

input , change ,blur 事件的区别,以及在vue和react中的表现

原生事件介绍 onInput Event 当一个 , , 或 元素的 value 被修改时,会触发 input 事件 onChange Event 当用户更改 、 和 元素的值时,change 事件在这些元素上触发。和 input 事件不同的是,并不是每次元素的 value 改变时都会触发 change…

SQL 算术运算符

SQL Server中的存储过程 什么是存储过程? 存储过程是一段预先编写好的 SQL 代码,可以保存在数据库中以供反复使用。它允许将一系列 SQL 语句组合成一个逻辑单元,并为其分配一个名称,以便在需要时调用执行。存储过程可以接受参数…

Qt线程池

创建一个类继承自QRunnable&#xff1a; class Thread02 : public QRunnable 重写run方法&#xff1a; void run() override; 在main函数里面加入线程池&#xff1a; Thread02 *th new Thread02();QThreadPool::globalInstance()->start(th); #include <QtCore/QC…

巧妙的使用WPF中的资源

其实&#xff0c;在wpf中&#xff0c;最核心的就是xaml&#xff0c;因为只有xaml&#xff0c;才能体现出用的是wpf&#xff0c;而不是普通的cs文件&#xff0c;cs文件在winform中等等程序都可以使用的&#xff0c;唯独xaml才是wpf中最重要的&#xff0c;最精华的东西&#xff0…

ARM按键中断

do_irq.c 判断中断号 #include "key_it.h" extern void printf(const char *fmt, ...); unsigned int i 0; void do_irq(void) {// 获取中断号&#xff0c;根据中断号的不同进行不同的中断处理int irqno;irqno GICC->IAR & 0x3ff;switch (irqno){case 99:…

gitlab ci pages

参考文章 gitlab pages是什么 一个可以利用gitlab的域名和项目部署自己静态网站的机制 开启 到gitlab的如下页面 通过gitlab.ci部署项目的静态网站 # build ruby 1/3: # stage: build # script: # - echo "ruby1"# build ruby 2/3: # stage: build …