将 IGX OS 与 BMC (远程媒体) 结合使用#
IGX BMC 支持基于以下链接的 USB 远程媒体:openbmc virtual media - docs/designs/virtual-media.md at master · openbmc/docs · GitHub
IGX 开发者套件 BMC 将 USB 虚拟媒体设备枚举到 Orin USB 主机,这有助于使用 UEFI 菜单安装 IGX OS。IGX BMC 可以通过 CIFS 传输协议用作虚拟媒体。

Ubuntu Desktop 中的 CIFS samba 服务器配置。
在 Ubuntu Desktop 上安装并配置 SAMBA。将 IGX OS 放入 SAMBA 服务器路径,以启动 BMC 虚拟媒体来加载 IGX OS 镜像
sudo apt update
sudo apt install samba
现在 Samba 已经安装,我们需要创建一个目录供其共享。
mkdir /home/<username>/sambashare/
为 sambashare 目录添加 samba 配置
sudo vim /etc/samba/smb.conf
将块添加到 samba 配置的 smb.conf 文件末尾
1[sambashare] 2 comment = Samba on Ubuntu 3 path = /home/username/sambashare 4 read only = no 5 browsable = yes
更新防火墙设置并重启 samba 服务
sudo ufw allow samba
sudo service smbd restart
设置用户名和密码
sudo smbpasswd -a username
枚举 BMC USB 虚拟媒体
获取 IGX OS 版本并将 IGX OS 镜像复制到 sambashare 文件夹。
cp <IGX OS image> /home/username/sambashare/
提供 BMC 用户名和密码以获取令牌。
export bmc=<BMC IP>
export token=`curl -k -H "Content-Type: application/json" -X POST https://${bmc}/login -d '{"username" : "<BMC Username>", "password" : "<BMC Passowrd>"}' | grep token | awk '{print $2;}' | tr -d '"'`
填写 Samba 用户名、密码和 IGX OS 文件,以使用 Redfish 枚举 USB 虚拟媒体。
curl -k -H Content-Type:application/json -H "X-Auth-Token:$token" -X POST https://${bmc}/redfish/v1/Managers/IGX_BMC_0/VirtualMedia/USB1/Actions/VirtualMedia.InsertMedia -d '{"Image":"smb://<Ubuntu Desktop IP>/sambashare/<IGX OS filename>","WriteProtected":true,"UserName":"<SAMBA Username>","Password":"<SAMBA Password>","Inserted":true,"TransferMethod":"Stream","TransferProtocolType":"CIFS"}'
Ex: curl -k -H Content-Type:application/json -H "X-Auth-Token:$token" -X POST https://${bmc}/redfish/v1/Managers/IGX_BMC_0/VirtualMedia/USB1/Actions/VirtualMedia.InsertMedia -d '{"Image":"smb://192.168.1.1/sambashare/IGX-r36v0.1-2023-10-04-12-32-47.iso","WriteProtected":true,"UserName":"nvidia","Password":"nvidia","Inserted":true,"TransferMethod":"Stream","TransferProtocolType":"CIFS"}'
在 Orin 主机的 lsusb 中确认 USB 虚拟媒体条目。
从 UEFI 安装 IGX OS
重启 Orin,等待 UEFI 启动,然后按 ESC 进入 UEFI 菜单
使用向下箭头 (↓) 键选择启动管理器。USB 虚拟媒体将会在菜单中显示。
选择 UEFI 0penBMC 虚拟媒体,然后安装 IGX OS,或在安装前使用 ‘e’ 键编辑选项。
如果要挂载新的 ISO,请使用以下命令弹出当前媒体
curl -k -H Content-Type:application/json -H "X-Auth-Token:$token" -X POST https://${bmc}/redfish/v1/Managers/IGX_BMC_0/VirtualMedia/USB1/Actions/VirtualMedia.EjectMedia -v