<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.pine64.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=WoC</id>
	<title>PINE64 - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.pine64.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=WoC"/>
	<link rel="alternate" type="text/html" href="https://wiki.pine64.org/wiki/Special:Contributions/WoC"/>
	<updated>2026-06-16T19:55:26Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Talk:Pinebook_Pro_Installing_Arch_Linux_ARM&amp;diff=14094</id>
		<title>Talk:Pinebook Pro Installing Arch Linux ARM</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Talk:Pinebook_Pro_Installing_Arch_Linux_ARM&amp;diff=14094"/>
		<updated>2022-09-19T05:05:05Z</updated>

		<summary type="html">&lt;p&gt;WoC: Created page with &amp;quot;I would recommend installing Tow-Boot on SPI, it really simplifies things and also enables boot from nvme, if installed.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I would recommend installing Tow-Boot on SPI, it really simplifies things and also enables boot from nvme, if installed.&lt;/div&gt;</summary>
		<author><name>WoC</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro_Installing_Arch_Linux_ARM&amp;diff=14093</id>
		<title>Pinebook Pro Installing Arch Linux ARM</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro_Installing_Arch_Linux_ARM&amp;diff=14093"/>
		<updated>2022-09-19T04:53:34Z</updated>

		<summary type="html">&lt;p&gt;WoC: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These instructions can be followed to install Arch Linux ARM on an SD Card, USB Flash Drive, eMMC, or even NVMe if your U-Boot supports it.&lt;br /&gt;
