Methode Micro DPU - sartura/replica GitHub Wiki

Introduction

The Methode Micro-DPU (or ยตDPU) is a versatile, compact, single-channel distribution point unit (DPU) featuring a dual-core ARM Cortex-A53 embedded processor, 2x SFP 20-pin connectors, 1x USB Type-C management port and 2x RJ45 connectors. The device is powered using a local 12V to 18V power supply.

Building

To build firmware for the Micro-DPU using Replica.one, first clone the main repository as described in docs/QUICKSTART.md.

Next, invoke the build process using make:

make CTARGET=aarch64-unknown-linux-gnu package_methode-udpu

Sample (cached) build can be seen here:

asciicast

Firmware

A successful build will generate the following files in the output/ directory:

  • atf-flash-arm64-mvebu-methode-udpu.bin โ€” Trusted Firmware-A binary with U-Boot
  • gentoo-arm64-mvebu-methode-udpu.img.xz โ€” XZ compressed raw firmware disk image
  • sysdesc-arm64-mvebu-methode-udpu.txt โ€” a description of the system installation, including installed packages, package sizes, list of root filesystem contents, etc.

Flashing

Since UART access is required to flash the Micro-DPU device, you will first need to open the device. Use the atf-flash-arm64-mvebu-methode-udpu.bin and gentoo-arm64-mvebu-methode-udpu.img.xz files to flash U-Boot and Replica.one, respectively.

Flashing U-Boot

  1. Prepare a FAT32-formatted USB drive with the atf-flash-arm64-mvebu-methode-udpu.bin binary placed in the root directory of the drive (e.g. /dev/sdX1/atf-flash-arm64-mvebu-methode-udpu.bin)

  2. Enter the U-Boot command console by powering on the device, and press the Enter key once Hit any key to stop autoboot is visible

  3. Connect the USB drive to the device and run usb start

  4. Make sure the USB drive is detected by running usb tree

  5. Run: bubt atf-flash-arm64-mvebu-methode-udpu.bin spi usb

  6. When the flashing procedure finishes, remove the USB drive and reboot the device.

Optionally: reset the U-Boot environment to the default values by executing env default -a followed by env save.

The recording below shows the procedure for flashing the U-Boot boot loader:

asciicast

Flashing the Replica.one image

Prepare a bootable USB drive using the gentoo-arm64-mvebu-methode-udpu.img.xz file:

  1. Decompress the file with unxz gentoo-arm64-mvebu-methode-udpu.img.xz
  2. Create the bootable USB drive with dd if=gentoo-arm64-mvebu-methode-udpu.img of=/dev/sdX bs=4M status=progress && sync

Boot from the USB drive:

  1. Plug the USB drive into the device
  2. Enter the U-Boot command console
  3. Run: run usb_boot

Flash the Gentoo image:

  1. Move the gentoo-arm64-mvebu-methode-udpu.img image file to the device using scp or USB
  2. List all block devices and locate the eMMC storage with lsblk (usually mmcblk0)
  3. Run: dd if=gentoo-arm64-mvebu-methode-udpu.imgof=/dev/mmcblk0 bs=4M status=progress && reboot
  4. Remove the USB drive

The recording below shows the procedure for flashing the Replica.one firmware:

asciicast

Lastly, the recording below shows the entire boot process:

asciicast

Download

Download the precompiled firmware images for this device from here.

Additional resources