【昇腾】关于Atlas 200I A2加速模块macro0配置3路PCIE+1路SATA在hboot2中的一个bug_20250812

一、问题的现象:

以下分析是基于Ascend HDK 24.1.0.3 源码包进行分析(Ascend HDK 25.0.RC1.1此问题也仍存在)

1.1 SATA与PCIE二选一

macro0的ds[0]配置成SATA(图一);hboot2会将dtb PCIE节点删掉(图二);三路PCIE只生成两路(图三);SATA盘识别正常(图四)

macro0的ds[0]配置成PCIE(图一);hboot2会将dtb SATA节点删掉(图二);三路PCIE只生成两路,SATA盘识别不到(图三)

1.2 分析HBOOT2源码

drivers/firmware/bios/HwPkg/UEFI/Products/as310b/Common/Library/DevTreeImageLib/FdtUpdateLib.c +1197

1.3 修改HBOOT2源码

将SsdBootUpdateFdt函数的逻辑修改成不要将sata@0xa6000000或pcie@0x820000000的dts 节点删掉,重新编译出fd文件

1.4 生效HBOOT2失败

执行以下命令将,编译好的AS310B_HBOOT2_UEFI.fd文件升级到设备端

bash 复制代码
/var/davinci/driver/upgrade-tool --device_index 0 --component hboot2 --path ./AS310B_HBOOT2_UEFI.fd

1.5 一个偏门的办法

它不是把sata@0xa6000000删掉吗?弹性配置文件就不配成sata了,就配成sata1

相关推荐
励志不掉头发的内向程序员5 分钟前
C++进阶——继承 (1)
开发语言·c++·学习
DemonAvenger11 分钟前
MySQL与应用程序的高效交互模式:从基础到实战的最佳实践
数据库·mysql·性能优化
悠哉悠哉愿意13 分钟前
【数学建模学习笔记】机器学习分类:随机森林分类
学习·机器学习·数学建模
悠哉悠哉愿意1 小时前
【数学建模学习笔记】机器学习分类:KNN分类
学习·机器学习·数学建模
四谎真好看1 小时前
Java 学习笔记(进阶篇2)
java·笔记·学习
程序猿炎义1 小时前
【NVIDIA AIQ】自定义函数实践
人工智能·python·学习
小陈phd1 小时前
高级RAG策略学习(四)——上下文窗口增强检索RAG
人工智能·学习·langchain
THMAIL2 小时前
深度学习从入门到精通 - BERT与预训练模型:NLP领域的核弹级技术详解
人工智能·python·深度学习·自然语言处理·性能优化·bert
Jayyih3 小时前
嵌入式系统学习DAY28(网络编程)
网络·学习·tcp/ip
dbdr09013 小时前
Linux 入门到精通,真的不用背命令!零基础小白靠「场景化学习法」,3 个月拿下运维 offer,第二十六天
linux·运维·服务器·网络·python·学习