Skip to main content

Semi-Manual Arch Linux ARM Installation on PinePhone from Barebone

·
Categories Smartphones Linux Phones
Tags PinePhone Arch Linux

danct12, who maintains Arch Linux ARM for the PinePhone, regularly releases prebuilt Arch Linux images. Besides images with Phosh and Plasma preinstalled, there is also a “barebone” image with only a terminal interface.

We are going to use the “barebone” version for a “semi-manual installation”. After flashing it, you manually install the desktop environment. The process looks roughly like this:

This gives you a rough idea of how the PinePhone works. You can even install desktop environments that danct12 does not provide, for example making Phosh, Plasma Mobile, and GNOME coexist.

  1. On your computer, download the PinePhone barebone image.

  2. Flash it to an SD card. If you have Tow-Boot installed, you can also flash it directly to the PinePhone’s eMMC.

sudo dd if=archlinux-pinephone-barebone-20220729.img of=/dev/sdc bs=100M
  1. Insert it into the PinePhone and boot the PinePhone from the SD card.

  2. After booting, you will be dropped into a terminal interface. The default user is root, with password root. There is also a normal user alarm, with password 123456. Please connect a keyboard. This is where the fun stops being theoretical.

  3. Use nmcli to connect to Wi-Fi. But the hardware Wi-Fi on my PinePhone is fried, sadly, so I used wired networking instead. First, ping something to see whether the network connected automatically:

ping google.com -C 3
  1. Edit /etc/pacman.d/mirrorlist with vi, and uncomment the Taiwan Arch Linux ARM mirror sites to speed up downloads.

  2. Update system packages:

pacman -Syu
  1. Install the desktop environment and common software. danct12’s repository already groups the needed packages for us:
pacman -S base sudo networkmanager danctnix-usb-tethering openssh firefox
  1. Install Phosh:
pacman -S danctnix-phosh-ui-meta dialog kgx
  1. Or install Plasma Mobile. The two can coexist:
pacman -S danctnix-pm-ui-meta dialog kgx
  1. Enable the desktop environment services:
systemctl enable NetworkManager
systemctl enable ModemManager
systemctl enable sshd
systemctl enable usb-tethering
# If you installed Phosh
systemctl enable phosh
# If you installed Plasma Mobile
systemctl enable lightdm
  1. That’s it? Yep. Reboot and try entering the system. This is what a minimal installation looks like: basically no software at all. Install Linux apps as needed, and do not forget that Arch Linux ARM can use an AUR Helper too.

  2. As you can see from step 8 above, which desktop environment starts is decided by systemd launching the relevant window manager. GNOME’s GDM works the same way. Also, with a physical keyboard, pressing CTRL+ALT+F1 while the system is running switches to TTY.

For a “real manual installation”, see this: download Arch Linux ARM yourself, manually create the boot and root partitions, then shove rootfs into place: https://github.com/dreemurrs-embedded/Pine64-Arch/wiki/Manual-Install-(like-desktop-Arch)

Related


Thank you for reading. Public comments are not available on this website. I write to explore ideas honestly, not to chase social engagement or traffic. I would be glad to hear your thoughts after reading the article with care. If you found any errors, technical issues, or would like to share feedback, feel free to contact me via the email listed on the About page.