我目前所处一家AI网卡公司,该项目的目的是实现OpenBMC在QEMU的移植,然后用于公司本身的SOC项目的firmware进行通信和管理,项目初期目标是做到双QEMU通信,然后在BMC页面看到公司的网卡设备,如作品图片所示。然后逐步覆盖常用的BMC通信协议,如MCTP PLDM NCSI等,实现RDMA网卡SOC流片前的UT测试。
工作内容包括:linux环境配置,OpenBMC移植和初始化配置,相关功能C代码的开发,自动化脚本开发,开发文件目录如下:
/home/songwenxuan/
├── openbmc/ # OpenBMC 源码
│ ├── build/romulus/tmp/deploy/images/romulus/
│ │└── obmc-phosphor-image-romulus.static.mtd
│ └── meta-mctp-lab/ # 自定义 layer
│ └── recipes-mctp/
│ ├── m3b-pldm-lab/ # PLDM 工具 recipe
│ └── m3b-virtual-nic-entity/
├── qemu-romulus-dual/ # 双 QEMU 运行目录
│ ├── romulus-vm1.mtd # VM1 可写 flash
│ └── romulus-vm2.mtd # VM2 可写 flash
├── tools/
│ └── qemu-romulus-slirp/bin/qemu-system-arm
├── bin/ # 启动/管理脚本
│ ├── romulus-up-dual # 启动双 QEMU
│ ├── romulus-down-dual # 停止双 QEMU
...字数原因省略