- Grab a an OpenBSD miniroot71.img for
7.1
or
-current and write it to an sdcard (
dd if=miniroot71.img of=/dev/sdXc
bs=1k
).
- Grab the
OEM firmware, extract armada-gl-mv1000-emmc.dtb from it (or grab
it from here) and copy it to
the root of the first partition of the sdcard (
mount /dev/sdXi /mnt;
cp armada-gl-mv1000-emmc.dtb /mnt; umount /mnt
).
Using the .dtb file that ships with OpenWRT
will cause OpenBSD 7.1 to report sdhc0: base clock
frequency unknown
errors and not find the sdcard. This was fixed after 7.1.
If your device still has the stock firmware you can probably skip this
step and change the first "load mmc 1:1" in the bootcmd below to "load
mmc 0:1" to load the vendor-supplied .dtb from the internal eMMC device.
- Connect the serial console and ethernet to the Brume. Power it on
and type "gl" into the console to interrupt the boot sequence. At the
Marvel>>
prompt set some variables.
Firstly, if your device is using a random mac address, you may want
to set it to a fixed value to prevent it eating all your DHCP addresses.
Warning: neta@30000 (eth0) using random MAC address - 5e:f4:db:4f:af:8c
eth0: neta@30000 [PRIME]
Hit "gl" key to stop booting in 2 seconds
Marvel>> setenv ethaddr 5e:f4:db:4f:af:8c
In all cases, set the bootcmd variable to load the DTB file and OpenBSD
bootloader from from the sdcard and run it:
Marvel>> setenv bootcmd 'load mmc 1:1 ${fdt_addr} armada-gl-mv1000-emmc.dtb; load mmc 1:1 ${kernel_addr} efi/boot/bootaa64.efi; bootefi ${kernel_addr} ${fdt_addr}'
Marvel>> saveenv
- Boot from the sdcard by typing "boot". At this point the OpenBSD
bsd.rd should boot from the sdcard and you can perform a normal network
installation back to the sdcard (which should be sd0 in the installer,
but will be sd1 when the system reboots). Leave the "i" partition on the
sdcard and all of the internal eMMC unchanged. If you make a mistake
after you start writing to the sdcard you'll need to to start again at
step 1.
Support status
The good:
- seems stable and survived a kernel build just fine
- ethernet (mvneta)
and SD card (sdhc)
work (both eMMC and removable).
- the USB interface doesn't work with 7.1. This was
fixed after 7.1 and works in -current.
The ok:
- the internal 4 port (3 external) ethernet switch works but is only
supported in unmanaged mode (mvsw). All three ports are effectively mvneta0 and you can't
reasonably use it as a router. There is some work
going on to address this with an driver (mvsport or eport) but at
the time of writing this has not been committed.
The bad:
References
Vendor U-Boot fork on github
Stock firmware boot log
OpenBSD boot log
eeprom -p when booted
with armada-gl-mv1000-emmc.dtb
eeprom -p when booted
with armada-3720-gl-mv1000.dtb