summaryrefslogtreecommitdiff
path: root/content/post/bsd-on-cubieboard1.en.blogc
blob: e6d8c92a41c2c0df556f7a685dafe651834c9f76 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
TITLE: Installing BSDs on Cubieboard1
DATE: 2022-05-29
TAGS: pushoverlicense freebsd netbsd openbsd software freesoftware foss sbc cubieboard
-------------------------

#### FreeBSD
* Download `SD Card Image` for `armv7/GENERICSD` from
  [here](https://www.freebsd.org/where/), burn to SD card as usual
* This image does not contain a U-boot capable of booting Cubieboard1. I
  couldn't figure out how to download FreeBSD packages without having FreeBSD
  installed, but U-boot image for Cubieboard1 is available in [Parabola
  repos](https://www.parabola.nu/packages/libre/armv7h/uboot4extlinux-cubieboard),
  after unpacking write it to the same SD card with `dd
  if=u-boot-sunxi-with-spl.bin conv=notrunc,sync of=/dev/sd_card_device bs=1k
    seek=8`. More info [here](https://wiki.freebsd.org/arm/Allwinner/booting)
* Boot, go through installation wizard, reboot, log in. Out of the box, FreeBSD
  takes 2.3Gb of space

  $ uname -srm
  FreeBSD 13.1-RELEASE arm

FreeBSD spoofed the MAC address for Cubieboard's builtin NIC for some reason.
Overall it works well - boots quickly, the usual shell work feels
snappy.

#### NetBSD
* Download `armv7.img.gz` right from the [homepage](http://www.netbsd.org),
  burn to SD card as usual
* Add U-boot, the command is slightly different from FreeBSD: `dd
  if=u-boot-sunxi-with-spl.bin conv=sync of=/dev/sd_card_device bs=1k seek=8`
    ([source](http://wiki.netbsd.org/ports/evbarm/allwinner/))
* Download .tgz "sets" from
  [here](https://cdn.netbsd.org/pub/NetBSD/NetBSD-9.2/evbarm-earmv7hf/binary/sets/),
  place them on a `FAT` partition on a USB stick
* Insert both SD card and USB stick, boot. Mount the partition on USB stick.
  An adventure in and of itself - [the name of the block device is different
  across
  commands](https://www.netbsd.org/docs/guide/en/chap-rmmedia.html#using-usb-flash-drives)
  (`/dev/rsd0d`, `sd0` (not `/dev/sd0`), `/dev/rsd0e` and I don't remember what
  I used for mounting) - see the link for details
* Run `sysinst` command, choose "Local directory", set the "Binary sets dir" to
  mounted USB partition dir. Clear all the other text fields, otherwise it will
  fail with some cryptic error. Choose "(Re-)Install additional sets" and
  "Minimal install"
* Reboot, log in. Out of the box, NetBSD takes 2.2Gb of space

  $ uname -srm
  NetBSD 9.2 evbarm

NetBSD is significantly slower than FreeBSD (I/O operations, installing
packages, ssh logins etc). By default, the hostname is the one received from
DHCP server. NetBSD used the native MAC address of the builtin NIC, just
like Debian.

#### OpenBSD
I followed the installation manual to get it onto the SD card and it sent the
board into a reboot loop with "DRAM init failure" error. I searched for it on
the web, didn't find any obvious solutions/workarounds, not really interested
in digging into it at the moment.

---
I want to use this board as a CI target, the `BSD` + `armv7hf` combination
should be exotic enough to catch portability issues.