Installing archlinux for EOMA68-A20 (with openrc from parabola and 3.4.104+)


  • sunxi-3.4 kernel
  • USB-UART dongle (use minicom -D /dev/ttyUSB0 to connect)

From host system:

  • Obtain ArchLinuxARM-armv7-latest.tar.gz
  • Format microsd card in "standard sunxi way" (leave space at front for boot)
  • mkfs.ext4 /dev/sdc2
  • resize2fs -s /dev/sdc2
  • tune2fs -O ^metadata_csum /dev/sdc2
  • tune2fs -O uninit_bg /dev/sdc2
  • mount /dev/sdg2 /mnt/card
  • cd /mnt/card
  • tar -xvzf {location}/ArchLinuxARM-armv7-latest.tar.gz
  • copy 3.4.104+ kernel modules to /mnt/card (can be done with INSTALL_MOD_PATH=/mnt/card make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules_install)
  • mount -o bind /dev /mnt/card/dev
  • mount -o bind /tmp /mnt/card/tmp
  • mount -o bind /proc /mnt/card/proc
  • mount -o bind /sys /mnt/card/sys
  • proot -0 -q /usr/bin/qemu-arm -r /mnt/card

Inside qemu-arm chroot:

vi /etc/pacman.conf and add:

Include = /etc/pacman.d/mirrorlist.parabola
Include = /etc/pacman.d/mirrorlist.parabola

vi /etc/pacman.d/mirrorlist.parabola

# Location: London, UK
# Responsible: Parabola Project
Server =$repo/os/$arch

Follow instructions:

  • pacman -S openrc-base (hit return to select all - ignore errors)
  • rc-update add cronie default
  • rc-update add dbus default
  • pacman -S eudev eudev-systemdcompat
  • pacman -S dhcpcd-openrc
  • rc-update add dhcpcd default
  • pacman -S rsyslog-openrc
  • rc-update add rsyslog default
  • mkdir /var/spool/rsyslog
  • edit /etc/inittab, search for "S0", uncomment, change 9600 to 115200
  • vi /etc/fstab and add: tmpfs /tmp tmpfs nodev,nosuid 0 0
  • touch /etc/sysctl.conf
  • mkdir /usr/lib/rc/cache
  • exit (with ctrl-D or just type "exit")

Outside qemu-arm chroot (from system host):

  • umount /mnt/card/dev
  • umount /mnt/card/tmp
  • umount /mnt/card/sys
  • umount /mnt/card/proc
  • umount /mnt/card

Boot from micro-sd card

  • log in as root (on serial console, if using USB-UART dongle)
  • pacman -Syu
  • pacman -S ntp-openrc
  • pacman -S openssh-openrc
  • rc-update add ntp-client default
  • rc-update add ntpd default
  • rc-update add sshd default

Install xorg, fbturbo driver, xfce4, lightdm

  • pacman -S xfce4 lightdm lightdm-gtk-greeter
  • pacman -S pcr/xf86-video-fbturbo-git xorg-server
  • pacman -S alsa-utils-openrc avahi-openrc cgmanager-openrc
  • pacman -S consolekit-openrc
  • pacman -S displaymanager-openrc udev-openrc
  • rc-update add alsasound default
  • {any other daemons seen during install of above xxxx-openrc}
  • vi /etc/conf.d/xdm and set DISPLAYMANAGER="lightdm"
  • rc-update add xdm default

Remove xflock4 and xscreensaver:

  • pacman -R xflock4
  • pacman -R xscreensaver

Install CEDAR accelerated Graphics Drivers and Video Players

  • pacman -S libvdpau-sunxi-git
  • pacman -S gstreamer-vaapi
  • pacman -S vlc mpv