Orange Pi OS (Arch) on Orange Pi Zero 3
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=progressAfter first boot and wifi and configured I disabled the window manager since it uses too much memory.
systemctl disable lightdmRebooting
It turns out rebooting the device is not trivial as it tends to shutdown instead.
Related issues:
- https://github.com/orangepi-xunlong/orangepi-build/issues/2
 - https://linux-sunxi.org/H6#Errata
 - http://www.orangepi.org/orangepiwiki/index.php/Orange_Pi_Zero_3#Prepare_the_required_accessories
 
Reboot commands tested:
reboot -f
shutdown -r now
systemctl reboot -fUSB 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 alarmAfter 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 #0Then 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/$repoInstead, 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
EOFThen 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 -SyuLinks