Difference between revisions of "Quartz64 Installing Arch Linux ARM"

Jump to navigation Jump to search
(Update linux-aarch64-rc package link to rc5)
m (change /dev/sdb to /dev/sdX)
Line 1: Line 1:
{{note|This page is a work in progress. If you are not familiar with user-mode QEMU, wait for the 5.16 kernel release. Right now there's still an iffy step left: installing a custom kernel package to get it booting. This will no longer be necessary with Linux 5.16.}}
{{note|This page is a work in progress. If you are not familiar with user-mode QEMU, wait for the 5.16 kernel release. Right now there's still an iffy step left: installing a custom kernel package to get it booting. This will no longer be necessary with Linux 5.16.}}


Commands to be run as a normal user are prefixed with <code>$</code>, commands to be run as root are prefixed with <code>#</code>. We assume your target device is <tt>/dev/sdb</tt>, adjust accordingly.
Commands to be run as a normal user are prefixed with <code>$</code>, commands to be run as root are prefixed with <code>#</code>. We assume your target device is <tt>/dev/sdX</tt>, adjust accordingly.


== Partitioning The Block Device ==
== Partitioning The Block Device ==


Here we assume your block device is <tt>/dev/sdb</tt>, adjust as needed.
Here we assume your block device is <tt>/dev/sdX</tt>, adjust as needed.


Create a new partition table:
Create a new partition table:


  # parted -s /dev/sdb mklabel gpt
  # parted -s /dev/sdX mklabel gpt


Create the partitions for loader and u-boot:
Create the partitions for loader and u-boot:
   
   
  # parted -s /dev/sdb mkpart loader 64s 8MiB
  # parted -s /dev/sdX mkpart loader 64s 8MiB
  # parted -s /dev/sdb mkpart uboot 8MiB 16MiB
  # parted -s /dev/sdX mkpart uboot 8MiB 16MiB


Create the partition for u-boot's environment:
Create the partition for u-boot's environment:


  # parted -s /dev/sdb mkpart env 16MiB 32MiB
  # parted -s /dev/sdX mkpart env 16MiB 32MiB


Create the "efi" boot partition and mark it as bootable:
Create the "efi" boot partition and mark it as bootable:


  # parted -s /dev/sdb mkpart efi fat32 32MiB 544MiB
  # parted -s /dev/sdX mkpart efi fat32 32MiB 544MiB
  # parted -s /dev/sdb set 4 boot on
  # parted -s /dev/sdX set 4 boot on


Create the root partition:
Create the root partition:


  # parted -s /dev/sdb mkpart root ext4 544MiB 100%
  # parted -s /dev/sdX mkpart root ext4 544MiB 100%


=== Creating The File Systems ===
=== Creating The File Systems ===
Line 33: Line 33:
Now create the file systems for boot and root:
Now create the file systems for boot and root:


  # mkfs.vfat -n "efi" /dev/sdb4
  # mkfs.vfat -n "efi" /dev/sdX4
  # mkfs.ext4 -L "rootfs" /dev/sdb5
  # mkfs.ext4 -L "rootfs" /dev/sdX5


== Fetching and Flashing U-Boot ==
== Fetching and Flashing U-Boot ==
Line 48: Line 48:
Flash idblock.bin and uboot.img:
Flash idblock.bin and uboot.img:


  # dd if=artifacts/idblock.bin of=/dev/sdb1
  # dd if=artifacts/idblock.bin of=/dev/sdX1
  # dd if=artifacts/uboot.img of=/dev/sdb2
  # dd if=artifacts/uboot.img of=/dev/sdX2


== Fetching The Root File System Tarball ==
== Fetching The Root File System Tarball ==
Line 71: Line 71:
== Installing The Root File System ==
== Installing The Root File System ==


  # mount /dev/sdb5 /mnt/alarm-root
  # mount /dev/sdX5 /mnt/alarm-root
  # mkdir /mnt/alarm-root/boot
  # mkdir /mnt/alarm-root/boot
  # mount /dev/sdb4 /mnt/alarm-root/boot
  # mount /dev/sdX4 /mnt/alarm-root/boot
  # bsdtar -xpf ArchLinuxARM-aarch64-latest.tar.gz -C /mnt/alarm-root
  # bsdtar -xpf ArchLinuxARM-aarch64-latest.tar.gz -C /mnt/alarm-root