Howto install artixlinux aarch64: Difference between revisions

From Vidalinux Wiki
Jump to navigation Jump to search
m (Protected "Howto install artixlinux aarch64" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)))
 
(34 intermediate revisions by the same user not shown)
Line 1: Line 1:
= download image =
= download image =
create temp directory:
mkdir artixlinux && cd artixlinux
download raspios image:
download raspios image:
  wget wget https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2023-12-06/2023-12-05-raspios-bookworm-arm64.img.xz
  wget https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2023-12-06/2023-12-05-raspios-bookworm-arm64.img.xz
download image:
download image:
  wget https://armtixlinux.org/images/armtix-openrc-20240730.tar.xz
  wget https://armtixlinux.org/images/armtix-openrc-20240730.tar.xz
Line 8: Line 10:
change raspios image name:
change raspios image name:
  mv 2023-12-05-raspios-bookworm-arm64.img $(date +%F)-artixlinux-aarch64.img
  mv 2023-12-05-raspios-bookworm-arm64.img $(date +%F)-artixlinux-aarch64.img
= chroot with qemu =
= chroot with qemu =
use qemu-user-static to interpret the arm instructions in the chroot:
install qemu-user-static to interpret the arm instructions in the chroot:
  pacman -Sy qemu-user-static --noconfirm
  pacman -Sy qemu-user-static --noconfirm
install multipath-tools in archlinux:
install multipath-tools in archlinux:
Line 38: Line 41:
enter chroot using arch-chroot:
enter chroot using arch-chroot:
  chroot /mnt/temp
  chroot /mnt/temp
= configure image =
= configure image =
initialize pacman:
initialize pacman:
  pacman-key --init
  pacman-key --init
  pacman-key --populate
  pacman-key --populate
remove /etc/resolv.conf file:
rm /etc/resolv.conf
configure dns:
configure dns:
  cat > /etc/resolv.conf << EOF
  cat > /etc/resolv.conf << EOF
Line 52: Line 54:
  pacman -Syuu --noconfirm
  pacman -Syuu --noconfirm
install the following packages:
install the following packages:
  pacman -Sy base-devel libnewt git wget rsync networkmanager parted multipath-tools lsof git sudo fakeroot screen inetutils --noconfirm
  pacman -Sy base-devel libnewt git wget rsync networkmanager parted multipath-tools lsof git sudo fakeroot screen inetutils networkmanager-openrc wpa_supplicant-openrc net-tools htop wireless_tools usbutils --noconfirm
install expand-sd:
install expand-sd:
  curl -ko /usr/local/bin/expand-sd https://raw.githubusercontent.com/vidalinux/raspi/main/expand-sd
  curl -ko /usr/local/bin/expand-sd https://raw.githubusercontent.com/vidalinux/raspi/main/expand-sd
  chmod +x /usr/local/bin/expand-sd
  chmod +x /usr/local/bin/expand-sd
set password to alarm user:
remove armtix line from /etc/sudoers:
  passwd alarm
sed -i '/armtix/d' /etc/sudoers
  echo "alarm ALL=(ALL:ALL) ALL" > /etc/sudoers.d/alarm
set password to armtix user:
  passwd armtix
  echo "armtix ALL=(ALL:ALL) ALL" > /etc/sudoers.d/armtix
configure fstab:
cat > /etc/fstab << EOF
/dev/mmcblk0p1  /boot  vfat    defaults        0      0
/dev/mmcblk0p2  /      ext4    defaults        0      0
EOF
change root password:
change root password:
  passwd root
  passwd root
fix clock:
pacman -R ntp-openrc
pacman -S chrony-openrc
install kernel with aarch64:
install kernel with aarch64:
  wget http://mirror.archlinuxarm.org/aarch64/core/linux-rpi-6.6.42-1-aarch64.pkg.tar.xz
  wget http://mirror.archlinuxarm.org/aarch64/core/linux-rpi-6.6.42-1-aarch64.pkg.tar.xz
  tar xvf linux-rpi-6.6.42-1-aarch64.pkg.tar.xz /
  wget http://mirror.archlinuxarm.org/aarch64/alarm/firmware-raspberrypi-20231022-1-any.pkg.tar.xz
