将 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 传输协议用作虚拟媒体。

_images/image8.png
  1. Ubuntu Desktop 中的 CIFS samba 服务器配置。

    1. 在 Ubuntu Desktop 上安装并配置 SAMBA。将 IGX OS 放入 SAMBA 服务器路径,以启动 BMC 虚拟媒体来加载 IGX OS 镜像

      sudo apt update
      
      sudo apt install samba
      
    2. 现在 Samba 已经安装,我们需要创建一个目录供其共享。

      mkdir /home/<username>/sambashare/
      
    3. 为 sambashare 目录添加 samba 配置

      sudo vim /etc/samba/smb.conf
      
    4. 将块添加到 samba 配置的 smb.conf 文件末尾

      1[sambashare]
      2  comment = Samba on Ubuntu
      3  path = /home/username/sambashare
      4  read only = no
      5  browsable = yes
      
    5. 更新防火墙设置并重启 samba 服务

      sudo ufw allow samba
      
      sudo service smbd restart
      
    6. 设置用户名和密码

      sudo smbpasswd -a username
      
  2. 枚举 BMC USB 虚拟媒体

    1. 获取 IGX OS 版本并将 IGX OS 镜像复制到 sambashare 文件夹。

      cp <IGX OS image> /home/username/sambashare/
      
    2. 提供 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 '"'`
      
    3. 填写 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"}'
      
    4. 在 Orin 主机的 lsusb 中确认 USB 虚拟媒体条目。

      _images/image12.png
  3. 从 UEFI 安装 IGX OS

    1. 重启 Orin,等待 UEFI 启动,然后按 ESC 进入 UEFI 菜单

      _images/image2.png
    2. 使用向下箭头 (↓) 键选择启动管理器。USB 虚拟媒体将会在菜单中显示。

      _images/image8.png
    3. 选择 UEFI 0penBMC 虚拟媒体,然后安装 IGX OS,或在安装前使用 ‘e’ 键编辑选项。

      _images/image13.png
    4. 如果要挂载新的 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