(Should you have Tow-Boot installed on SPI, nvme boot is supported)&lt;br /&gt;
&lt;br /&gt;
Commands to be run as a normal user are prefixed with &amp;lt;code&amp;gt;$&amp;lt;/code&amp;gt;, commands to be run as root (or with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;) are prefixed with &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;.&lt;br /&gt;
The target device is assumed to be &amp;lt;tt&amp;gt;/dev/sdb&amp;lt;/tt&amp;gt;, adjust accordingly.&lt;br /&gt;
&lt;br /&gt;
== Partitioning ==&lt;br /&gt;
=== Flashing U-Boot ===&lt;br /&gt;
{{note|While any U-Boot for the Pinebook Pro can be used, this tutorial uses [https://tow-boot.org Tow-Boot].&lt;br /&gt;
The process of installing Tow-Boot is different from any other U-Boot, so large parts of the partitioning section will need to be changed if you want to use something else.}}&lt;br /&gt;
&lt;br /&gt;
Download and extract the latest release of Tow-Boot for the Pinebook Pro from https://github.com/Tow-Boot/Tow-Boot/releases.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ wget https://github.com/Tow-Boot/Tow-Boot/releases/download/release-2021.10-004/pine64-pinebookPro-2021.10-004.tar.xz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 $ tar xf pine64-pinebookPro-2021.10-004.tar.xz&lt;br /&gt;
&lt;br /&gt;
Flash Tow-Boot to &amp;lt;tt&amp;gt;/dev/sdb&amp;lt;/tt&amp;gt; (replace this with the device you actually intend to use).&lt;br /&gt;
 # dd if=pine64-pinebookPro-2021.10-004/shared.disk-image.img of=/dev/sdb bs=1M oflag=direct,sync&lt;br /&gt;
&lt;br /&gt;
This creates the partition table for the device, with the first partition serving to protect Tow-Boot. Do not move or write to this partition.&lt;br /&gt;
&lt;br /&gt;
=== Creating the partitions ===&lt;br /&gt;
Use &amp;lt;code&amp;gt;fdisk&amp;lt;/code&amp;gt; to add partitions to &amp;lt;tt&amp;gt;/dev/sdb&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 # fdisk /dev/sdb&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;tt&amp;gt;/boot&amp;lt;/tt&amp;gt; partition.&lt;br /&gt;
* Type '''n''' to create a new partition.&lt;br /&gt;
* Press enter for partition number two.&lt;br /&gt;
* Press enter for the default start sector.&lt;br /&gt;
* Type '''+256M''' to make the new partition 256 MiB.&lt;br /&gt;
&lt;br /&gt;
Mark the &amp;lt;tt&amp;gt;/boot&amp;lt;/tt&amp;gt; partition bootable.&lt;br /&gt;
* Type '''x''' to enter expert mode.&lt;br /&gt;
* Type '''A''' to mark a partition bootable.&lt;br /&gt;
* Type '''2''' to select partition two.&lt;br /&gt;
* Type '''r''' to exit expert mode.&lt;br /&gt;
&lt;br /&gt;
Create the root partition.&lt;br /&gt;
* Type '''n''' to create a new partition.&lt;br /&gt;
* Press enter for partition number three.&lt;br /&gt;
* Press enter for the default start sector.&lt;br /&gt;
* Press enter to fill the rest of the device.&lt;br /&gt;
&lt;br /&gt;
Write the changes to disk.&lt;br /&gt;
* Type '''w''' to write the changes and exit.&lt;br /&gt;
&lt;br /&gt;
=== Formatting the partitions ===&lt;br /&gt;
Format the &amp;lt;tt&amp;gt;/boot&amp;lt;/tt&amp;gt; partition as either FAT32 or ext4.&lt;br /&gt;
&lt;br /&gt;
FAT32:&lt;br /&gt;
 # mkfs.fat -F32 /dev/sdb2&lt;br /&gt;
ext4:&lt;br /&gt;
 # mkfs.ext4 /dev/sdb2&lt;br /&gt;
&lt;br /&gt;
Format the root partition as any filesystem supported by Arch Linux ARM. For this example ext4 is used:&lt;br /&gt;
 # mkfs.ext4 /dev/sdb3&lt;br /&gt;
&lt;br /&gt;
== Installing the root filesystem ==&lt;br /&gt;
=== Mounting the partitions ===&lt;br /&gt;
 # mount /dev/sdb3 /mnt&lt;br /&gt;
 # mkdir /mnt/boot&lt;br /&gt;
 # mount /dev/sdb2 /mnt/boot&lt;br /&gt;
&lt;br /&gt;
=== Downloading and verifying the rootfs tarball ===&lt;br /&gt;
Download the tarball and its PGP signature.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ wget http://os.archlinuxarm.org/os/ArchLinuxARM-aarch64-latest.tar.gz{,.sig}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Import the Arch Linux ARM signing key.&lt;br /&gt;
 $ gpg --keyserver keyserver.ubuntu.com --recv-keys 68B3537F39A313B3E574D06777193F152BDBE6A6&lt;br /&gt;
&lt;br /&gt;
Verify the tarball's authenticity.&lt;br /&gt;
 $ gpg --verify ArchLinuxARM-aarch64-latest.tar.gz.sig&lt;br /&gt;
&lt;br /&gt;
Verifying the authenticity of the tarball protects you in two ways:&lt;br /&gt;
# Makes sure the tarball came directly from Arch Linux ARM and was not tampered with&lt;br /&gt;
# Prevents you from using a corrupt tarball (for example from an interrupted download)&lt;br /&gt;
&lt;br /&gt;
=== Extracting and configuring the root filesystem ===&lt;br /&gt;
==== Extracting the root filesystem ====&lt;br /&gt;
 # bsdtar -xpf ArchLinuxARM-aarch64-latest.tar.gz -C /mnt&lt;br /&gt;
&lt;br /&gt;
==== Editing fstab ====&lt;br /&gt;
Find the partitions' UUIDs with &amp;lt;code&amp;gt;blkid&amp;lt;/code&amp;gt;.&lt;br /&gt;
 # blkid /dev/sdb2 /dev/sdb3&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 /dev/sdb2: UUID=&amp;quot;21bbff3f-b82e-416e-93c8-e6d44c3daf82&amp;quot; BLOCK_SIZE=&amp;quot;4096&amp;quot; TYPE=&amp;quot;ext4&amp;quot; PARTUUID=&amp;quot;be571200-1a56-5d4c-9a5b-88a5f36a295e&amp;quot;&lt;br /&gt;
 /dev/sdb3: UUID=&amp;quot;d22c5207-0f87-4fe9-91ce-6d6e0fb9a13e&amp;quot; BLOCK_SIZE=&amp;quot;4096&amp;quot; TYPE=&amp;quot;ext4&amp;quot; PARTUUID=&amp;quot;1d3603f4-bcd4-3c41-8d6d-23e65b405e5a&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Add the following lines to &amp;lt;tt&amp;gt;/mnt/etc/fstab&amp;lt;/tt&amp;gt;, substituting the example UUIDs with those you received from &amp;lt;code&amp;gt;blkid&amp;lt;/code&amp;gt;.&lt;br /&gt;
 UUID=d22c5207-0f87-4fe9-91ce-6d6e0fb9a13e /     ext4 defaults 0 1&lt;br /&gt;
 UUID=21bbff3f-b82e-416e-93c8-e6d44c3daf82 /boot ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
==== Creating extlinux.conf ====&lt;br /&gt;
Create a file &amp;lt;tt&amp;gt;/mnt/boot/extlinux/extlinux.conf&amp;lt;/tt&amp;gt; with the following contents, replacing the example UUID with the one for &amp;lt;tt&amp;gt;/dev/sdb3&amp;lt;/tt&amp;gt; from &amp;lt;code&amp;gt;blkid&amp;lt;/code&amp;gt;.&lt;br /&gt;
 DEFAULT arch&lt;br /&gt;
 MENU TITLE Boot Menu&lt;br /&gt;
 PROMPT 0&lt;br /&gt;
 TIMEOUT 50&lt;br /&gt;
 &lt;br /&gt;
 LABEL arch&lt;br /&gt;
 MENU LABEL Arch Linux ARM&lt;br /&gt;
 LINUX /Image&lt;br /&gt;
 FDT /dtbs/rockchip/rk3399-pinebook-pro.dtb&lt;br /&gt;
 APPEND initrd=/initramfs-linux.img root=UUID=d22c5207-0f87-4fe9-91ce-6d6e0fb9a13e rw&lt;br /&gt;
&lt;br /&gt;
== Booting and finishing setup ==&lt;br /&gt;
Boot into Arch Linux ARM and log in as &amp;lt;tt&amp;gt;root&amp;lt;/tt&amp;gt; with password &amp;lt;tt&amp;gt;root&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Initialize the pacman keyring.&lt;br /&gt;
 # pacman-key --init&lt;br /&gt;
 # pacman-key --populate archlinuxarm&lt;br /&gt;
&lt;br /&gt;
For security, change the default passwords for root and the default user &amp;lt;tt&amp;gt;alarm&amp;lt;/tt&amp;gt;.&lt;br /&gt;
 # passwd&lt;br /&gt;
 # passwd alarm&lt;br /&gt;
&lt;br /&gt;
Congratulations, you have now installed Arch Linux ARM on your PineBook Pro!&lt;br /&gt;
&lt;br /&gt;
Note that: Should you have tow-boot installed on the SPI, you can simply skip the tow-boot step and partition #1 would be your /boot and #2 / (rootfs)&lt;br /&gt;
Also note that the pacman-key will take a very long time, make sure to use the command sync to ensure it is ready for you to reboot, before you reboot&lt;/div&gt;</summary>
		<author><name>WoC</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro_Installing_Arch_Linux_ARM&amp;diff=14092</id>
		<title>Pinebook Pro Installing Arch Linux ARM</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro_Installing_Arch_Linux_ARM&amp;diff=14092"/>
		<updated>2022-09-19T04:52:10Z</updated>

		<summary type="html">&lt;p&gt;WoC: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These instructions can be followed to install Arch Linux ARM on an SD Card, USB Flash Drive, eMMC, or even NVMe if your U-Boot supports it.&lt;br /&gt;
(Should you have Tow-Boot installed on SPI, nvme boot is supported)&lt;br /&gt;
&lt;br /&gt;
Commands to be run as a normal user are prefixed with &amp;lt;code&amp;gt;$&amp;lt;/code&amp;gt;, commands to be run as root (or with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;) are prefixed with &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;.&lt;br /&gt;
The target device is assumed to be &amp;lt;tt&amp;gt;/dev/sdb&amp;lt;/tt&amp;gt;, adjust accordingly.&lt;br /&gt;
&lt;br /&gt;
== Partitioning ==&lt;br /&gt;
=== Flashing U-Boot ===&lt;br /&gt;
{{note|While any U-Boot for the Pinebook Pro can be used, this tutorial uses [https://tow-boot.org Tow-Boot].&lt;br /&gt;
The process of installing Tow-Boot is different from any other U-Boot, so large parts of the partitioning section will need to be changed if you want to use something else.}}&lt;br /&gt;
&lt;br /&gt;
Download and extract the latest release of Tow-Boot for the Pinebook Pro from https://github.com/Tow-Boot/Tow-Boot/releases.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ wget https://github.com/Tow-Boot/Tow-Boot/releases/download/release-2021.10-004/pine64-pinebookPro-2021.10-004.tar.xz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 $ tar xf pine64-pinebookPro-2021.10-004.tar.xz&lt;br /&gt;
&lt;br /&gt;
Flash Tow-Boot to &amp;lt;tt&amp;gt;/dev/sdb&amp;lt;/tt&amp;gt; (replace this with the device you actually intend to use).&lt;br /&gt;
 # dd if=pine64-pinebookPro-2021.10-004/shared.disk-image.img of=/dev/sdb bs=1M oflag=direct,sync&lt;br /&gt;
&lt;br /&gt;
This creates the partition table for the device, with the first partition serving to protect Tow-Boot. Do not move or write to this partition.&lt;br /&gt;
&lt;br /&gt;
=== Creating the partitions ===&lt;br /&gt;
Use &amp;lt;code&amp;gt;fdisk&amp;lt;/code&amp;gt; to add partitions to &amp;lt;tt&amp;gt;/dev/sdb&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 # fdisk /dev/sdb&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;tt&amp;gt;/boot&amp;lt;/tt&amp;gt; partition.&lt;br /&gt;
* Type '''n''' to create a new partition.&lt;br /&gt;
* Press enter for partition number two.&lt;br /&gt;
* Press enter for the default start sector.&lt;br /&gt;
* Type '''+256M''' to make the new partition 256 MiB.&lt;br /&gt;
&lt;br /&gt;
Mark the &amp;lt;tt&amp;gt;/boot&amp;lt;/tt&amp;gt; partition bootable.&lt;br /&gt;
* Type '''x''' to enter expert mode.&lt;br /&gt;
* Type '''A''' to mark a partition bootable.&lt;br /&gt;
* Type '''2''' to select partition two.&lt;br /&gt;
* Type '''r''' to exit expert mode.&lt;br /&gt;
&lt;br /&gt;
Create the root partition.&lt;br /&gt;
* Type '''n''' to create a new partition.&lt;br /&gt;
* Press enter for partition number three.&lt;br /&gt;
* Press enter for the default start sector.&lt;br /&gt;
* Press enter to fill the rest of the device.&lt;br /&gt;
&lt;br /&gt;
Write the changes to disk.&lt;br /&gt;
* Type '''w''' to write the changes and exit.&lt;br /&gt;
&lt;br /&gt;
=== Formatting the partitions ===&lt;br /&gt;
Format the &amp;lt;tt&amp;gt;/boot&amp;lt;/tt&amp;gt; partition as either FAT32 or ext4.&lt;br /&gt;
&lt;br /&gt;
FAT32:&lt;br /&gt;
 # mkfs.fat -F32 /dev/sdb2&lt;br /&gt;
ext4:&lt;br /&gt;
 # mkfs.ext4 /dev/sdb2&lt;br /&gt;
&lt;br /&gt;
Format the root partition as any filesystem supported by Arch Linux ARM. For this example ext4 is used:&lt;br /&gt;
 # mkfs.ext4 /dev/sdb3&lt;br /&gt;
&lt;br /&gt;
== Installing the root filesystem ==&lt;br /&gt;
=== Mounting the partitions ===&lt;br /&gt;
 # mount /dev/sdb3 /mnt&lt;br /&gt;
 # mkdir /mnt/boot&lt;br /&gt;
 # mount /dev/sdb2 /mnt/boot&lt;br /&gt;
&lt;br /&gt;
=== Downloading and verifying the rootfs tarball ===&lt;br /&gt;
Download the tarball and its PGP signature.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ wget http://os.archlinuxarm.org/os/ArchLinuxARM-aarch64-latest.tar.gz{,.sig}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Import the Arch Linux ARM signing key.&lt;br /&gt;
 $ gpg --keyserver keyserver.ubuntu.com --recv-keys 68B3537F39A313B3E574D06777193F152BDBE6A6&lt;br /&gt;
&lt;br /&gt;
Verify the tarball's authenticity.&lt;br /&gt;
 $ gpg --verify ArchLinuxARM-aarch64-latest.tar.gz.sig&lt;br /&gt;
&lt;br /&gt;
Verifying the authenticity of the tarball protects you in two ways:&lt;br /&gt;
# Makes sure the tarball came directly from Arch Linux ARM and was not tampered with&lt;br /&gt;
# Prevents you from using a corrupt tarball (for example from an interrupted download)&lt;br /&gt;
&lt;br /&gt;
=== Extracting and configuring the root filesystem ===&lt;br /&gt;
==== Extracting the root filesystem ====&lt;br /&gt;
 # bsdtar -xpf ArchLinuxARM-aarch64-latest.tar.gz -C /mnt&lt;br /&gt;
&lt;br /&gt;
==== Editing fstab ====&lt;br /&gt;
Find the partitions' UUIDs with &amp;lt;code&amp;gt;blkid&amp;lt;/code&amp;gt;.&lt;br /&gt;
 # blkid /dev/sdb2 /dev/sdb3&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 /dev/sdb2: UUID=&amp;quot;21bbff3f-b82e-416e-93c8-e6d44c3daf82&amp;quot; BLOCK_SIZE=&amp;quot;4096&amp;quot; TYPE=&amp;quot;ext4&amp;quot; PARTUUID=&amp;quot;be571200-1a56-5d4c-9a5b-88a5f36a295e&amp;quot;&lt;br /&gt;
 /dev/sdb3: UUID=&amp;quot;d22c5207-0f87-4fe9-91ce-6d6e0fb9a13e&amp;quot; BLOCK_SIZE=&amp;quot;4096&amp;quot; TYPE=&amp;quot;ext4&amp;quot; PARTUUID=&amp;quot;1d3603f4-bcd4-3c41-8d6d-23e65b405e5a&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Add the following lines to &amp;lt;tt&amp;gt;/mnt/etc/fstab&amp;lt;/tt&amp;gt;, substituting the example UUIDs with those you received from &amp;lt;code&amp;gt;blkid&amp;lt;/code&amp;gt;.&lt;br /&gt;
 UUID=d22c5207-0f87-4fe9-91ce-6d6e0fb9a13e /     ext4 defaults 0 1&lt;br /&gt;
 UUID=21bbff3f-b82e-416e-93c8-e6d44c3daf82 /boot ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
==== Creating extlinux.conf ====&lt;br /&gt;
Create a file &amp;lt;tt&amp;gt;/mnt/boot/extlinux/extlinux.conf&amp;lt;/tt&amp;gt; with the following contents, replacing the example UUID with the one for &amp;lt;tt&amp;gt;/dev/sdb3&amp;lt;/tt&amp;gt; from &amp;lt;code&amp;gt;blkid&amp;lt;/code&amp;gt;.&lt;br /&gt;
 DEFAULT arch&lt;br /&gt;
 MENU TITLE Boot Menu&lt;br /&gt;
 PROMPT 0&lt;br /&gt;
 TIMEOUT 50&lt;br /&gt;
 &lt;br /&gt;
 LABEL arch&lt;br /&gt;
 MENU LABEL Arch Linux ARM&lt;br /&gt;
 LINUX /Image&lt;br /&gt;
 FDT /dtbs/rockchip/rk3399-pinebook-pro.dtb&lt;br /&gt;
 APPEND initrd=/initramfs-linux.img root=UUID=d22c5207-0f87-4fe9-91ce-6d6e0fb9a13e rw&lt;br /&gt;
&lt;br /&gt;
== Booting and finishing setup ==&lt;br /&gt;
Boot into Arch Linux ARM and log in as &amp;lt;tt&amp;gt;root&amp;lt;/tt&amp;gt; with password &amp;lt;tt&amp;gt;root&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Initialize the pacman keyring.&lt;br /&gt;
 # pacman-key --init&lt;br /&gt;
 # pacman-key --populate archlinuxarm&lt;br /&gt;
&lt;br /&gt;
For security, change the default passwords for root and the default user &amp;lt;tt&amp;gt;alarm&amp;lt;/tt&amp;gt;.&lt;br /&gt;
 # passwd&lt;br /&gt;
 # passwd alarm&lt;br /&gt;
&lt;br /&gt;
Congratulations, you have now installed Arch Linux ARM on your PineBook Pro!&lt;br /&gt;
&lt;br /&gt;
Note that: Should you have tow-boot installed on the spi, you can simply skip the tow-boot step and partition #1 would be your /boot and #2 / (rootfs)&lt;br /&gt;
Also note that the pacman-key will take a very long time, make sure to use the command sync to ensure it is ready for you to reboot, before you reboot&lt;/div&gt;</summary>
		<author><name>WoC</name></author>
	</entry>
	<entry>
		<id>https://wiki.pine64.org/index.php?title=Pinebook_Pro_Installing_Arch_Linux_ARM&amp;diff=14086</id>
		<title>Pinebook Pro Installing Arch Linux ARM</title>
		<link rel="alternate" type="text/html" href="https://wiki.pine64.org/index.php?title=Pinebook_Pro_Installing_Arch_Linux_ARM&amp;diff=14086"/>
		<updated>2022-09-18T21:40:19Z</updated>

		<summary type="html">&lt;p&gt;WoC: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These instructions can be followed to install Arch Linux ARM on an SD Card, USB Flash Drive, eMMC, or even NVMe if your U-Boot supports it.&lt;br /&gt;
&lt;br /&gt;
Commands to be run as a normal user are prefixed with &amp;lt;code&amp;gt;$&amp;lt;/code&amp;gt;, commands to be run as root (or with &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;) are prefixed with &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;.&lt;br /&gt;
The target device is assumed to be &amp;lt;tt&amp;gt;/dev/sdb&amp;lt;/tt&amp;gt;, adjust accordingly.&lt;br /&gt;
&lt;br /&gt;
== Partitioning ==&lt;br /&gt;
=== Flashing U-Boot ===&lt;br /&gt;
{{note|While any U-Boot for the Pinebook Pro can be used, this tutorial uses [https://tow-boot.org Tow-Boot].&lt;br /&gt;
The process of installing Tow-Boot is different from any other U-Boot, so large parts of the partitioning section will need to be changed if you want to use something else.}}&lt;br /&gt;
&lt;br /&gt;
Download and extract the latest release of Tow-Boot for the Pinebook Pro from https://github.com/Tow-Boot/Tow-Boot/releases.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ wget https://github.com/Tow-Boot/Tow-Boot/releases/download/release-2021.10-004/pine64-pinebookPro-2021.10-004.tar.xz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 $ tar xf pine64-pinebookPro-2021.10-004.tar.xz&lt;br /&gt;
&lt;br /&gt;
Flash Tow-Boot to &amp;lt;tt&amp;gt;/dev/sdb&amp;lt;/tt&amp;gt; (replace this with the device you actually intend to use).&lt;br /&gt;
 # dd if=pine64-pinebookPro-2021.10-004/shared.disk-image.img of=/dev/sdb bs=1M oflag=direct,sync&lt;br /&gt;
&lt;br /&gt;
This creates the partition table for the device, with the first partition serving to protect Tow-Boot. Do not move or write to this partition.&lt;br /&gt;
&lt;br /&gt;
=== Creating the partitions ===&lt;br /&gt;
Use &amp;lt;code&amp;gt;fdisk&amp;lt;/code&amp;gt; to add partitions to &amp;lt;tt&amp;gt;/dev/sdb&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 # fdisk /dev/sdb&lt;br /&gt;
&lt;br /&gt;
Create the &amp;lt;tt&amp;gt;/boot&amp;lt;/tt&amp;gt; partition.&lt;br /&gt;
* Type '''n''' to create a new partition.&lt;br /&gt;
* Press enter for partition number two.&lt;br /&gt;
* Press enter for the default start sector.&lt;br /&gt;
* Type '''+256M''' to make the new partition 256 MiB.&lt;br /&gt;
&lt;br /&gt;
Mark the &amp;lt;tt&amp;gt;/boot&amp;lt;/tt&amp;gt; partition bootable.&lt;br /&gt;
* Type '''x''' to enter expert mode.&lt;br /&gt;
* Type '''A''' to mark a partition bootable.&lt;br /&gt;
* Type '''2''' to select partition two.&lt;br /&gt;
* Type '''r''' to exit expert mode.&lt;br /&gt;
&lt;br /&gt;
Create the root partition.&lt;br /&gt;
* Type '''n''' to create a new partition.&lt;br /&gt;
* Press enter for partition number three.&lt;br /&gt;
* Press enter for the default start sector.&lt;br /&gt;
* Press enter to fill the rest of the device.&lt;br /&gt;
&lt;br /&gt;
Write the changes to disk.&lt;br /&gt;
* Type '''w''' to write the changes and exit.&lt;br /&gt;
&lt;br /&gt;
=== Formatting the partitions ===&lt;br /&gt;
Format the &amp;lt;tt&amp;gt;/boot&amp;lt;/tt&amp;gt; partition as either FAT32 or ext4.&lt;br /&gt;
&lt;br /&gt;
FAT32:&lt;br /&gt;
 # mkfs.fat -F32 /dev/sdb2&lt;br /&gt;
ext4:&lt;br /&gt;
 # mkfs.ext4 /dev/sdb2&lt;br /&gt;
&lt;br /&gt;
Format the root partition as any filesystem supported by Arch Linux ARM. For this example ext4 is used:&lt;br /&gt;
 # mkfs.ext4 /dev/sdb3&lt;br /&gt;
&lt;br /&gt;
== Installing the root filesystem ==&lt;br /&gt;
=== Mounting the partitions ===&lt;br /&gt;
 # mount /dev/sdb3 /mnt&lt;br /&gt;
 # mkdir /mnt/boot&lt;br /&gt;
 # mount /dev/sdb2 /mnt/boot&lt;br /&gt;
&lt;br /&gt;
=== Downloading and verifying the rootfs tarball ===&lt;br /&gt;
Download the tarball and its PGP signature.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ wget http://os.archlinuxarm.org/os/ArchLinuxARM-aarch64-latest.tar.gz{,.sig}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Import the Arch Linux ARM signing key.&lt;br /&gt;
 $ gpg --keyserver keyserver.ubuntu.com --recv-keys 68B3537F39A313B3E574D06777193F152BDBE6A6&lt;br /&gt;
&lt;br /&gt;
Verify the tarball's authenticity.&lt;br /&gt;
 $ gpg --verify ArchLinuxARM-aarch64-latest.tar.gz.sig&lt;br /&gt;
&lt;br /&gt;
Verifying the authenticity of the tarball protects you in two ways:&lt;br /&gt;
# Makes sure the tarball came directly from Arch Linux ARM and was not tampered with&lt;br /&gt;
# Prevents you from using a corrupt tarball (for example from an interrupted download)&lt;br /&gt;
&lt;br /&gt;
=== Extracting and configuring the root filesystem ===&lt;br /&gt;
==== Extracting the root filesystem ====&lt;br /&gt;
 # bsdtar -xpf ArchLinuxARM-aarch64-latest.tar.gz -C /mnt&lt;br /&gt;
&lt;br /&gt;
==== Editing fstab ====&lt;br /&gt;
Find the partitions' UUIDs with &amp;lt;code&amp;gt;blkid&amp;lt;/code&amp;gt;.&lt;br /&gt;
 # blkid /dev/sdb2 /dev/sdb3&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
 /dev/sdb2: UUID=&amp;quot;21bbff3f-b82e-416e-93c8-e6d44c3daf82&amp;quot; BLOCK_SIZE=&amp;quot;4096&amp;quot; TYPE=&amp;quot;ext4&amp;quot; PARTUUID=&amp;quot;be571200-1a56-5d4c-9a5b-88a5f36a295e&amp;quot;&lt;br /&gt;
 /dev/sdb3: UUID=&amp;quot;d22c5207-0f87-4fe9-91ce-6d6e0fb9a13e&amp;quot; BLOCK_SIZE=&amp;quot;4096&amp;quot; TYPE=&amp;quot;ext4&amp;quot; PARTUUID=&amp;quot;1d3603f4-bcd4-3c41-8d6d-23e65b405e5a&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Add the following lines to &amp;lt;tt&amp;gt;/mnt/etc/fstab&amp;lt;/tt&amp;gt;, substituting the example UUIDs with those you received from &amp;lt;code&amp;gt;blkid&amp;lt;/code&amp;gt;.&lt;br /&gt;
 UUID=d22c5207-0f87-4fe9-91ce-6d6e0fb9a13e /     ext4 defaults 0 1&lt;br /&gt;
 UUID=21bbff3f-b82e-416e-93c8-e6d44c3daf82 /boot ext4 defaults 0 2&lt;br /&gt;
&lt;br /&gt;
==== Creating extlinux.conf ====&lt;br /&gt;
Create a file &amp;lt;tt&amp;gt;/mnt/boot/extlinux/extlinux.conf&amp;lt;/tt&amp;gt; with the following contents, replacing the example UUID with the one for &amp;lt;tt&amp;gt;/dev/sdb3&amp;lt;/tt&amp;gt; from &amp;lt;code&amp;gt;blkid&amp;lt;/code&amp;gt;.&lt;br /&gt;
 default arch&lt;br /&gt;
 menu title Boot Menu&lt;br /&gt;
 prompt 0&lt;br /&gt;
 timeout 50&lt;br /&gt;
 &lt;br /&gt;
 label arch&lt;br /&gt;
 menu label Arch Linux ARM&lt;br /&gt;
 linux /Image&lt;br /&gt;
 fdt /dtbs/rockchip/rk3399-pinebook-pro.dtb&lt;br /&gt;
 append initrd=/initramfs-linux.img root=UUID=d22c5207-0f87-4fe9-91ce-6d6e0fb9a13e rw&lt;br /&gt;
&lt;br /&gt;
== Booting and finishing setup ==&lt;br /&gt;
Boot into Arch Linux ARM and log in as &amp;lt;tt&amp;gt;root&amp;lt;/tt&amp;gt; with password &amp;lt;tt&amp;gt;root&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Initialize the pacman keyring.&lt;br /&gt;
 # pacman-key --init&lt;br /&gt;
 # pacman-key --populate archlinuxarm&lt;br /&gt;
&lt;br /&gt;
For security, change the default passwords for root and the default user &amp;lt;tt&amp;gt;alarm&amp;lt;/tt&amp;gt;.&lt;br /&gt;
 # passwd&lt;br /&gt;
 # passwd alarm&lt;br /&gt;
&lt;br /&gt;
Congratulations, you have now installed Arch Linux ARM on your Pinebook Pro!&lt;br /&gt;
&lt;br /&gt;
Note that: Should you have tow-boot installed on the spi, you can simply skip the tow-boot step and partition #1 would be your /boot and #2 / (rootfs)&lt;br /&gt;
Also note that the pacman-key will take a very long time, make sure to use the command sync to ensure it is ready for you to reboot, before you reboot&lt;/div&gt;</summary>
		<author><name>WoC</name></author>
	</entry>
</feed>