Enjoying Open Source Software

OpenBSD 7.1 on the Olimex A20-OlinuXino-LIME2

Olimex A20-OlinuXino-LIME2

The Olimex A20-OlinuXino-LIME2 is an older board with a 32-bits Allwinner A20 dual core Cortex-A7 processor running at 1 GHz and 1 Gb DDR3 RAM.

This board comes with a SATA connector, which was a distinctive feature at the time it was introduced.

It also has a HDMI connector, 1 Gb ethernet, and a LCD connector.

Olimex A20-OlinuXino-LIME2 with F-cable
Olimex A20-OlinuXino-LIME2 with serial cable attached

Installing OpenBSD armv7

I used the miniroot image for the A20 cubieboard, miniroot-cubie-71.img and dd-ed to a micro-SD card. This image file is about 35 MB.

Because I first installed FreeBSD 13.1 on this board. I used the u-boot boatloader image from FeeBSD from the package u-boot-olinuxino-lime2-2022.04_1. This packages contains the file u-boot-sunxi-with-spl.bin:

dd if=miniroot-cubie-71.img of=of=/path/to/sdcarddevice bs=1M conv=sync
dd if=/usr/local/share/u-boot/u-boot-olinuxino-lime/u-boot-sunxi-with-spl.bin of=/path/to/sdcarddevice bs=1k seek=8 conv=sync

These two images are small, therefor the dd action takes very little time.

With this micro-SD card in the slot, the Olimex A20-OlinuXino-LIME2 boots into the wonderful OpenBSD installer. As always with arm devices, OpenBSD can install a new system on the same card it boots the installer from.

Setup sets

The installer installs the sets over the network, so before installing you have to set up a local httpd server with the tgz files.

Setup installurl

When the install is finished and the board has rebooted, edit the file /etc/installurl and point it to a mirror in your region.

After this you can start installing packages.

$HOME in ramdisk

I run my $HOME in a memory file system, a.k.a. ramdisk.

I started to do this to prevent wear of the SD-card or other flash memory, and have learned to appreciate this kind of setup. On laptops and desktops it results in a clean $HOME after every reboot. It also helps my in my discipline to commit every important file and changes on them into my revision control system (I run a central Git server in my home network).

OpenBSD offers a brilliant mount option for memory file systems, this is the option -P/path/to/prototype. With this option. after creation the memory file system will be populated with the contents of /path/to/prototype, including any subdirs. q This is a great solution and I don't understand why other OS-es like FreeBSD or Linux don't offer it. q On this board I create a directory /proto and create a tree in this. I have this line in the /etc/fstab:

swap /home/[username] mfs rw,nosuid,noexec,-P=/proto/home/[username],-s=256000 0 0

Adjust the size (here: 256000) to your needs and the hardware specifics. Move of copy the contents of your home directory to the proto directory (here: /proto/home/[username]) and reboot.


I run this system headless (no display and no keyboard attached, and use ssh to log in to it).

I haven't tried to hook a HDMI display or a keyboard on to it. I haven't tried to use an SATA disk with it. Also I haven't attached an LCD panel or used the GPO. So I can't say if these work well under OpenBSD.

Limited capabilities

Like stated above, this board is powered by am Allwinner A20 dual core Cortex-A7 processor running at 1 GHz, and is fitted with 1 Gb DDR3 RAM.

For your reference: according to Wikipedia, the original Raspberry Pi 2 was powered by a quad core Cortex-A7 processor, running on 900 MHz. Therefor, compared to the original Raspberry Pi 2, the Olimex A20-OlinuXino-LIME2 is less performant.

There are of course a number of things you can do with this board, like running some TUI (text mode user interface) applications, like an IRC client like irssi or weechat, a text mode browser like lynx.


⇽ The Old Computer Challenge 2022 Texinfo as Personal Knowledge Base ⇾