Howto install archlinux arm: Difference between revisions
No edit summary |
Mandulete1 (talk | contribs) |
||
(76 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/ | 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: | 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 | 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: | umcompress rasbian lite image: | ||
xz -d 2023-02-21-raspios-bullseye-armhf-lite.img.xz | |||
rename rasbian lite image: | rename rasbian lite image: | ||
mv | 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 = | |||
* https://www.raspberrypi.com/software/operating-systems | |||
* 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