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

相关推荐
朱小弟cs66 小时前
Orange的运维学习日记--41.Ansible基础入门
linux·运维·学习·ci/cd·自动化·ansible·devops
真实的菜6 小时前
MyBatis高级特性与性能优化:从入门到精通的实战指南
性能优化·mybatis
future14127 小时前
串口通信学习
学习
sssammmm7 小时前
AI入门学习--如何写好prompt?
人工智能·学习·prompt
菜菜子爱学习8 小时前
Nginx学习笔记(二)——环境准备(VMware CentOS版)
笔记·学习·nginx·centos·运维开发
在未来等你9 小时前
RabbitMQ面试精讲 Day 20:RabbitMQ压测与性能评估
性能优化·消息队列·rabbitmq·压力测试·性能测试·面试题
★YUI★10 小时前
学习游制作记录(背包UI以及各种物品的存储)8.12
学习·游戏·ui·unity·c#
里昆12 小时前
【AI】Pycharm中要注意Python程序文件的位置
ide·python·学习·pycharm
我们从未走散13 小时前
JVM学习笔记-----图解方法执行流程
笔记·学习