Quartz64 Installing Arch Linux ARM
Commands to be run as a normal user are prefixed with $
, commands to be run as root are prefixed with #
. We assume your target device is /dev/sdb, adjust accordingly.
Partitioning The Block Device
TODO
Fetching and Flashing U-Boot
TODO
Fetching The Root File System Tarball
Fetch the root filesystem tarball over HTTPS from the de3 mirror, the autoselect mirror is broken and will sometimes feed you mirrors with broken HTTPS.
$ wget -N https://de3.mirror.archlinuxarm.org/os/ArchLinuxARM-aarch64-latest.tar.gz{,.sig}
Fetch the gpg keys:
$ curl 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x68b3537f39a313b3e574d06777193f152bdbe6a6' | gpg --import=-
Verify the tarball's authenticity
$ gpg --verify ArchLinuxARM-aarch64-latest.tar.gz.sig
Installing The Root File System
sudo
, run it from an interactive root shell as done here with sudo -i
. At least the ALARM instructions claim this matters$ sudo -i # mount /dev/sdb5 /mnt/alarm-root # mount /dev/sdb4 /mnt/alarm-root/boot # bsdtar -xpf ArchLinuxARM-aarch64-latest.tar.gz -C /mnt/alarm-root
Editing fstab
Find your partition UUIDs for both partitions using lsblk
:
$ lsblk -o NAME,SIZE,MOUNTPOINTS,PARTUUID
In /mnt/alarm-root/etc/fstab, put the lines
PARTUUID=root-uuid-here / ext4 defaults 0 0 PARTUUID=boot-uuid-here /boot vfat defaults 0 1
with your UUIDs in place of the placeholder.
Writing extlinux.conf
Create a /mnt/alarm-root/boot/extlinux/extlinux.conf with these contents:
default l0 menu title Quartz64 Boot Menu prompt 0 timeout 50 label l0 menu label Boot Arch Kernel SDMMC linux /Image fdt /dtbs/rockchip/rk3566-quartz64-a.dtb append initrd=/initramfs-linux.img earlycon=uart8250,mmio32,0xfe660000 console=ttyS2,1500000n8 root=/dev/mmcblk0p5 rw rootwait
For eMMC instead of SD, replace /dev/mmcblk0p5
with /dev/mmcblk1p5
.
For a different type of Quartz64 device (e.g. Model B) replace the fdt line with the appropriate /boot-relative path to the device tree.
Once done, unmount the partitions:
# umount /mnt/alarm-root/boot # umount /mnt/alarm-root