给NVIDIA agx打实时补丁(R35.3.1)

鼓捣了好几天终于完成实时补丁,官网有教程,但有些总进行不下去,在此记录我的过程,先上成品图。

 1、在官网下载对应版本的Jetson Linux源文件,注意和自己机器的版本对应,我是35.3.1

2、解压文件:

tar -xjf public_sources.tbz2
tar -xjf Jetson_Linux_R35.3.1_aarch64.tbz2
# 解压缩内核源文件:
cd Linux_for_Tegra/source/public
tar -xjf kernel_src.tbz2
# 这会将内核源代码提取到子目录。kernel/
# 解压缩文件Tegra_Linux_Sample-Root-Filesystem_R35.3.1_aarch64.tbz2到Linux_for_Tegra/rootfs# # 文件夹中
Sudo tar -xjf Tegra_Linux_Sample-Root-Filesystem_R35.3.1_aarch64.tbz # 注意这个需要使用sudo解压

3、构建内核:

# 安装Jetson Linux构建实用程序
sudo apt install build-essential bc

4、解压交叉编译链:

# 在大文件夹下创建gcc文件夹
mkdir gcc
# 将<toolchain_archive>文件放入gcc文件夹中
tar xf <toolchain_archive>

5、设置环境变量、创建输出文件夹:

export CROSS_COMPILE=<gcc所在文件夹绝对地址>/gcc/bin/aarch64-buildroot-linux-gnu-

# terminal返回Linux_for_Tegra/source/public地址。

# 将 RT 补丁应用于内核:
./ kernel/kernel-5.10/scripts/rt-patch.sh apply-patches

# 设置环境变量:
export CROSS_COMPILE_AARCH64_PATH=<toolchain-path>	# 就是gcc的地址
export CROSS_COMPILE_AARCH64=<toolchain-path>/bin/aarch64-buildroot-linux-gnu-

# 创建文件夹kernel_out
mkdir kernel_out

6、编译内核:

./nvbuild.sh -o $PWD/kernel_out
# 报错先看文章末尾的解决方法,然后再自行解决

7、替换文件:

对于设备树,将Linux_for_Tegra/kernel/dtb/中的文件替换为kernel_out/arch/arm64/boot/dts/nvidia/中的文件
将Linux_for_Tegra/kernel/Image替换为kernel_out/arch/arm64/boot/Image

8、构建内核模块:

 # 注意更改文件路径
sudo make ARCH=arm64 O=~/Desktop/a/Linux_for_Tegra/source/public/kernel_out modules_install INSTALL_MOD_PATH=~/Desktop/a/Linux_for_Tegra/rootfs/

cd Linux_for_Tegra/
sudo ./apply_binaries.sh

# 注意:如果报错,请安装“qemu-user-static”
sudo apt-get install qemu-user-static

9、电脑端准备工作完成,然后连接agx开始安装系统

进入强制恢复模式:

1 关闭AGX所有电源
2 接好三个按键旁边的typeC到PC上
3 接上电源按住中间的recovery不放,按一下电源,灯亮。
4 输入lsusb,查看是否进入强制恢复模式,显示为nvidia corp设备即可

10、给agx安装系统:

# 找到flash.sh文件的位置,然后输入命令
sudo ./flash.sh jetson-agx-xavier-devkit mmcblk0p1

附:

安装完实时系统后,agx的实时效果并不好,如下图。

这方面的资料很少,只知道需要修改内核参数,但不知道每个参数的含义,而且我修改完重启后又恢复成默认参数。请知道这部分操作的网友赐教!!

echo 100 > /sys/kernel/debug/tegra_mce/rt_window_us
echo 20 > /sys/kernel/debug/tegra_mce/rt_fwd_progress_us
echo 0x7f > /sys/kernel/debug/tegra_mce/rt_safe_mask


NVIDIA官方网址:Kernel Customization — Jetson Linux Developer Guide documentationhttps://docs.nvidia.com/jetson/archives/r35.3.1/DeveloperGuide/text/SD/Kernel/KernelCustomization.html#to-build-the-real-time-kernel

=================================分割线===================================

编译内核可能遇到的问题:

#1、出现关于make[2]: *** [scripts/Makefile.host:95: scripts/sign-file] Error 1问题时,安装#flex即可
sudo apt-get install flex

#2、出现关于openssl/opensslv.h: No such file or directory错误时,安装libssl-dev即可
sudo apt-get install libssl-dev

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值