Jetson AGX Orin R34.1.1 源码环境搭建 & SDKmanager刷机

本文介绍了如何使用sdkmanager将Jetson AGX Orin更新到R34.1.1最新系统,并提供了两种搭建BSP源码环境的方法,包括在线下载和下载BSP包。详细步骤包括sdkmanager的安装、账号验证、系统选择与下载,以及源码环境的搭建过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 前言

最新发布了Jetson AGX Orin R34.1.1最新版本的BSP源码包;

所以这边尝试更新到最新版本;

同时需要开发内核驱动,所以也需要搭建bsp源码开发环境;

(1)这里主要介绍如何使用sdkmanager快速刷新到最新Jetson AGX Orin R34.1.1的版本;

(2)同时介绍两种搭建Jetson AGX Orin R34.1.1  BSP源码环境的方法

2.  使用sdkmanager安装Jetson AGX Orin R34.1.1最新系统

这种方法和之前Jetson系列方法操作一样

因为不用管源码,所以搭建简单,但是需要网络环境比较好,不然很慢

(1)下载sdkmanager最新版本 & 安装

chmod 777 sdkmanager_1.8.0-10363_amd64.deb

sudo apt install ./sdkmanager_1.8.0-10363_amd64.deb

(2)运行

注: 不要在root环境运行,否则会报错

输入sdkmanager即可

(3)输入nvidia的账号密码,没有需要注册

(4)使用typec usb连接PC与orin主板

(5)选择Target Hardware和版本

 这里选择 Jetson AGX Orin m

