Raspberry Pi 4 uses an ARMv7 processor according to its /proc/cpuinfo file, although Wikipedia says that it is an ARM Cortex A72, which is an ARMv8 model. The v7 architecture is 32-bit architecture while the v8 is 64-bit. I don't know why they mix these two architectures, but presume that the 32-bit code can run on a 64-bit chip and point out my observations here for your awareness.
To find the Raspberry Pi 4 on the archlinuxarm.org site open Platforms, then ARMv8, the Broadcom, and you will see the Pi4 listed. The firmware for the Pi4 is, however, named
visudo -f /etc/sudoers.d/my.rules
disable_overscan=1
Choose for yourself, but here's what I installed right away:
sudo su ← become root first, or else type sudo before every following command pacman -Syu pacman -S vim rsync tmux mlocate updatedb pacman -S base-devel unrar unzip subversion git gpm systemctl enable --now gpm
pacman -S xorg xorg-fonts xorg-drivers xorg-apps xfce4 xfce4-goodies pulseaudio hunspell-en_GB firefox firefox-i18n-en-gb pavucontrol bluez python2-pybluez
In your unprivileged (normal) user account create .xinitrc to start XFCE:
vim ~/.xinitrc exec startxfce4
X should now start with the startx
command.
If you would prefer a graphical log-in then the LXDE Display Manager is a good light-weight choice:
pacman -S lxdm systemctl enable --now lxdm
I have tried several SD card brands with the Pi4 and they are all really slow and give time-out errors when updating the O/S. I found that using an external USB HDD improved the speed tremendously. A USB SSD would be even faster, but those require more power. I don't want to have to upgrade my power supply, so I used a spinning HDD instead of an SSD.
It is fairly quick to do this. Here are the basic steps:
fdisk
the commands would be roughly like this, assuming your USB HDD is sdX (which it is not, so change to suit your situation):fdisk /dev/sdX o ← write a new partition table n ← create a new partition p ← primary partition ENTER ENTER +4G ← make a 4GB swap partition t ← change type 82 ← change to Linux Swap n ← create a new partition p ← primary partition ENTER ENTER +30G ← make a 30GB root partition n ← create a new partition p ← primary partition ENTER ENTER ENTER (use the rest of the available space) t ← change type 8e ← change to Linux LVM w ← write changes and exit
mkswap /dev/sdX1Remember to replace X with whatever the USB drive letter is, e.g., sdb1.
mkfs -t ext4 -L PiRoot /dev/sdX2Again, replace the X as appropriate in your case.
mkdir /mnt/usbhdd mount /dev/sdX2 /mnt/usbhddReplace X with the actual drive letter.
mkdir /mnt/sdcard mount /dev/mmcblkn0p1 /mnt/sdcardReplace mmcblkn0p1 with the actual device name, if different, e.g., on my desktop it is /dev/sdl1.
rsync -av /mnt/usbhdd/* /mnt/sdcard/
nano /mnt/sdcard/config.txtChange where it says
root=/dev/mmcblkn0p2
to root=/dev/sda2
so it uses the HDD for everything other than /boot.umount /mnt/sdcard umount /mnt/usbhdd