start and enable networkmanager:
wget http://mirror.archlinuxarm.org/aarch64/alarm/raspberrypi-bootloader-20240726-1-any.pkg.tar.xz
  rc-update add NetworkManager 5
pacman -U firmware-raspberrypi-20231022-1-any.pkg.tar.xz raspberrypi-bootloader-20240726-1-any.pkg.tar.xz linux-rpi-6.6.42-1-aarch64.pkg.tar.xz
ignore linux-rpi package in updates, edit /etc/pacman.conf:
IgnorePkg  = linux-rpi*
start and enable services:
  rc-update add NetworkManager default
rc-update add wpa_supplicant default
rc-update add chrony default
umount image:
./raspimg umount $(date +%F)-artixlinux-aarch64.img
connect sdcard to your computer then identify drive letter:
dmesg|tail|grep sd
copy image to sdcard:
dd if=$(date +%F)-artixlinux-aarch64.img of=/dev/sdd status=progress
 
= desktop environment =
install xorg:
pacman -Sy --noconfirm alsa-utils alsa-oss xorg xorg-server xf86-video-fbdev xorg-xrefresh ttf-dejavu ttf-bitstream-vera wqy-zenhei ttf-inconsolata ttf-ubuntu-font-family adobe-source-code-pro-fonts xterm xorg-twm libmd libbsd
install xfce4:
pacman -Sy --noconfirm xfce4 xfce4-goodies lightdm-gtk-greeter lightdm-openrc accountsservice gvfs gvfs-mtp ntfs-3g exfat-utils p7zip file-roller fcitx fcitx-configtool fcitx-gtk2 fcitx-gtk3 network-manager-applet gnome-keyring pavucontrol pavucontrol-qt pulseaudio-alsa xviewer xviewer-plugins webp-pixbuf-loader
enable and start lightdm:
rc-update add lightdm default
/etc/init.d/lightdm start
 
= installing yay =
installing yay:
su - armtix
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
 
= references =
= references =
* https://wiki.gentoo.org/wiki/OpenRC_to_systemd_Cheatsheet
* https://wiki.gentoo.org/wiki/OpenRC_to_systemd_Cheatsheet

Latest revision as of 19:12, 4 October 2024

download image

create temp directory:

mkdir artixlinux && cd artixlinux

download raspios image:

wget https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2023-12-06/2023-12-05-raspios-bookworm-arm64.img.xz

download image:

wget https://armtixlinux.org/images/armtix-openrc-20240730.tar.xz

decompress raspios image:

xz -d 2023-12-05-raspios-bookworm-arm64.img.xz

change raspios image name:

mv 2023-12-05-raspios-bookworm-arm64.img $(date +%F)-artixlinux-aarch64.img

chroot with qemu

install qemu-user-static to interpret the arm instructions in the chroot:

pacman -Sy qemu-user-static --noconfirm

install multipath-tools in archlinux:

pacman -S multipath-tools --noconfirm

if you use debian you can install this packages:

apt install kpartx qemu-user-static 

script to mount and umount raspberrypi image:

curl -ko ./raspimg https://raw.githubusercontent.com/vidalinux/raspi/main/raspimg 
chmod +x ./raspimg

mount image to /mnt/temp without binding directories:

./raspimg mount $(date +%F)-artixlinux-aarch64.img
do you want to bind /dev /proc /sys /pkg directories now : no

remove image contents from:

