Orange Pi OS (Arch) on Orange Pi Zero 3

Tags:

I recently ordered a Orange Pi Zero 3 board and installed Arch Linux ARM on it.

The official image list includes an image for “Orange Pi OS(Arch)”.

Extract the compressed image to an SD card at /dev/sdc as root:

xzcat Opios-arch-aarch64-xfce-opizero3-23.07-linux6.1.31-1gb-2gb.img.xz | dd of=/dev/sdc status=progress

After first boot and wifi and configured I disabled the window manager since it uses too much memory.

systemctl disable lightdm

Rebooting

It turns out rebooting the device is not trivial as it tends to shutdown instead.

Related issues:

Reboot commands tested:

reboot -f
shutdown -r now
systemctl reboot -f

USB Audio

In order to get this USB Speaker to work, I had to make sure my user was in the audio group:

usermod -a -G audio alarm

After that I could run commands like the following to identify which device it was (or run as root):

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: audiocodec [audiocodec], device 0: CDC PCM Codec-0 [CDC PCM Codec-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: ahubhdmi [ahubhdmi], device 0: ahub_plat-i2s-hifi i2s-hifi-0 [ahub_plat-i2s-hifi i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 3: Device [USB2.0 Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Then we update the /usr/share/alsa/alsa.conf file such that the following is updated from 0 to 3:

defaults.ctl.card 3
defaults.pcm.card 3

Updates

I found that the pacman repository had issues when trying to install some packages like go, etc.:

$ cat /etc/pacman.d/mirrorlist
Server = http://nl.mirror.orangeinfra.online/unstable/$arch/$repo

Instead, created a separate mirrorlist for core, extra, and community.

cat > /etc/pacman.d/mirrorlist-arch << EOF
Server = https://ca.us.mirror.archlinuxarm.org/\$arch/\$repo
EOF

Then edit pacman.conf to use that instead:

...
[core]
Include = /etc/pacman.d/mirrorlist-arch

[extra]
Include = /etc/pacman.d/mirrorlist-arch

[community]
Include = /etc/pacman.d/mirrorlist-arch

[opios]
Include = /etc/pacman.d/mirrorlist
...

The first time I tried to udpate from these repos I ran into issues with the keys so I resolved it with the following:

pacman-key --init
pacman -S archlinuxarm-keyring
pacman-key --populate archlinuxarm
pacman -Syu

Links