Howto install archlinux arm: Difference between revisions

From Vidalinux Wiki
Jump to navigation Jump to search
 
(36 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= download image =
= download image =
download raspbian lite image:
download raspbian lite image:
  wget https://downloads.raspberrypi.org/raspios_full_armhf/images/raspios_full_armhf-2021-11-08/2021-10-30-raspios-bullseye-armhf-full.zip
  wget https://downloads.raspberrypi.org/raspios_lite_arm64/images/raspios_lite_arm64-2023-12-11/2023-12-11-raspios-bookworm-arm64-lite.img.xz
download archlinuxarm image for raspberrypi 4:
download archlinuxarm image:
 
'''for raspberrypi 2'''
wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-armv7-latest.tar.gz
 
'''for raspberrypi 3'''
 
wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-aarch64-latest.tar.gz
 
'''for raspberrypi 4'''
  wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-aarch64-latest.tar.gz
  wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-aarch64-latest.tar.gz
umcompress rasbian lite image:
umcompress rasbian lite image:
  unzip 2021-10-30-raspios-bullseye-armhf-full.zip
  xz -d 2023-02-21-raspios-bullseye-armhf-lite.img.xz
rename rasbian lite image:
rename rasbian lite image:
  mv 2021-10-30-raspios-bullseye-armhf-full.img $(date +%F)-archlinuxarm.img
  mv 2023-02-21-raspios-bullseye-armhf-lite.img $(date +%F)-archlinuxarm.img
install multipath-tools:
install multipath-tools:
  pacman -S multipath-tools
  pacman -S multipath-tools
Line 19: Line 29:
  rm -rf /mnt/archarm/*
  rm -rf /mnt/archarm/*
copy archlinuxarm image content to mountpoint:
copy archlinuxarm image content to mountpoint:
  tar xvf ArchLinuxARM-rpi-aarch64-latest.tar.gz -C /mnt/archarm/
 
'''for raspberrypi 2'''
  tar xvf http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-armv7-latest.tar.gz -C /mnt/archarm/
 
'''for raspberrypi 3'''
 
tar xvf http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-aarch64-latest.tar.gz -C /mnt/archarm/
 
'''for raspberrypi 4'''
tar xvf http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-aarch64-latest.tar.gz -C /mnt/archarm/
use sync command to synchronizes the current file system:
  sync
  sync
update /etc/fstab for the different sd block device compared to the raspberrypi 3:
''' WARNING ONLY USE THE FOLLOWING COMMAND ON RASPBERRY PI 4 '''
 
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
  sed -i 's/mmcblk0/mmcblk1/g' /mnt/archarm/etc/fstab
umount partitions:
umount partitions:
Line 32: Line 54:
  fdisk -l /dev/sde
  fdisk -l /dev/sde
write image to sd card:
write image to sd card:
  dd if=$(date +%F)-archlinuxarm.img of=/dev/sde
  dd if=$(date +%F)-archlinuxarm.img of=/dev/sde status=progress
user information:
user information:
  user: root
  user: root
Line 43: Line 65:
configure wifi:
configure wifi:
  wpa_passphrase ssid-name password > /etc/wpa_supplicant/wpa_supplicant.conf
  wpa_passphrase ssid-name password > /etc/wpa_supplicant/wpa_supplicant.conf
  wpa_supplicant -D wext -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
  wpa_supplicant -D wext -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf &
dhcpcd wlan0
configure lan:
configure lan:
  ip addr add 192.168.75.55/24 dev eth0
  ip addr add 192.168.75.55/24 dev eth0
ip link set up eth0
  ip route add defualt via 192.168.75.1
  ip route add defualt via 192.168.75.1
  echo 'nameserver 4.2.2.1' > /etc/resolv.conf
  echo 'nameserver 4.2.2.1' > /etc/resolv.conf
  echo 'nameserver 4.2.2.2' >> /etc/resolv.conf
  echo 'nameserver 4.2.2.2' >> /etc/resolv.conf
= enable ssh =
= enable ssh =
start and enable ssh:
start and enable ssh:
Line 69: Line 94:
add alarm user to sudoers:
add alarm user to sudoers:
  echo 'alarm ALL=(ALL) ALL' >> /etc/sudoers
  echo 'alarm ALL=(ALL) ALL' >> /etc/sudoers
expand sd card:
curl -o /usr/local/bin/expand-sd https://img.vidalinux.com/files/expand-sd
chmod +x /usr/local/bin/expand-sd
expand-sd


= permanent network configuration =
= networkmanager =
install networkmanager:
install networkmanager:
  pacman -S networkmanager
  pacman -S networkmanager
Line 85: Line 106:
  nmcli device wifi connect ssid-name --ask
  nmcli device wifi connect ssid-name --ask
configure lan using nmcli:
configure lan using nmcli:
  nmcli con add con-name eth0 ifname eth0 ipv4.method manual ipv4.address 192.168.75.112/24 ipv4.gateway 192.168.75.1 ipv4.dns 4.2.2.1,4.2.2.2 type ethernet autoconnect yes
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 192.168.75.114/24 ipv4.gateway 192.168.75.1 ipv4.dns 4.2.2.1,4.2.2.2 type ethernet autoconnect yes
 
= expand sd card =
expand sd card:
pacman -S parted
curl -ko /usr/local/bin/expand-sd https://img.vidalinux.com/files/expand-sd
chmod +x /usr/local/bin/expand-sd
expand-sd
= install desktop =
= install desktop =
install xfce:
install xorg:
  pacman -S xfce
  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 https://aur.archlinux.org/yay.git
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:
https://download.nomachine.com/download/8.8/Windows/nomachine_8.8.1_1_x64.exe
* for mac:
https://download.nomachine.com/download/8.8/MacOSX/nomachine_8.8.1_1.dmg
* for linux .rpm:
https://download.nomachine.com/download/8.8/Linux/nomachine_8.8.1_1_x86_64.rpm
* for linux .deb:
https://download.nomachine.com/download/8.8/Linux/nomachine_8.8.1_1_amd64.deb


= references =
= references =
* https://www.raspberrypi.com/software/operating-systems
* https://www.raspberrypi.com/software/operating-systems
* https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-4
* https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-4

Latest revision as of 06:00, 13 February 2024

download image

download raspbian lite image:

wget https://downloads.raspberrypi.org/raspios_lite_arm64/images/raspios_lite_arm64-2023-12-11/2023-12-11-raspios-bookworm-arm64-lite.img.xz

download archlinuxarm image:

for raspberrypi 2

wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-armv7-latest.tar.gz

for raspberrypi 3

wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-aarch64-latest.tar.gz

for raspberrypi 4

wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-aarch64-latest.tar.gz

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 http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-armv7-latest.tar.gz -C /mnt/archarm/

for raspberrypi 3

tar xvf http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-aarch64-latest.tar.gz -C /mnt/archarm/

for raspberrypi 4

tar xvf http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-aarch64-latest.tar.gz -C /mnt/archarm/

use sync command to synchronizes the current file system:

sync

WARNING ONLY USE THE FOLLOWING COMMAND ON RASPBERRY PI 4

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:

dmesg 
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 192.168.75.55/24 dev eth0
ip link set up eth0
ip route add defualt via 192.168.75.1
echo 'nameserver 4.2.2.1' > /etc/resolv.conf
echo 'nameserver 4.2.2.2' >> /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

networkmanager

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 192.168.75.114/24 ipv4.gateway 192.168.75.1 ipv4.dns 4.2.2.1,4.2.2.2 type ethernet autoconnect yes

expand sd card

expand sd card:

pacman -S parted
curl -ko /usr/local/bin/expand-sd https://img.vidalinux.com/files/expand-sd
chmod +x /usr/local/bin/expand-sd
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 https://aur.archlinux.org/yay.git
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:
https://download.nomachine.com/download/8.8/Windows/nomachine_8.8.1_1_x64.exe
  • for mac:
https://download.nomachine.com/download/8.8/MacOSX/nomachine_8.8.1_1.dmg
  • for linux .rpm:
https://download.nomachine.com/download/8.8/Linux/nomachine_8.8.1_1_x86_64.rpm
  • for linux .deb:
https://download.nomachine.com/download/8.8/Linux/nomachine_8.8.1_1_amd64.deb

references