Howto install artixlinux aarch64: Difference between revisions
Mandulete1 (talk | contribs) |
Mandulete1 (talk | contribs) m (Protected "Howto install artixlinux aarch64" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))) |
||
(31 intermediate revisions by the same user not shown) | |||
Line 12: | Line 12: | ||
= chroot with qemu = | = chroot with qemu = | ||
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 41: | 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 | ||
configure dns: | configure dns: | ||
cat > /etc/resolv.conf << EOF | cat > /etc/resolv.conf << EOF | ||
Line 55: | 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 | ||
remove armtix line from /etc/sudoers: | |||
sed -i '/armtix/d' /etc/sudoers | |||
set password to armtix user: | set password to armtix user: | ||
passwd armtix | passwd armtix | ||
echo "armtix ALL=(ALL:ALL) ALL" > /etc/sudoers.d/ | 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 | wget http://mirror.archlinuxarm.org/aarch64/alarm/firmware-raspberrypi-20231022-1-any.pkg.tar.xz | ||
start and enable | wget http://mirror.archlinuxarm.org/aarch64/alarm/raspberrypi-bootloader-20240726-1-any.pkg.tar.xz | ||
rc-update add NetworkManager | 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