Howto install archlinux arm: Difference between revisions
Mandulete1 (talk | contribs) |
Mandulete1 (talk | contribs) |
||
(24 intermediate revisions by the same user 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 for raspberrypi | 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: | 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 | ||
''' WARNING ONLY USE | ''' WARNING ONLY USE THE FOLLOWING COMMAND ON RASPBERRY PI 4 ''' | ||
update /etc/fstab for the different sd block device compared to the raspberrypi 3: | 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 34: | 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 49: | Line 69: | ||
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 | ||
Line 73: | 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 | ||
= networkmanager = | = networkmanager = | ||
Line 89: | 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. | 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 xorg: | 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 | 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: | 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 | enable and start lightdm | ||
systemctl enable lightdm | systemctl enable lightdm | ||
systemctl start lightdm | systemctl start lightdm | ||
= configure remote connection = | = configure remote connection = | ||
installing yay: | installing yay: | ||
su - | su - alarm | ||
git clone https://aur.archlinux.org/yay.git | git clone https://aur.archlinux.org/yay.git | ||
cd yay | cd yay | ||
Line 114: | Line 142: | ||
from your desktop computer or another computer install nomachine client: | from your desktop computer or another computer install nomachine client: | ||
* for windows: | * for windows: | ||
https://download.nomachine.com/download/ | https://download.nomachine.com/download/8.8/Windows/nomachine_8.8.1_1_x64.exe | ||
* for mac: | * for mac: | ||
https://download.nomachine.com/download/ | https://download.nomachine.com/download/8.8/MacOSX/nomachine_8.8.1_1.dmg | ||
* for linux .rpm: | * for linux .rpm: | ||
https://download.nomachine.com/download/ | https://download.nomachine.com/download/8.8/Linux/nomachine_8.8.1_1_x86_64.rpm | ||
* for linux .deb: | * for linux .deb: | ||
https://download.nomachine.com/download/ | 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