【昇腾】关于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

相关推荐
tfjy199719 分钟前
网络基础学习
网络·学习
Miketutu19 分钟前
操作系统中进程与作业的概念区分
学习
TL滕24 分钟前
从0开始学算法——第三天(数据结构的操作)
数据结构·笔记·学习·算法
九千七52636 分钟前
sklearn学习(4)K近邻(KNN)
人工智能·学习·机器学习·sklearn·knn·近邻搜索
Lyre丶43 分钟前
ginan入门初探
linux·经验分享·学习·ubuntu
TL滕1 小时前
从0开始学算法——第三天(数据结构的多样性)
数据结构·笔记·学习·算法
光影少年1 小时前
WebGIS 和GIS学习路线图
学习·前端框架·webgl
ironinfo2 小时前
C#性能优化随记
开发语言·性能优化·c#
长河2 小时前
Record-API 性能优化实战:从“锁”到“快”的深度治理
数据库·性能优化
我想我不够好。2 小时前
学会思考问题
学习