image image image image image

On This Page

It is recommended to upgrade your BlueField product to the latest software and firmware versions available to benefit from new features and latest bug fixes.

PXE Server Preparations

  1. Provide the image from BFB file. Run:

    # mlx-mkbfb -x <BFB>

    For example: 

    # mlx-mkbfb -x DOCA_v1.1_BlueField_OS_Ubuntu_20.04-5.4.0-1017.17.gf565efa-bluefield-5.4-2.4.1.3-3.7.1.11866-1-aarch64.bfb

    mlx-mkbfb is a Python script that can be found in BlueField release tarball under the /bin directory or in the BlueField Arm file system /usr/bin/mlx-mkbfb.

  2. Copy the 2 dumped files, dump-image-v0 and dump-initramfs-v0 into the PXE server tftp path.
  3. In the PXE server create a boot entry. For example: 

    /var/lib/tftpboot/grub.cfg
    
    set default=0
    set timeout=5
    menuentry 'Bluefield_Ubuntu_20_04_From_BFB' --class red --class gnu-linux --class gnu --class os {
       linux (tftp)/ubuntu2/dump-image-v0 ro ip=dhcp console=hvc0 console=ttyAMA0
       initrd (tftp)/ubuntu2/dump-initramfs-v0
    }
  4. Define DHCP. 

    /etc/dhcp/dhcpd.conf
     
    allow booting;
    allow bootp;
     
    subnet 192.168.100.0 netmask 255.255.255.0 {
      range 192.168.100.10 192.168.100.20;
      option broadcast-address 192.168.100.255;
      option routers 192.168.100.1;
      option domain-name-servers <ip-address-list>
      option domain-search <domain-name-list>;
      next-server 192.168.100.1;
      filename "/BOOTAA64.EFI";
    }
     
    # Specify the IP address for this client.
    host tmfifo_pxe_client {
      hardware ethernet 00:1a:ca:ff:ff:01;
      fixed-address 192.168.100.2;
    }
    subnet 20.7.0.0 netmask 255.255.0.0 {
      range 20.7.8.10 20.7.254.254;
      next-server 20.7.6.6;
      filename "/BOOTAA64.EFI";
    }

PXE Sequence

  1. Connect to the BlueField console via UART or RShim console.
  2. Reboot Arm.
  3. Interrupt the boot process into UEFI menu.
  4. Access the Boot Manager menu.
  5. Select the relevant port to PXE from.