kyomu.orgFinding morsels of satisfaction in meaninglessness for some number of years that is greater than zero.
The RockPro64 is yet another SBC. It’s pitched as a desktop grade computer and it works well in that role. I have run a range of little ARM based servers over the years, and the RockPro64 seemed a good candidate to replace an ageing QNAP NAS that had served a long and happy retirement running Debian thanks to Martin Michlmayr's great collection of instructions. What follows is the long story of how I got to having to fix my SPI and how OpenBSD went onto the device.
I bought the board in 2019 and tinkered with it, running a couple of the distributions that are available. For a long time it then got lost in a drawer due to the QNAP continuing to tick along. The sheer size of recent Debian kernels saw that become increasingly untenable and I picked the device back up a couple of months ago. I tend to run OpenBSD on home network devices nowadays because as the time available for home projects decreases, the value of a comprehensibe OS has increased. OpenBSD has its downsides, but I find it the most consistent free OS out there right now. The introduction of syspatch and sysupgrade together have dramatically reduced the overhead of running OpenBSD. For my purposes, that overhead is well below that of any of the Linux distros.
There are straightforward instructions for installation of OpenBSD on the RockPro64 which I attempted to follow. Not for the first time in my career screwing with little ARM things, it would have been perfect but for the want of the correct serial adapter. The RockPro64 is annoyingly pernickety about the choice of adapter even for an interface that has pernickityness in the spec. Having exhausted my supply of interfaces (already depleted due to frying one when I mis-wired it to the QNAP…), I thought, “what the hell, I can probably get away with flashing this thing’s SPI to uboot without a serial connection”. I didn’t get away with it. So back to the drawer.
I recently gave in and bought a serial adapter with the advised chip and got back to work. After some more fun with the MacOS USB serial driver which I’m increasingly disinclined to trust, I broke out my ancient, OpenBSD running Lenovo X301 and got it connected with surprising ease. That is, the actual steps were easy. Determing the steps was somewhat more difficult. All the necessary information is out there, in the RockPro Wiki and elsewhere, but the specific set of problems I had created for myself required much hopping and skipping between pages. In the even this is what was required to recover a borked SPI and get OpenBSD onto the RockPro64.
- Follow the instructions in section 4 of this guide to flash the SPI with u-boot. Note that to recover the SPI flash, it needs first to be disabled by shorting pins 23 and 25 on the Pi2 Bus. This will allow the device to boot. The jumper across the pins must be removed as soon as you see the machine booting in the serial console or around 2s after applying power. If you don't do this, you won't be able to flash it.
- With u-boot installed to the SPI, follow the instructions from Jasperla's GitHub to install OpenBSD.
The following were all useful in the process and helped me to get the machine up and running.
- Latest Ayufan Linux release with dtd
- The actually perfect instructions for getting OpenBSD onto the RockPro64
- Ayufan uboot releases for RockPro64
- RockPro64 serial console
- RockPro64 Serial - do it this way
- Disabling the SPI when booting the RockPro64 so as to debork
- Detailed instructions for erase and flash of the SPI