【昇腾】关于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文件升级到设备端
/var/davinci/driver/upgrade-tool --device_index 0 --component hboot2 --path ./AS310B_HBOOT2_UEFI.fd
1.5 一个偏门的办法
它不是把sata@0xa6000000删掉吗?弹性配置文件就不配成sata了,就配成sata1