====== Archlinux on Silicon Procs ======
Doc to set it up on UTM
===== Alpine Linux =====
First Download the aarch64 iso -> https://alpinelinux.org/downloads/ | https://dl-cdn.alpinelinux.org/alpine/latest-stable/releases/aarch64/
===== UTM setup =====
Create a New VM
Type: Other
add the CD/DVD boot ise file (Alpine ISO)
Edit the display settings for "ramfb"
===== Boot on Alpine =====
==== Basic setup ====
setup-alpine
Mostly [Enter] even for disk...
==== Let's go ====
apk update
apk add curl tar gptfdisk btrfs-progs
gdisk /dev/vda
GPT fdisk (gdisk) version 1.0.10
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries in memory.
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): Y
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-134217694, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-134217694, default = 134215679) or {+-}size{KMGTP}: +2G
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300): ef00
Changed type of partition to 'EFI system partition'
Command (? for help): n
Partition number (2-128, default 2):
First sector (34-134217694, default = 4196352) or {+-}size{KMGTP}:
Last sector (4196352-134217694, default = 134215679) or {+-}size{KMGTP}:
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): p
Disk /dev/vda: 134217728 sectors, 64.0 GiB
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): CC9275CB-EC7E-42E7-8567-967F8A3BCCBD
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 134217694
Partitions will be aligned on 2048-sector boundaries
Total free space is 4029 sectors (2.0 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 4196351 2.0 GiB EF00 EFI system partition
2 4196352 134215679 62.0 GiB 8300 Linux filesystem
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/vda.
The operation has completed successfully.
==== Format ====
mkfs.vfat -F32 /dev/vda1 # Format EFI partition
mkfs.btrfs -L ROOT /dev/vda2 # Format root partition
==== Mount ====
rm -rf /mnt/*
modprobe btrfs
mount /dev/vda2 /mnt
mkdir -p /mnt/boot/efi
modprobe vfat
mount /dev/vda1 /mnt/boot/efi
==== DL Arch ====
curl -L https://archlinuxarm.org/os/ArchLinuxARM-aarch64-latest.tar.gz -o /archlinuxarm.tar.gz
tar -xpf /archlinuxarm.tar.gz -C /mnt
sync
==== CHROOT ====
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
cp /etc/resolv.conf /mnt/etc/resolv.conf
chroot /mnt /bin/bash
==== Config ====
=== Pacman ===
pacman-key --init
pacman-key --populate archlinuxarm
pacman -Syu
If it fails... edit mirrorlist to uncomment the closest alive:
vi /etc/pacman.d/mirrorlist
⇒ Server = http://de3.mirror.archlinuxarm.org/
=== Linux & Grub ===
pacman -S linux linux-firmware grub
=== FSTAB ===
pacman -S arch-install-scripts
genfstab -U / >> /etc/fstab
=== Hostname ===
echo "alarm" > /etc/hostname
=== Network ===
systemctl enable dhcpcd
=== User ===
useradd -m -G wheel -s /bin/bash yourusername
passwd yourusername
echo "%wheel ALL=(ALL) ALL" >> /etc/sudoers
=== Final touch ===
pacman -S grub sudo
grub-install --target=arm64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg
exit
poweroff
==== Important INFO ====
* /dev/vda1 (efi partition) MUST be mounted on /boot/efi
remove Alpine ISO\\
Light a candle... boot\\
If stuck:\\
fs0:
cd EFI\ArchARM
grubaa64.efi
===== SSH =====
crap in /etc/ssh/sshd_config.d/* is preventing ssh-copy-id to work (good job!)
===== Hyprland =====
pacman -Syu
pacman -S base-devel git
pacman -S wayland wlroots xorg-server xorg-xwayland mesa seatd pipewire pipewire-pulse wireplumber vulkan-virtio spice-vdagent qemu-guest-agent kitty mesa glxinfo
systemctl enable --now seatd
export LIBSEAT_BACKEND=seatd
as normal user...
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
sudo pacman -S lightdm lightdm-gtk-greeter
sudo systemctl enable lightdm
Vérifier que l'"input" Display dans UTM est "virtio-gpu-gl-pci"
Reboot... To be continued car la conf de base utilise tous les raccourcis MacOS/UTM.... et kitty se lance pas