- 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