rm -rf /mnt/temp/*

decompress archlinux arm file to /mnt/temp:

tar xvf armtix-openrc-20240730.tar.xz -C /mnt/temp

copy the qemu-aarch64-static binary to the chroot:

cp /usr/bin/qemu-aarch64-static /mnt/temp/usr/bin/

register the qemu-aarch64-static as an arm interpreter in the kernel:

curl -ko /usr/local/bin/binfmt_manager https://raw.githubusercontent.com/mikkeloscar/binfmt-manager/master/binfmt_manager
chmod +x /usr/local/bin/binfmt_manager
binfmt_manager register aarch64

umount image:

./raspimg umount $(date +%F)-artixlinux-aarch64.img

mount it again binding /dev /proc /sys and pkg directories:

./raspimg mount $(date +%F)-artixlinux-aarch64.img
do you want to bind /dev /proc /sys /pkg directories now : yes

enter chroot using arch-chroot:

chroot /mnt/temp

configure image

initialize pacman:

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

configure dns:

cat > /etc/resolv.conf << EOF
nameserver 4.2.2.1
nameserver 4.2.2.2
EOF

update all system:

pacman -Syuu --noconfirm

install the following packages:

pacman -Sy base-devel libnewt git wget rsync networkmanager parted multipath-tools lsof git sudo fakeroot screen inetutils networkmanager-openrc wpa_supplicant-openrc net-tools htop wireless_tools usbutils --noconfirm

install expand-sd:

curl -ko /usr/local/bin/expand-sd https://raw.githubusercontent.com/vidalinux/raspi/main/expand-sd
chmod +x /usr/local/bin/expand-sd

remove armtix line from /etc/sudoers:

sed -i '/armtix/d' /etc/sudoers

set password to armtix user:

passwd armtix
echo "armtix ALL=(ALL:ALL) ALL" > /etc/sudoers.d/armtix

configure fstab:

cat > /etc/fstab << EOF
/dev/mmcblk0p1  /boot   vfat    defaults        0       0
/dev/mmcblk0p2  /       ext4    defaults        0       0
EOF

change root password:

passwd root

fix clock:

pacman -R ntp-openrc
pacman -S chrony-openrc

install kernel with aarch64:

wget http://mirror.archlinuxarm.org/aarch64/core/linux-rpi-6.6.42-1-aarch64.pkg.tar.xz
wget http://mirror.archlinuxarm.org/aarch64/alarm/firmware-raspberrypi-20231022-1-any.pkg.tar.xz
wget http://mirror.archlinuxarm.org/aarch64/alarm/raspberrypi-bootloader-20240726-1-any.pkg.tar.xz
pacman -U firmware-raspberrypi-20231022-1-any.pkg.tar.xz raspberrypi-bootloader-20240726-1-any.pkg.tar.xz linux-rpi-6.6.42-1-aarch64.pkg.tar.xz

ignore linux-rpi package in updates, edit /etc/pacman.conf:

IgnorePkg   = linux-rpi*

start and enable services:

rc-update add NetworkManager default
rc-update add wpa_supplicant default
rc-update add chrony default

umount image:

./raspimg umount $(date +%F)-artixlinux-aarch64.img

connect sdcard to your computer then identify drive letter:

dmesg|tail|grep sd

copy image to sdcard:

dd if=$(date +%F)-artixlinux-aarch64.img of=/dev/sdd status=progress

desktop environment

install xorg:

pacman -Sy --noconfirm alsa-utils alsa-oss xorg xorg-server xf86-video-fbdev xorg-xrefresh ttf-dejavu ttf-bitstream-vera wqy-zenhei ttf-inconsolata ttf-ubuntu-font-family adobe-source-code-pro-fonts xterm xorg-twm libmd libbsd

install xfce4:

pacman -Sy --noconfirm xfce4 xfce4-goodies lightdm-gtk-greeter lightdm-openrc accountsservice gvfs gvfs-mtp ntfs-3g exfat-utils p7zip file-roller fcitx fcitx-configtool fcitx-gtk2 fcitx-gtk3 network-manager-applet gnome-keyring pavucontrol pavucontrol-qt pulseaudio-alsa xviewer xviewer-plugins webp-pixbuf-loader

enable and start lightdm:

rc-update add lightdm default
/etc/init.d/lightdm start

installing yay

installing yay:

su - armtix
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

references