<think>好的,我现在需要帮助用户解决他们在Jetson AGX Orin(Ubuntu 22.04)上编译OpenFST时遇到的问题。之前用户已经遇到了关于SSE标志的错误,现在他们提到他们的编译环境Jetson AGX Orin,这是一个基于ARM架构的设备,而之前的解决方案可能针对的是x86架构。 首先,我需要确认问题的根本原因。原来的错误提示是要求添加`-msse -mfpmath=sse`编译选项,但这些选项是x86架构特有的,用于启用SSE指令集。然而,Jetson AGX Orin使用的是ARM架构的处理器(如NVIDIAOrin芯片),而ARM架构通常使用NEON指令集而不是SSE。因此,原来的解决方案在这里不适用,可能会导致编译失败。 接下来,我需要调整之前的解决方案以适应ARM架构。可能的解决步骤包括: 1. **移除SSE相关参数**:由于ARM不支持SSE,用户需要从编译选项中删除`-msse -mfpmath=sse`,否则编译器会报错。 2. **检查浮点运算兼容性**:原来的错误是关于浮点相等性测试失败,可能由于不同的浮点处理方式。在ARM上,可能需要确保编译器正确处理浮点运算,或者修改OpenFST的代码来避免严格的浮点比较。 3. **确认编译器和依赖项**:确保使用的g++版本支持C++17,并且安装了必要的构建工具,如libtool、automake、autoconf等。 4. **调整OpenFST的配置参数**:可能需要传递不同的配置选项,或者应用补丁来修复ARM架构的兼容性问题。 5. **查看config.log**:用户应检查config.log文件中的具体错误,以获取更详细的信息,帮助进一步诊断问题。 6. **可能的代码修改**:如果浮点测试仍然失败,可能需要像之前建议的那样注释掉OpenFST代码中的相关断言,但需要确认这在ARM上是否有效。 此外,还需要考虑Jetson AGX Orin的特定环境,例如是否安装了正确的CUDA工具链或是否有其他NVIDIA相关的依赖项需要处理。不过,由于OpenFST本身可能不依赖CUDA,这可能不是问题所在,但需要确认。 最后,用户可能需要参考针对ARM架构的特定编译指南,或者社区中其他用户在类似设备上的经验。如果官方OpenFST版本不支持ARM,可能需要寻找补丁或分支版本,或者联系维护者获取支持。</think>结合你在 **Jetson AGX Orin (ARM架构, Ubuntu 22.04)** 的环境,上述问题的解决方案需要针对性调整。以下是针对该平台的完整分析和解决方案: --- ### **1. 核心问题分析** 原始错误: ```bash configure: error: Test float equality failed! Compile with -msse -mfpmath=sse if using g++ ``` - **关键矛盾**:`-msse` 和 `-mfpmath=sse` 是 x86/Intel 平台的编译选项,而 Jetson AGX Orin 使用 **ARMv8 架构**,不支持 SSE 指令集。 - **根本原因**:OpenFST 的浮点运算测试在 ARM 平台上未正确适配。 --- ### **2. 专用解决方案** #### **(1) 移除无效的SSE参数** **ARM平台需删除所有SSE相关标志**,修改编译命令: ```bash # 删除 CXXFLAGS 中的 -msse -mfpmath=sse ./configure --enable-static --enable-shared --enable-far --enable-ngram-fsts ``` #### **(2) 强制忽略浮点检查** 通过环境变量跳过浮点测试(临时方案): ```bash export ac_cv_func_fst_float_equal=yes ./configure [其他参数] ``` #### **(3) 修改OpenFST源码** 直接注释浮点检查断言: 1. 打开文件 `src/include/fst/float-weight.h` 2. 搜索 `FSTERROR() << "FloatWeightTpl::Plus: ...` 相关代码 3. 注释或删除以下行: ```cpp // if (fabs(l - r) > 0.0001) FSTERROR() << "FloatWeightTpl::Plus: ..."; ``` --- ### **3. Jetson AGX Orin 环境适配** #### **(1) 确认工具链** - 检查编译器版本: ```bash g++ --version # Ubuntu 22.04 默认 g++-11,需支持 C++17 ``` - 安装必要工具: ```bash sudo apt install build-essential libtool automake autoconf ``` #### **(2) 调整编译参数** 为 ARM 添加优化标志(可选): ```bash CXXFLAGS="-O2 -mcpu=cortex-a78" ./configure --enable-static --enable-shared ``` - `-mcpu=cortex-a78`: 适配 Jetson Orin 的 CPU 微架构(需确认实际架构,可能为 `-mcpu=neoverse-v1`) --- ### **4. 完整编译流程** ```bash cd ~/Desktop/kaldi/tools wget http://www.openfst.org/twiki/pub/FST/FstDownload/openfst-1.8.0.tar.gz tar -zxvf openfst-1.8.0.tar.gz cd openfst-1.8.0 # 方案选择(三选一) # 方案A: 跳过浮点检查 export ac_cv_func_fst_float_equal=yes ./configure --enable-static --enable-shared --enable-far --enable-ngram-fsts # 方案B: 修改源码后编译 ./configure --enable-static --enable-shared --enable-far --enable-ngram-fsts # 方案C: 添加ARM优化参数 CXXFLAGS="-O2 -mcpu=neoverse-v1" ./configure --enable-static --enable-shared # 编译安装 make -j$(nproc) sudo make install ``` --- ### **5. 常见问题补充** #### **(1) 安装后库路径问题** 如果 Kaldi 找不到 OpenFST: ```bash # 手动指定库路径 export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH ``` #### **(2) 兼容性验证** 检查编译结果: ```bash # 查看是否生成 ARM 架构的二进制文件 file /usr/local/lib/libfst.so # 输出应包含 "ARM aarch64" 或类似信息 ``` #### **(3) 替代方案:使用预编译库** 如果仍失败,尝试安装 Ubuntu ARM 版预编译包: ```bash sudo apt install libfst-dev libfsttools # 确认仓库支持 ``` --- ### **6. 深度调试建议** 如果问题未解决: 1. **检查 `config.log`**: ```bash grep -C 20 'error: Test float equality failed' config.log ``` 2. **交叉验证**: ```bash # 尝试更旧的 OpenFST 版本(如1.7.7) wget http://openfst.org/twiki/pub/FST/FstDownload/openfst-1.7.7.tar.gz ``` --- ### **总结** - **核心矛盾**:x86 的 SSE 指令集与 ARM 架构不兼容。 - **解决方向**:移除 SSE 参数 + 修改浮点检查逻辑。 - **ARM适配**:可能需要微调优化参数(`-mcpu`)或直接修改源码
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

free-xx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值