Howto install archlinux arm

From Vidalinux Wiki
Jump to navigation Jump to search

download image

download raspbian lite image:


download archlinuxarm image:

for raspberrypi 2


for raspberrypi 3


for raspberrypi 4


umcompress rasbian lite image:

xz -d 2023-02-21-raspios-bullseye-armhf-lite.img.xz

rename rasbian lite image:

mv 2023-02-21-raspios-bullseye-armhf-lite.img $(date +%F)-archlinuxarm.img

install multipath-tools:

pacman -S multipath-tools

mount the image with kpart:

kpartx -va $(date +%F)-archlinuxarm.img

mount partitions:

mkdir /mnt/archarm
mount /dev/mapper/loop0p2 /mnt/archarm
mount /dev/mapper/loop0p1 /mnt/archarm/boot

remove all content:

rm -rf /mnt/archarm/*

copy archlinuxarm image content to mountpoint:

for raspberrypi 2

tar xvf -C /mnt/archarm/

for raspberrypi 3

tar xvf -C /mnt/archarm/

for raspberrypi 4

tar xvf -C /mnt/archarm/

use sync command to synchronizes the current file system:



update /etc/fstab for the different sd block device compared to the raspberrypi 2 or 3:

sed -i 's/mmcblk0/mmcblk1/g' /mnt/archarm/etc/fstab

umount partitions:

umount /mnt/archarm/boot
umount /mnt/archarm
kpartx -d /dev/loop0
losetup -d /dev/loop0

connect sd card to your computer and detect drive letter:

fdisk -l /dev/sde

write image to sd card:

dd if=$(date +%F)-archlinuxarm.img of=/dev/sde status=progress

user information:

user: root
pass: root

user: alarm
pass: alarm

configure network

configure wifi:

wpa_passphrase ssid-name password > /etc/wpa_supplicant/wpa_supplicant.conf
wpa_supplicant -D wext -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf &
dhcpcd wlan0

configure lan:

ip addr add dev eth0
ip link set up eth0
ip route add defualt via
echo 'nameserver' > /etc/resolv.conf
echo 'nameserver' >> /etc/resolv.conf

enable ssh

start and enable ssh:

systemctl enable sshd
systemctl start sshd

connect from external machine to raspberrypi:

ssh alarm@ip-address-of-raspberry

update system and install packages

set timezone:

timedatectl set-timezone America/Puerto_Rico

set clock month day hour year:

date 012003312022

initialize the pacman keyring and populate signing keys:

pacman-key --init
pacman-key --populate archlinuxarm

update system:

pacman -Syuuu

install base-devel package:

pacman -S base-devel libnewt git

add alarm user to sudoers:

echo 'alarm ALL=(ALL) ALL' >> /etc/sudoers


install networkmanager:

pacman -S networkmanager

start and enable networkmanager:

systemctl start NetworkManager
systemctl enable NetworkManager

configure wireless using nmcli:

nmcli device wifi rescan
nmcli device wifi list
nmcli device wifi connect ssid-name --ask

configure lan using nmcli:

systemctl start NetworkManager && \
systemctl enable NetworkManager && \
nmcli con del "Wired connection 1" && \
nmcli con del eth0 && \
nmcli con add con-name eth0 ifname eth0 ipv4.method manual ipv4.address ipv4.gateway ipv4.dns, type ethernet autoconnect yes

expand sd card

expand sd card:

pacman -S parted
curl -ko /usr/local/bin/expand-sd
chmod +x /usr/local/bin/expand-sd

install desktop

install xorg:

pacman -S alsa-utils alsa-oss xorg xorg-server xf86-video-fbdev xorg-xrefresh adobe-source-han-sans-cn-fonts ttf-dejavu ttf-bitstream-vera wqy-zenhei ttf-arphic-ukai ttf-arphic-uming opendesktop-fonts ttf-inconsolata ttf-ubuntu-font-family adobe-source-code-pro-fonts

install xfce4:

pacman -S xfce4 xfce4-goodies lightdm-gtk-greeter accountsservice gvfs gvfs-mtp ntfs-3g exfat-utils p7zip file-roller fcitx fcitx-configtool fcitx-googlepinyin fcitx-cloudpinyin fcitx-gtk2 fcitx-gtk3 network-manager-applet gnome-keyring

enable and start lightdm

systemctl enable lightdm
systemctl start lightdm

configure remote connection

installing yay:

su - alarm
git clone
cd yay
makepkg -si

install nomachine:

yay -S nomachine

edit file "/usr/NX/etc/server.cfg", set "StartNXDaemon" to "Automatic":

StartNXDaemon Automatic

then restart nxserver service:

systemctl restart nxserver

from your desktop computer or another computer install nomachine client:

  • for windows:
  • for mac:
  • for linux .rpm:
  • for linux .deb: