image image image image image

On This Page

This is an internal USB connection which provides RShim connectivity between the BMC and BlueField.

Provides Network Connection from BMC to BlueField DPU

By default, the BMC and BlueField interfaces are configured as follows:


BMCBlueField
Interface Name"tmfifo_net0""tmfifo_net0"
MAC Address00:1A:CA:FF:FF:0200:1A:CA:FF:FF:01
IP Address192.168.100.1192.168.100.2

Pushing BFB from BMC to BlueField-2 Arm

To update the software on the BlueField-2 Arm cores, the DPU must be booted up without mounting the eMMC flash device. This requires an external boot flow where a BFB (which includes ATF, UEFI, Linux kernel, and initramfs) is pushed from an external host via USB or PCIe. On BlueField-2 DPUs with an integrated BMC, the USB interface is internally connected to the BMC and is enabled by default. Therefore, you must verify that the RShim driver is running on the BMC. This provides the ability to push a bootstream over the USB interface to perform an external boot.

Changing Default Credentials Using bf.cfg

Ubuntu users are prompted to change the default password (ubuntu) for the default user (ubuntu) upon first login. Logging in will not be possible even if the login prompt appears until all services are up ("DPU is ready" message appears in /dev/rshim0/misc).

Attempting to log in before all services are up prints the following message: "Permission denied, please try again."

Alternatively, Ubuntu users can provide a unique password that will be applied at the end of the BFB installation. This password would need to be defined in a bf.cfg configuration file. To set the password for the ubuntu user:

  1. Create password hash. Run:

    # openssl passwd -1
    Password:
    Verifying - Password:
    $1$3B0RIrfX$TlHry93NFUJzg3Nya00rE1
  2. Add the password hash in quotes to the bf.cfg file:

    # vim bf.cfg
    ubuntu_PASSWORD='$1$3B0RIrfX$TlHry93NFUJzg3Nya00rE1'

    The bf.cfg file will be used with the bfb-install script in the following step. 

    Password policy:

    • Minimum password length – 8
    • At least one upper-case letter
    • At least one lower-case letter
    • At least one numerical character

Installing BFB

  1. Disable RShim on the host. Run on the host:

    systemctl stop rshim
    systemctl disable rshim
  2. Enable RShim on the BMC. Run on the BMC shell:

    ipmitool raw 0x32 0x6a 1
  3. Verify that the RShim service is running and that the /dev/rshim0 device is present. 

    ipmitool raw 0x32 0x69

    The expected output for this command is 0x01.

  4. Since the BFB is too large to be stored on the BMC flash or tmpfs, the image can be written to the RShim device from the remote server directly:

    scp <path_to_bfb> root@<bmc_ip>:/dev/rshim0/boot

    This initiates a soft reset on the BlueField-2 and then pushes the bootstream. For Ubuntu BFBs, the eMMC is flashed automatically once the bootstream is pushed. 

    If bf.cfg is needed as part of the boot process, run: 

    cat <path_to_bfb> bf.cfg > new.bfb
    scp <path to new.bfb> root@<bmc_ip>:/dev/rshim0/boot