<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[PINE64 - Pinebook Pro Tutorials]]></title>
		<link>https://forum.pine64.org/</link>
		<description><![CDATA[PINE64 - https://forum.pine64.org]]></description>
		<pubDate>Fri, 15 May 2026 14:04:29 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[Pinebook Pro Recovery with Void Linux (xbps)]]></title>
			<link>https://forum.pine64.org/showthread.php?tid=19014</link>
			<pubDate>Mon, 15 Jan 2024 04:21:04 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.pine64.org/member.php?action=profile&uid=27804">bds</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.pine64.org/showthread.php?tid=19014</guid>
			<description><![CDATA[Pinebook Pro Recover with Void Linux (xbps)<br />
<br />
Hello all!<br />
<br />
I recently received my Pinebook Pro and, as I have gathered has happened to quite a few people, broke the system with an initial Manjaro update. I thought I'd do my part to help anyone else having the same problem by documenting what I've figured out over the last few days. This will basically be a compilation of a bunch of different articles and tutorials from across the internet, with application specific advice. I'll try to link all major sources. I chose to use Void Linux just 'cause it's what I'm used to, and xbps makes building a system onto the SD card super easy.<br />
<br />
While I've learned a lot through this process, I'm by no means an expert. I would appreciate any input, correction, or elaboration the topics discussed.<br />
<br />
Just to account for any hardware differences, this was on a PBP received on Jan 11 2024. I haven't checked into this, but if there's any where I can find a hardware revision number or anything like that, let me know.<br />
<br />
Some preamble:<br />
The PBP can boot directly from, in order:<br />
- the onboard SPI module,<br />
- the onboard eMMC module, or<br />
- a microSD card.<br />
<br />
By default, nothing is written to the SPI. The factory Manjaro ARM system is installed on the eMMC. From what I understand, the system breaks after a Manjaro update because the system updates the bootloader package without properly configuring it. The result is that the PBP boots from the eMMC, but the user gets nothing but a black screen.<br />
<br />
Fortunately, the PBP mainboard has a hardware switch to block access to the eMMC, so we can turn that on and boot instead from a microSD card.<br />
<br />
Regarding the bootloader, I to use <a href="https://tow-boot.org/" target="_blank" rel="noopener" class="mycode_url">Tow-Boot</a>. I don't have experience any with alternatives, but it was simple to flash and is flexible at boot-time, which is what I was looking for.<br />
<br />
So this was my strategy:<br />
1. Disable the eMMC<br />
2. Boot from SD card<br />
3. Flash Tow-Boot to the SPI<br />
4. Re-enable the eMMC<br />
5. Boot again from the SD card<br />
6. ???<br />
7. System repaired.<br />
<br />
If I wanted to, I think I could have skipped a couple steps by re-enabling the eMMC while the system was running and flashing Tow-Boot to the eMMC's boot partition. However, I like having the bootloader on the SPI and didn't want to keep Manjaro anyways. Furthermore, this method lets me use GPT and EFI; this probably doesn't matter but it just feels right.<br />
<br />
# Setup<br />
To start off with, we're gonna want an existing Void Linux system, though you should be able to follow the same process on any Linux system using <a href="https://docs.voidlinux.org/xbps/troubleshooting/static.html" target="_blank" rel="noopener" class="mycode_url">a statically-linked XBPS</a>This can be from a live image, though depending on your setup that might present some issues with memory and device throughput when writing to the SD card.<br />
<br />
First off, we're gonna want to make sure all our repositories and packages are up to date:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code># xbps-install -Su xbps<br />
# xpbs-install -Su</code></div></div><br />
Next, we'll make sure we have the packages we need for building the system on the SD card. `binfmt` and `qemu-static-user` are required for cross-building, so they're not required on an aarch64 host system.<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code># xbps-install -Su xz wget xtools binfmt-support qemu-user-static</code></div></div><br />
Enable the `binfmt-support` service:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code># ln -s /etc/sv/binfmt-support /var/service</code></div></div><br />
# Building the SD card<br />
First, identify your SD card's device handle. If your host system has built-in SD card support, it will likely be `/dev/mmcblkX`. I was using a USB adapter, so mine was at `/dev/sdX`.<br />
<br />
## Flash Tow-Boot to the SD card<br />
It should go without saying, but make sure to back up anything you don't want to lose.<br />
<br />
Download and extract Tow-Boot for the PBP:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code># wget https://github.com/Tow-Boot/Tow-Boot/releases/download/release-2022.07-006/pine64-pinebookPro-2022.07-006.tar.xz<br />
# tar xvf pine64-pinebookPro-2022.07-006.tar.xz</code></div></div><br />
Flash Tow-Boot to the SD card. For reference, we're using the "<a href="https://tow-boot.org/getting-started.html" target="_blank" rel="noopener" class="mycode_url">shared storage strategy</a>.":<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code># dd if=pine64-pinebookPro-2022.07-006.tar.xz/shared.disk-image.img of=/dev/XXX bs=1M oflag=direct,sync status=progress</code></div></div><br />
## Install Void via chroot<br />
This next portion follows <a href="https://docs.voidlinux.org/installation/guides/chroot.html" target="_blank" rel="noopener" class="mycode_url">this guide</a> from the Void Handbook. In particular, we're using the XBPS method.<br />
<br />
### Partition and format the SD card<br />
Flashing Tow-Boot should have created initialized a GPT partition table and created a partition at the beginning of the SD card. I used cfdisk to partition the rest of the SD card, so it looks like this:<br />
/dev/sdg1 = Tow-Boot<br />
/dev/sdg2 = +256M, EFI System<br />
/dev/sdg3 = to the end of the disk, Linux Filesystem.<br />
<br />
After that, create the filesystems:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code># mkfs.vfat /dev/sdg2<br />
# mkfs.ext4 /dev/sdg3</code></div></div><br />
### Mount the new filesystems<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code># mount /dev/sdg3 /mnt<br />
# mkdir -p /mnt/boot/efi<br />
# mount /dev/sdg2 /mnt/boot/efi</code></div></div><br />
### Creating the base installation<br />
A caveat: I don't actually know what the ideal kernel and firmware situation looks like. Void's Pinebook Pro packages seem fairly old, and I specifically want to avoid the `pinebookpro-uboot` package (and the `pinebookpro-base` package which depends on it). I opted to use the basic linux kernel and install the `pinebookpro-firmware` package, because I figured it couldn't hurt. Regardless...<br />
<br />
We want to set environment variables that we'll use to tell XBPS which repo to pull from and what architecture to use. Set `ARCH` to either `aarch64` or `aarch64-musl` to use glibc or musl, respectively.<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code># REPO=https://repo-default.voidlinux.org/current/aarch64<br />
# ARCH=aarch64-musl</code></div></div><br />
Copy the RSA keys from the host to the SD card:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code># mkdir -p /mnt/var/db/xbps/keys<br />
# cp /var/db/xbps/keys/* /mnt/var/db/xbps/keys/</code></div></div><br />
And finally we'll use XBPS to bootstrap the installation.<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code># XBPS_ARCH=&#36;ARCH xbps-install -S -r /mnt -R "&#36;REPO" base-system pinebookpro-firmware linux</code></div></div><br />
### Configuration<br />
Chroot into the new installation using `xchroot`:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code># xchroot /mnt /bin/bash</code></div></div><br />
Set the root password:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>[xchroot /mnt] # passwd</code></div></div><br />
Follow the instructions in the Void Handbook for <a href="https://docs.voidlinux.org/installation/guides/chroot.html#configure-fstab" target="_blank" rel="noopener" class="mycode_url">configuring fstab</a> and for <a href="https://docs.voidlinux.org/installation/guides/chroot.html#installing-grub" target="_blank" rel="noopener" class="mycode_url">installing GRUB</a>. We want to use the instructions for UEFI, with the `grub-arm64-efi` package, and use the `--removable` flag on `grub-install`<br />
<br />
Before leaving the chroot, install `mtd-utils`, which has the `flashcp` utility we'll use for flashing to the SPI, and run `xbps-reconfigure` to make sure everything's set up correctly.<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>[xchroot /mnt] # xbps-install mtd-utils<br />
[xchroot /mnt] # xbps-reconfigure -fa<br />
[xchroot /mnt] # exit</code></div></div><br />
### The final touch<br />
Before unmounting the SD card and slapping it into the PBP, copy over the Tow-Boot image we're gonna flash to the SPI.<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code># cp pine64-pinebookPro-2022.07-006/binaries/Tow-Boot.spi.bin /mnt/root<br />
# umount -R /mnt</code></div></div><br />
## Booting the SD card and flashing the SPI<br />
As long as the eMMC is disabled, you should now be able to insert the SD card and boot into it through Tow-Boot, followed by GRUB. Log in using the root password you set earlier, and flash the Tow-Boot image we copied over onto the SPI:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>flashcp Tow-Boot.spi.bin /dev/mtd0</code></div></div><br />
At this point, you should be able to remove the SD card, enable the eMMC, reboot the machine, and be met with the Tow-Boot graphical interface, though the system installed on the eMMC will likely still be unusable. I leave repairing/replacing the system installed on the eMMC as an exercise for the reader. I followed a similar process to what's described above to install Void Linux with EFI boot. It should be noted that GPT doesn't play well with the layout of the eMMC's boot memory, so you should zero out the first 32768 bytes and skip them in your partition scheme, or perhaps just flash Tow-Boot's `noenv` image onto it. <a href="https://github.com/SvenKiljan/archlinuxarm-pbp/blob/main/INSTALL.md" target="_blank" rel="noopener" class="mycode_url">This document</a> was helpful for some details.<br />
<br />
That's all, thank you.]]></description>
			<content:encoded><![CDATA[Pinebook Pro Recover with Void Linux (xbps)<br />
<br />
Hello all!<br />
<br />
I recently received my Pinebook Pro and, as I have gathered has happened to quite a few people, broke the system with an initial Manjaro update. I thought I'd do my part to help anyone else having the same problem by documenting what I've figured out over the last few days. This will basically be a compilation of a bunch of different articles and tutorials from across the internet, with application specific advice. I'll try to link all major sources. I chose to use Void Linux just 'cause it's what I'm used to, and xbps makes building a system onto the SD card super easy.<br />
<br />
While I've learned a lot through this process, I'm by no means an expert. I would appreciate any input, correction, or elaboration the topics discussed.<br />
<br />
Just to account for any hardware differences, this was on a PBP received on Jan 11 2024. I haven't checked into this, but if there's any where I can find a hardware revision number or anything like that, let me know.<br />
<br />
Some preamble:<br />
The PBP can boot directly from, in order:<br />
- the onboard SPI module,<br />
- the onboard eMMC module, or<br />
- a microSD card.<br />
<br />
By default, nothing is written to the SPI. The factory Manjaro ARM system is installed on the eMMC. From what I understand, the system breaks after a Manjaro update because the system updates the bootloader package without properly configuring it. The result is that the PBP boots from the eMMC, but the user gets nothing but a black screen.<br />
<br />
Fortunately, the PBP mainboard has a hardware switch to block access to the eMMC, so we can turn that on and boot instead from a microSD card.<br />
<br />
Regarding the bootloader, I to use <a href="https://tow-boot.org/" target="_blank" rel="noopener" class="mycode_url">Tow-Boot</a>. I don't have experience any with alternatives, but it was simple to flash and is flexible at boot-time, which is what I was looking for.<br />
<br />
So this was my strategy:<br />
1. Disable the eMMC<br />
2. Boot from SD card<br />
3. Flash Tow-Boot to the SPI<br />
4. Re-enable the eMMC<br />
5. Boot again from the SD card<br />
6. ???<br />
7. System repaired.<br />
<br />
If I wanted to, I think I could have skipped a couple steps by re-enabling the eMMC while the system was running and flashing Tow-Boot to the eMMC's boot partition. However, I like having the bootloader on the SPI and didn't want to keep Manjaro anyways. Furthermore, this method lets me use GPT and EFI; this probably doesn't matter but it just feels right.<br />
<br />
# Setup<br />
To start off with, we're gonna want an existing Void Linux system, though you should be able to follow the same process on any Linux system using <a href="https://docs.voidlinux.org/xbps/troubleshooting/static.html" target="_blank" rel="noopener" class="mycode_url">a statically-linked XBPS</a>This can be from a live image, though depending on your setup that might present some issues with memory and device throughput when writing to the SD card.<br />
<br />
First off, we're gonna want to make sure all our repositories and packages are up to date:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code># xbps-install -Su xbps<br />
# xpbs-install -Su</code></div></div><br />
Next, we'll make sure we have the packages we need for building the system on the SD card. `binfmt` and `qemu-static-user` are required for cross-building, so they're not required on an aarch64 host system.<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code># xbps-install -Su xz wget xtools binfmt-support qemu-user-static</code></div></div><br />
Enable the `binfmt-support` service:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code># ln -s /etc/sv/binfmt-support /var/service</code></div></div><br />
# Building the SD card<br />
First, identify your SD card's device handle. If your host system has built-in SD card support, it will likely be `/dev/mmcblkX`. I was using a USB adapter, so mine was at `/dev/sdX`.<br />
<br />
## Flash Tow-Boot to the SD card<br />
It should go without saying, but make sure to back up anything you don't want to lose.<br />
<br />
Download and extract Tow-Boot for the PBP:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code># wget https://github.com/Tow-Boot/Tow-Boot/releases/download/release-2022.07-006/pine64-pinebookPro-2022.07-006.tar.xz<br />
# tar xvf pine64-pinebookPro-2022.07-006.tar.xz</code></div></div><br />
Flash Tow-Boot to the SD card. For reference, we're using the "<a href="https://tow-boot.org/getting-started.html" target="_blank" rel="noopener" class="mycode_url">shared storage strategy</a>.":<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code># dd if=pine64-pinebookPro-2022.07-006.tar.xz/shared.disk-image.img of=/dev/XXX bs=1M oflag=direct,sync status=progress</code></div></div><br />
## Install Void via chroot<br />
This next portion follows <a href="https://docs.voidlinux.org/installation/guides/chroot.html" target="_blank" rel="noopener" class="mycode_url">this guide</a> from the Void Handbook. In particular, we're using the XBPS method.<br />
<br />
### Partition and format the SD card<br />
Flashing Tow-Boot should have created initialized a GPT partition table and created a partition at the beginning of the SD card. I used cfdisk to partition the rest of the SD card, so it looks like this:<br />
/dev/sdg1 = Tow-Boot<br />
/dev/sdg2 = +256M, EFI System<br />
/dev/sdg3 = to the end of the disk, Linux Filesystem.<br />
<br />
After that, create the filesystems:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code># mkfs.vfat /dev/sdg2<br />
# mkfs.ext4 /dev/sdg3</code></div></div><br />
### Mount the new filesystems<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code># mount /dev/sdg3 /mnt<br />
# mkdir -p /mnt/boot/efi<br />
# mount /dev/sdg2 /mnt/boot/efi</code></div></div><br />
### Creating the base installation<br />
A caveat: I don't actually know what the ideal kernel and firmware situation looks like. Void's Pinebook Pro packages seem fairly old, and I specifically want to avoid the `pinebookpro-uboot` package (and the `pinebookpro-base` package which depends on it). I opted to use the basic linux kernel and install the `pinebookpro-firmware` package, because I figured it couldn't hurt. Regardless...<br />
<br />
We want to set environment variables that we'll use to tell XBPS which repo to pull from and what architecture to use. Set `ARCH` to either `aarch64` or `aarch64-musl` to use glibc or musl, respectively.<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code># REPO=https://repo-default.voidlinux.org/current/aarch64<br />
# ARCH=aarch64-musl</code></div></div><br />
Copy the RSA keys from the host to the SD card:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code># mkdir -p /mnt/var/db/xbps/keys<br />
# cp /var/db/xbps/keys/* /mnt/var/db/xbps/keys/</code></div></div><br />
And finally we'll use XBPS to bootstrap the installation.<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code># XBPS_ARCH=&#36;ARCH xbps-install -S -r /mnt -R "&#36;REPO" base-system pinebookpro-firmware linux</code></div></div><br />
### Configuration<br />
Chroot into the new installation using `xchroot`:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code># xchroot /mnt /bin/bash</code></div></div><br />
Set the root password:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>[xchroot /mnt] # passwd</code></div></div><br />
Follow the instructions in the Void Handbook for <a href="https://docs.voidlinux.org/installation/guides/chroot.html#configure-fstab" target="_blank" rel="noopener" class="mycode_url">configuring fstab</a> and for <a href="https://docs.voidlinux.org/installation/guides/chroot.html#installing-grub" target="_blank" rel="noopener" class="mycode_url">installing GRUB</a>. We want to use the instructions for UEFI, with the `grub-arm64-efi` package, and use the `--removable` flag on `grub-install`<br />
<br />
Before leaving the chroot, install `mtd-utils`, which has the `flashcp` utility we'll use for flashing to the SPI, and run `xbps-reconfigure` to make sure everything's set up correctly.<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>[xchroot /mnt] # xbps-install mtd-utils<br />
[xchroot /mnt] # xbps-reconfigure -fa<br />
[xchroot /mnt] # exit</code></div></div><br />
### The final touch<br />
Before unmounting the SD card and slapping it into the PBP, copy over the Tow-Boot image we're gonna flash to the SPI.<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code># cp pine64-pinebookPro-2022.07-006/binaries/Tow-Boot.spi.bin /mnt/root<br />
# umount -R /mnt</code></div></div><br />
## Booting the SD card and flashing the SPI<br />
As long as the eMMC is disabled, you should now be able to insert the SD card and boot into it through Tow-Boot, followed by GRUB. Log in using the root password you set earlier, and flash the Tow-Boot image we copied over onto the SPI:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>flashcp Tow-Boot.spi.bin /dev/mtd0</code></div></div><br />
At this point, you should be able to remove the SD card, enable the eMMC, reboot the machine, and be met with the Tow-Boot graphical interface, though the system installed on the eMMC will likely still be unusable. I leave repairing/replacing the system installed on the eMMC as an exercise for the reader. I followed a similar process to what's described above to install Void Linux with EFI boot. It should be noted that GPT doesn't play well with the layout of the eMMC's boot memory, so you should zero out the first 32768 bytes and skip them in your partition scheme, or perhaps just flash Tow-Boot's `noenv` image onto it. <a href="https://github.com/SvenKiljan/archlinuxarm-pbp/blob/main/INSTALL.md" target="_blank" rel="noopener" class="mycode_url">This document</a> was helpful for some details.<br />
<br />
That's all, thank you.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Can't Boot from MicroSD (What Am I Missing)]]></title>
			<link>https://forum.pine64.org/showthread.php?tid=17898</link>
			<pubDate>Tue, 07 Feb 2023 06:34:10 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.pine64.org/member.php?action=profile&uid=26421">falken</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.pine64.org/showthread.php?tid=17898</guid>
			<description><![CDATA[Been banging my head against a wall for like a week now trying to install different things like Armbian, PostMarketOS, and DietPi. <br />
<br />
None of them boot. I've left my Pinebook Pro on for like 40 minutes watching the light flash. <br />
<br />
Following the generic instructions of burning an img with Etcher and powering on with the SD card leads nowhere.<br />
<br />
Tried two different MicroSD cards.<br />
<br />
Tried using DD.<br />
<br />
Nothing yet. Does anyone know what my next steps should be. <br />
<br />
I feel like I'm missing something that everyone knows but somehow I can't find in any of the wiki pages, youtube videos, or forum posts.]]></description>
			<content:encoded><![CDATA[Been banging my head against a wall for like a week now trying to install different things like Armbian, PostMarketOS, and DietPi. <br />
<br />
None of them boot. I've left my Pinebook Pro on for like 40 minutes watching the light flash. <br />
<br />
Following the generic instructions of burning an img with Etcher and powering on with the SD card leads nowhere.<br />
<br />
Tried two different MicroSD cards.<br />
<br />
Tried using DD.<br />
<br />
Nothing yet. Does anyone know what my next steps should be. <br />
<br />
I feel like I'm missing something that everyone knows but somehow I can't find in any of the wiki pages, youtube videos, or forum posts.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Install Tow-Boot on the SPI]]></title>
			<link>https://forum.pine64.org/showthread.php?tid=17529</link>
			<pubDate>Sat, 29 Oct 2022 00:37:49 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.pine64.org/member.php?action=profile&uid=25646">Shad0w</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.pine64.org/showthread.php?tid=17529</guid>
			<description><![CDATA[I wanted to post the steps to installing Tow-Boot on the SPI. <br />
<br />
Sorry if this is long and drawn out but I am writing this to help anyone new to Linux. With Manjaro being preinstalled from the factory it was best to write this using Manjaro specifics. I tried following the guides on the Tow-Boot website, Pine Wiki and the Manjaro Wiki but was unsuccessful. I would suggest reading these to conceptually understand what you are doing if you are new. You will need mtd-utils installed first for this to work. Now I would download the release you need and extract the file into a folder. I was not successful in getting the spi.installer.img to boot after flashing to a SD card to install using the directions provided in the reference section. <br />
<br />
I used the method below under coding and it only took me about 3 minutes to accomplish this task.<br />
<br />
I did all this on Manjaro but to my understanding other distributions should work the same.<br />
<br />
References: <br />
<a href="https://tow-boot.org/devices/pine64-pinebookPro.html" target="_blank" rel="noopener" class="mycode_url">https://tow-boot.org/devices/pine64-pinebookPro.html</a><br />
<a href="https://wiki.pine64.org/wiki/Pinebook_Pro#Using_the_SPI_flash_device" target="_blank" rel="noopener" class="mycode_url">https://wiki.pine64.org/wiki/Pinebook_Pr...ash_device</a><br />
<a href="https://wiki.manjaro.org/index.php/Manjaro-ARM#Preparing_the_SPI_.28optional.29" target="_blank" rel="noopener" class="mycode_url">https://wiki.manjaro.org/index.php/Manja...ptional.29</a><br />
<br />
Required Dependencies:<br />
mtd-utils - <a href="https://software.manjaro.org/package/mtd-utils" target="_blank" rel="noopener" class="mycode_url">https://software.manjaro.org/package/mtd-utils</a><br />
<br />
Download Tow-Boot file:<br />
<a href="https://github.com/Tow-Boot/Tow-Boot/releases" target="_blank" rel="noopener" class="mycode_url">https://github.com/Tow-Boot/Tow-Boot/releases</a><br />
(I installed pine64-pinebookPro-2021.10-005.tar.xz - <a href="https://github.com/Tow-Boot/Tow-Boot/releases/download/release-2021.10-005/pine64-pinebookPro-2021.10-005.tar.xz" target="_blank" rel="noopener" class="mycode_url">https://github.com/Tow-Boot/Tow-Boot/rel...005.tar.xz</a>)<br />
<br />
Code:<br />
Step 1. I opened the terminal and "cd"d my way into the correct location to find the file "Tow-Boot.spi.bin" or depending on the distribution you are using you can also find the file, right click and got to "Open Terminal Here" - For this install it was located under the binaries folder.<br />
<br />
Step 2. <br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>sudo flashcp Tow-Boot.spi.bin /dev/mtd0</code></div></div>The entire flash took about 15 seconds for my Pinebook Pro. <br />
<br />
Step 3: Restart (be ready to hit the "Esc" button)<br />
<br />
I hope this helps others.]]></description>
			<content:encoded><![CDATA[I wanted to post the steps to installing Tow-Boot on the SPI. <br />
<br />
Sorry if this is long and drawn out but I am writing this to help anyone new to Linux. With Manjaro being preinstalled from the factory it was best to write this using Manjaro specifics. I tried following the guides on the Tow-Boot website, Pine Wiki and the Manjaro Wiki but was unsuccessful. I would suggest reading these to conceptually understand what you are doing if you are new. You will need mtd-utils installed first for this to work. Now I would download the release you need and extract the file into a folder. I was not successful in getting the spi.installer.img to boot after flashing to a SD card to install using the directions provided in the reference section. <br />
<br />
I used the method below under coding and it only took me about 3 minutes to accomplish this task.<br />
<br />
I did all this on Manjaro but to my understanding other distributions should work the same.<br />
<br />
References: <br />
<a href="https://tow-boot.org/devices/pine64-pinebookPro.html" target="_blank" rel="noopener" class="mycode_url">https://tow-boot.org/devices/pine64-pinebookPro.html</a><br />
<a href="https://wiki.pine64.org/wiki/Pinebook_Pro#Using_the_SPI_flash_device" target="_blank" rel="noopener" class="mycode_url">https://wiki.pine64.org/wiki/Pinebook_Pr...ash_device</a><br />
<a href="https://wiki.manjaro.org/index.php/Manjaro-ARM#Preparing_the_SPI_.28optional.29" target="_blank" rel="noopener" class="mycode_url">https://wiki.manjaro.org/index.php/Manja...ptional.29</a><br />
<br />
Required Dependencies:<br />
mtd-utils - <a href="https://software.manjaro.org/package/mtd-utils" target="_blank" rel="noopener" class="mycode_url">https://software.manjaro.org/package/mtd-utils</a><br />
<br />
Download Tow-Boot file:<br />
<a href="https://github.com/Tow-Boot/Tow-Boot/releases" target="_blank" rel="noopener" class="mycode_url">https://github.com/Tow-Boot/Tow-Boot/releases</a><br />
(I installed pine64-pinebookPro-2021.10-005.tar.xz - <a href="https://github.com/Tow-Boot/Tow-Boot/releases/download/release-2021.10-005/pine64-pinebookPro-2021.10-005.tar.xz" target="_blank" rel="noopener" class="mycode_url">https://github.com/Tow-Boot/Tow-Boot/rel...005.tar.xz</a>)<br />
<br />
Code:<br />
Step 1. I opened the terminal and "cd"d my way into the correct location to find the file "Tow-Boot.spi.bin" or depending on the distribution you are using you can also find the file, right click and got to "Open Terminal Here" - For this install it was located under the binaries folder.<br />
<br />
Step 2. <br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>sudo flashcp Tow-Boot.spi.bin /dev/mtd0</code></div></div>The entire flash took about 15 seconds for my Pinebook Pro. <br />
<br />
Step 3: Restart (be ready to hit the "Esc" button)<br />
<br />
I hope this helps others.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[USB-C ROCKRPRO - HDMI]]></title>
			<link>https://forum.pine64.org/showthread.php?tid=17023</link>
			<pubDate>Mon, 18 Jul 2022 14:52:26 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.pine64.org/member.php?action=profile&uid=25427">Daniele14521</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.pine64.org/showthread.php?tid=17023</guid>
			<description><![CDATA[Hi everybody,<br />
<br />
I've a problem with the Rockpro64.<br />
<br />
With the Port USB-C is possibile to tranfer video data?<br />
<br />
I tried to connected an HUB (to the USB-C port of the Rockpro), this HUB contain 3 port USB and 1 port HDMI, i connect the 2 USB on the HUB Mouse and Keyboard and they function correcty, but if i connected the HDMI to the i can't see the video on the screen. But if i connected the HDMI directly on the Rockpro, i can see the video on the screen.<br />
<br />
So, Why it doesn't work with USB C?<br />
<br />
Thanks,<br />
<br />
Daniele]]></description>
			<content:encoded><![CDATA[Hi everybody,<br />
<br />
I've a problem with the Rockpro64.<br />
<br />
With the Port USB-C is possibile to tranfer video data?<br />
<br />
I tried to connected an HUB (to the USB-C port of the Rockpro), this HUB contain 3 port USB and 1 port HDMI, i connect the 2 USB on the HUB Mouse and Keyboard and they function correcty, but if i connected the HDMI to the i can't see the video on the screen. But if i connected the HDMI directly on the Rockpro, i can see the video on the screen.<br />
<br />
So, Why it doesn't work with USB C?<br />
<br />
Thanks,<br />
<br />
Daniele]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Building PPSSPP with Manjaro AUR]]></title>
			<link>https://forum.pine64.org/showthread.php?tid=16817</link>
			<pubDate>Sat, 11 Jun 2022 23:07:50 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.pine64.org/member.php?action=profile&uid=25260">LivingLinux</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.pine64.org/showthread.php?tid=16817</guid>
			<description><![CDATA[Enable the AUR.<br />
Install ppsspp-qt-git (and dependencies).<br />
Change the architecture in the PKGBUILD file to aarch64.<br />
Let it build for an hour.<br />
Have fun!<br />
<br />
<a href="https://youtu.be/y9XHQCXhGX4" target="_blank" rel="noopener" class="mycode_url">https://youtu.be/y9XHQCXhGX4</a><br />
<br />
Some gameplay: <a href="https://youtu.be/mwkifsiMGhs" target="_blank" rel="noopener" class="mycode_url">https://youtu.be/mwkifsiMGhs</a><br />
Monster Hunter Freedom plays fine, God of War has serious performance issues.]]></description>
			<content:encoded><![CDATA[Enable the AUR.<br />
Install ppsspp-qt-git (and dependencies).<br />
Change the architecture in the PKGBUILD file to aarch64.<br />
Let it build for an hour.<br />
Have fun!<br />
<br />
<a href="https://youtu.be/y9XHQCXhGX4" target="_blank" rel="noopener" class="mycode_url">https://youtu.be/y9XHQCXhGX4</a><br />
<br />
Some gameplay: <a href="https://youtu.be/mwkifsiMGhs" target="_blank" rel="noopener" class="mycode_url">https://youtu.be/mwkifsiMGhs</a><br />
Monster Hunter Freedom plays fine, God of War has serious performance issues.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[How to check if video decode acceleration is active]]></title>
			<link>https://forum.pine64.org/showthread.php?tid=14360</link>
			<pubDate>Tue, 06 Jul 2021 19:02:37 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.pine64.org/member.php?action=profile&uid=16628">maxjrh</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.pine64.org/showthread.php?tid=14360</guid>
			<description><![CDATA[Hello all,<br />
<br />
I would like to utilize the video decoding capabilities of the RK3399, but so far I had no success. Many people seem to underestimate how difficult this is and just assume it works without effort.<br />
<br />
Here is how to verify whether it works, using mpv, chromium and firefox:<br />
(the pictures are taken on my x86_64 PC)<br />
<br />
1. mpv<br />
CTRL + H toggles hardware decoding. If it can't use cuda/vdpau/vaapi then it will just say 'no' all the time.<br />
<br />
2. chromium<br />
open the developer panel with F12, open the Media tab<br />
<a href="https://i.imgur.com/ME74NTY.png" target="_blank" rel="noopener" class="mycode_url"><img src="https://i.imgur.com/ME74NTY.png" loading="lazy"  width="100" height="62" alt="[Image: ME74NTY.png]" class="mycode_img" /></a><a href="https://i.imgur.com/rZs9xaT.png" target="_blank" rel="noopener" class="mycode_url"><img src="https://i.imgur.com/rZs9xaT.png" loading="lazy"  width="100" height="62" alt="[Image: rZs9xaT.png]" class="mycode_img" /></a><br />
as you can see, VDA is hardware accelerated. Other decoders (Vpx, Dav1d, FFmpeg) are used for the VP9, AV1, and Theora codecs. Neither my Radeon nor the RK3399 have hardware support for these codecs.<br />
<br />
3. firefox<br />
run <br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>MOZ_LOG=PlatformDecoderModule:5 firefox 2&gt;&amp;1| grep VA</code></div></div><a href="https://i.imgur.com/kUuvNKK.png" target="_blank" rel="noopener" class="mycode_url"><img src="https://i.imgur.com/kUuvNKK.png" loading="lazy"  width="100" height="67" alt="[Image: kUuvNKK.png]" class="mycode_img" /></a><br />
note: it says VA-API disabled by platform during startup, but when I actually try to open a video it successfully initializes.<br />
<br />
As far as I can tell, no distro on the PineBook Pro has support for hardware video decoding. If somebody can get it to work, I'd love to hear about it.]]></description>
			<content:encoded><![CDATA[Hello all,<br />
<br />
I would like to utilize the video decoding capabilities of the RK3399, but so far I had no success. Many people seem to underestimate how difficult this is and just assume it works without effort.<br />
<br />
Here is how to verify whether it works, using mpv, chromium and firefox:<br />
(the pictures are taken on my x86_64 PC)<br />
<br />
1. mpv<br />
CTRL + H toggles hardware decoding. If it can't use cuda/vdpau/vaapi then it will just say 'no' all the time.<br />
<br />
2. chromium<br />
open the developer panel with F12, open the Media tab<br />
<a href="https://i.imgur.com/ME74NTY.png" target="_blank" rel="noopener" class="mycode_url"><img src="https://i.imgur.com/ME74NTY.png" loading="lazy"  width="100" height="62" alt="[Image: ME74NTY.png]" class="mycode_img" /></a><a href="https://i.imgur.com/rZs9xaT.png" target="_blank" rel="noopener" class="mycode_url"><img src="https://i.imgur.com/rZs9xaT.png" loading="lazy"  width="100" height="62" alt="[Image: rZs9xaT.png]" class="mycode_img" /></a><br />
as you can see, VDA is hardware accelerated. Other decoders (Vpx, Dav1d, FFmpeg) are used for the VP9, AV1, and Theora codecs. Neither my Radeon nor the RK3399 have hardware support for these codecs.<br />
<br />
3. firefox<br />
run <br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>MOZ_LOG=PlatformDecoderModule:5 firefox 2&gt;&amp;1| grep VA</code></div></div><a href="https://i.imgur.com/kUuvNKK.png" target="_blank" rel="noopener" class="mycode_url"><img src="https://i.imgur.com/kUuvNKK.png" loading="lazy"  width="100" height="67" alt="[Image: kUuvNKK.png]" class="mycode_img" /></a><br />
note: it says VA-API disabled by platform during startup, but when I actually try to open a video it successfully initializes.<br />
<br />
As far as I can tell, no distro on the PineBook Pro has support for hardware video decoding. If somebody can get it to work, I'd love to hear about it.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Running Windows apps on PBP]]></title>
			<link>https://forum.pine64.org/showthread.php?tid=13295</link>
			<pubDate>Wed, 03 Mar 2021 06:33:34 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.pine64.org/member.php?action=profile&uid=16442">moonwalkers</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.pine64.org/showthread.php?tid=13295</guid>
			<description><![CDATA[Not much of a tutorial, but...<br />
If you're running Debian (or something Debian-based like Ubuntu) running 32-bit Windows applications is pretty easy, though performance obviously is not the best. There is no need for chroot, no complications. Simply...<ul class="mycode_list"><li>add i386 as a foreign arch (and update APT repositories afterwards): <br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>dpkg --add-architecture i386</code></div></div><br />
</li>
</ul>
<ul class="mycode_list"><li>install the following packages: <br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>wine wine32:i386 qemu-user qemu-user-binfmt</code></div></div><br />
</li>
</ul>
Now, I haven't been able to get Windows binaries execute by installing wine-binfmt the way I've been able to do that on amd64, but simply doing <br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>wine &lt;app&gt;.exe</code></div></div>works well enough for me, allowing to run some not too resource-hungry applications that don't have suitable Linux replacements like <a href="http://www.emulator3000.org/c3.htm" target="_blank" rel="noopener" class="mycode_url">Calculators 3000 </a>]]></description>
			<content:encoded><![CDATA[Not much of a tutorial, but...<br />
If you're running Debian (or something Debian-based like Ubuntu) running 32-bit Windows applications is pretty easy, though performance obviously is not the best. There is no need for chroot, no complications. Simply...<ul class="mycode_list"><li>add i386 as a foreign arch (and update APT repositories afterwards): <br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>dpkg --add-architecture i386</code></div></div><br />
</li>
</ul>
<ul class="mycode_list"><li>install the following packages: <br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>wine wine32:i386 qemu-user qemu-user-binfmt</code></div></div><br />
</li>
</ul>
Now, I haven't been able to get Windows binaries execute by installing wine-binfmt the way I've been able to do that on amd64, but simply doing <br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>wine &lt;app&gt;.exe</code></div></div>works well enough for me, allowing to run some not too resource-hungry applications that don't have suitable Linux replacements like <a href="http://www.emulator3000.org/c3.htm" target="_blank" rel="noopener" class="mycode_url">Calculators 3000 </a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[levinboot tutorial]]></title>
			<link>https://forum.pine64.org/showthread.php?tid=12578</link>
			<pubDate>Mon, 21 Dec 2020 03:30:11 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.pine64.org/member.php?action=profile&uid=15689">clover</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.pine64.org/showthread.php?tid=12578</guid>
			<description><![CDATA[Q. Why should I install levinboot instead of a more common bootloader like u-boot? <br />
A. Speed! It's just faster. suspend-to-ram is broken in TF-A for the forseeable future, and us Pinebook Pro users are turning our laptops on and off frequently, so being able to boot significantly faster is much appreciated. I can get from power key press to gdm login in 14 seconds. I would be interested in hearing other peoples times.<br />
<br />
<span style="color: #333333;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Tahoma, Verdana, Arial, sans-serif;" class="mycode_font">Here is my tweet</span></span></span><span style="color: #333333;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Tahoma, Verdana, Arial, sans-serif;" class="mycode_font"> showcasing the fast boot capabilities: </span></span></span><span style="color: #333333;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Tahoma, Verdana, Arial, sans-serif;" class="mycode_font"><a href="https://twitter.com/AlexRob12252696/status/1340024115974057984" target="_blank" rel="noopener" class="mycode_url">https://twitter.com/AlexRob12252696/stat...5974057984</a></span></span></span><br />
<br />
Q. Why shouldn't I install levinboot?<br />
A. Frankly, if you are new to using linux it's not the most friendly software to install, and if you don't have a serial console you can quickly find yourself in a tough situation. But if you're brave and like being on the bleeding edge, you should give it a go.<br />
<br />
Q. What's the difference between levinboot and u-boot?<br />
A. <br />
    - levinboot uses a compressed payload which needs to include the kernel, dtb,  bl31.elf, and initramfs, and immediately boots the kernel, where u-boot seems to find these in the userspace. <br />
    - because this payload is pre-compressed before booting, the user must update the payload whenever kernel or initramfs change, while u-boot is more flexible about this.<br />
    - levinboot is specifically created for Pinebook Pro and RockPro64, whereas u-boot can be applied to a broader range of devices. <br />
<br />
Q. How did you build levinboot?<br />
(btw, if you are confused by any of the below or want more info there is a good readme section in the source code: <a href="https://gitlab.com/DeltaGem/levinboot" target="_blank" rel="noopener" class="mycode_url">https://gitlab.com/DeltaGem/levinboot</a>)<br />
A. I cross-compiled on an x86 machine running Ubuntu (pop os), and here are my steps:<br />
<br />
install cross-compiler (gcc-aarch64) i used version 10.<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>sudo apt install -y gcc-aarch64-linux-gnu</code></div></div><br />
clone dependency (arm trusted firmware) no need to build but you will use the headers later<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git</code></div></div><br />
clone levinboot<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>git clone https://gitlab.com/DeltaGem/levinboot.git<br />
cd levinboot</code></div></div><br />
setup build variables<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>CROSS=aarch64-linux-gnu<br />
export CC=&#36;CROSS-gcc<br />
export OBJCOPY=&#36;CROSS-objcopy<br />
export LD=&#36;CROSS-ld</code></div></div><br />
if you want to use emmc, you have the option to enable high-speed emmc mode as a config parameter, but it was not working at the moment, so i left this out.<br />
then I build it with CFLAG -mno-outline-atomics for GCC 10 support<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>mkdir _build &amp;&amp; cd _build<br />
CFLAGS="-O3 -mno-outline-atomics" ../configure.py --payload-{lz4,gzip,zstd,initcpio,sd,emmc,nvme,spi} --with-tf-a-headers /path/to/trusted-firmware-a/include/export<br />
ninja</code></div></div><br />
BOOM! that's it. the file i want is called levinboot-sd.img, and because i want it on the emmc instead, i'll just rename it.<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>mv levinboot-sd.img levinboot-emmc.img</code></div></div><br />
Q. How did you install levinboot?<br />
A. first i had to make a GPT partition on my emmc. I used a special fdisk tool for GPT called <a href="https://wiki.archlinux.org/index.php/GPT_fdisk" target="_blank" rel="noopener" class="mycode_url">GPT fdisk</a>.<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>sudo gdisk /dev/mmcblk2</code></div></div>in the partition table scan it does, you should see <br />
<br />
GPT: present<br />
<br />
if you don't, i think you need to look at the wiki to find out how to add the GPT partition table. <img src="https://forum.pine64.org/images/smilies/exclamation.png" alt="Exclamation" title="Exclamation" class="smilie smilie_15" /> this will wipe your data. <img src="https://forum.pine64.org/images/smilies/exclamation.png" alt="Exclamation" title="Exclamation" class="smilie smilie_15" /> <br />
the commands are the same as fdisk so i pressed n to add my first partition; I chose this as my payload partition.<br />
<br />
i made my first sector be offset by 65536 because this is how much space people leave room at the start for u-boot, and hey, it works for levinboot too<br />
(i wanted levinboot on my emmc too!) <br />
<br />
i made my last sector be +60M because the payload is about that big <img src="https://forum.pine64.org/images/smilies/smile.png" alt="Smile" title="Smile" class="smilie smilie_1" /><br />
levinboot requires the payload to be in a specific type of GPT partition with one of three specific GUIDs, I chose e5ab07a0-8e5e-46f6-9ce8-41a518929b7c <br />
gdisk will let you enter the GUID around this point<br />
<br />
next I also created a root partition. i guess if you already have one on the device you don't need to create it. but this should just be any root device and since its not levinboot specific I will leave it out of this tutorial. <br />
<br />
press w to save and exit<br />
<br />
At this point I am ready to flash my emmc with both the payload and levinboot. <br />
<br />
I use two scripts to do this and you should scrutinize and edit the scripts to suit your particular needs before executing them.<br />
<br />
- compress and flash payload: <a href="https://ironrobin.net/clover/droppy/#/PineBookPro/levinboot/update-payload.sh" target="_blank" rel="noopener" class="mycode_url">https://ironrobin.net/clover/droppy/#/Pi...payload.sh</a><br />
- flash levinboot: <a href="https://ironrobin.net/clover/droppy/#/PineBookPro/levinboot/install-levinboot.sh" target="_blank" rel="noopener" class="mycode_url">https://ironrobin.net/clover/droppy/#/Pi...vinboot.sh</a><br />
<br />
And that's really it. if you have those scripts adjusted to your situation, it should boot your root partition. <br />
<br />
Enjoy! and I hope this sheds some more light on this cool promising bootloader.]]></description>
			<content:encoded><![CDATA[Q. Why should I install levinboot instead of a more common bootloader like u-boot? <br />
A. Speed! It's just faster. suspend-to-ram is broken in TF-A for the forseeable future, and us Pinebook Pro users are turning our laptops on and off frequently, so being able to boot significantly faster is much appreciated. I can get from power key press to gdm login in 14 seconds. I would be interested in hearing other peoples times.<br />
<br />
<span style="color: #333333;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Tahoma, Verdana, Arial, sans-serif;" class="mycode_font">Here is my tweet</span></span></span><span style="color: #333333;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Tahoma, Verdana, Arial, sans-serif;" class="mycode_font"> showcasing the fast boot capabilities: </span></span></span><span style="color: #333333;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: Tahoma, Verdana, Arial, sans-serif;" class="mycode_font"><a href="https://twitter.com/AlexRob12252696/status/1340024115974057984" target="_blank" rel="noopener" class="mycode_url">https://twitter.com/AlexRob12252696/stat...5974057984</a></span></span></span><br />
<br />
Q. Why shouldn't I install levinboot?<br />
A. Frankly, if you are new to using linux it's not the most friendly software to install, and if you don't have a serial console you can quickly find yourself in a tough situation. But if you're brave and like being on the bleeding edge, you should give it a go.<br />
<br />
Q. What's the difference between levinboot and u-boot?<br />
A. <br />
    - levinboot uses a compressed payload which needs to include the kernel, dtb,  bl31.elf, and initramfs, and immediately boots the kernel, where u-boot seems to find these in the userspace. <br />
    - because this payload is pre-compressed before booting, the user must update the payload whenever kernel or initramfs change, while u-boot is more flexible about this.<br />
    - levinboot is specifically created for Pinebook Pro and RockPro64, whereas u-boot can be applied to a broader range of devices. <br />
<br />
Q. How did you build levinboot?<br />
(btw, if you are confused by any of the below or want more info there is a good readme section in the source code: <a href="https://gitlab.com/DeltaGem/levinboot" target="_blank" rel="noopener" class="mycode_url">https://gitlab.com/DeltaGem/levinboot</a>)<br />
A. I cross-compiled on an x86 machine running Ubuntu (pop os), and here are my steps:<br />
<br />
install cross-compiler (gcc-aarch64) i used version 10.<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>sudo apt install -y gcc-aarch64-linux-gnu</code></div></div><br />
clone dependency (arm trusted firmware) no need to build but you will use the headers later<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git</code></div></div><br />
clone levinboot<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>git clone https://gitlab.com/DeltaGem/levinboot.git<br />
cd levinboot</code></div></div><br />
setup build variables<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>CROSS=aarch64-linux-gnu<br />
export CC=&#36;CROSS-gcc<br />
export OBJCOPY=&#36;CROSS-objcopy<br />
export LD=&#36;CROSS-ld</code></div></div><br />
if you want to use emmc, you have the option to enable high-speed emmc mode as a config parameter, but it was not working at the moment, so i left this out.<br />
then I build it with CFLAG -mno-outline-atomics for GCC 10 support<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>mkdir _build &amp;&amp; cd _build<br />
CFLAGS="-O3 -mno-outline-atomics" ../configure.py --payload-{lz4,gzip,zstd,initcpio,sd,emmc,nvme,spi} --with-tf-a-headers /path/to/trusted-firmware-a/include/export<br />
ninja</code></div></div><br />
BOOM! that's it. the file i want is called levinboot-sd.img, and because i want it on the emmc instead, i'll just rename it.<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>mv levinboot-sd.img levinboot-emmc.img</code></div></div><br />
Q. How did you install levinboot?<br />
A. first i had to make a GPT partition on my emmc. I used a special fdisk tool for GPT called <a href="https://wiki.archlinux.org/index.php/GPT_fdisk" target="_blank" rel="noopener" class="mycode_url">GPT fdisk</a>.<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>sudo gdisk /dev/mmcblk2</code></div></div>in the partition table scan it does, you should see <br />
<br />
GPT: present<br />
<br />
if you don't, i think you need to look at the wiki to find out how to add the GPT partition table. <img src="https://forum.pine64.org/images/smilies/exclamation.png" alt="Exclamation" title="Exclamation" class="smilie smilie_15" /> this will wipe your data. <img src="https://forum.pine64.org/images/smilies/exclamation.png" alt="Exclamation" title="Exclamation" class="smilie smilie_15" /> <br />
the commands are the same as fdisk so i pressed n to add my first partition; I chose this as my payload partition.<br />
<br />
i made my first sector be offset by 65536 because this is how much space people leave room at the start for u-boot, and hey, it works for levinboot too<br />
(i wanted levinboot on my emmc too!) <br />
<br />
i made my last sector be +60M because the payload is about that big <img src="https://forum.pine64.org/images/smilies/smile.png" alt="Smile" title="Smile" class="smilie smilie_1" /><br />
levinboot requires the payload to be in a specific type of GPT partition with one of three specific GUIDs, I chose e5ab07a0-8e5e-46f6-9ce8-41a518929b7c <br />
gdisk will let you enter the GUID around this point<br />
<br />
next I also created a root partition. i guess if you already have one on the device you don't need to create it. but this should just be any root device and since its not levinboot specific I will leave it out of this tutorial. <br />
<br />
press w to save and exit<br />
<br />
At this point I am ready to flash my emmc with both the payload and levinboot. <br />
<br />
I use two scripts to do this and you should scrutinize and edit the scripts to suit your particular needs before executing them.<br />
<br />
- compress and flash payload: <a href="https://ironrobin.net/clover/droppy/#/PineBookPro/levinboot/update-payload.sh" target="_blank" rel="noopener" class="mycode_url">https://ironrobin.net/clover/droppy/#/Pi...payload.sh</a><br />
- flash levinboot: <a href="https://ironrobin.net/clover/droppy/#/PineBookPro/levinboot/install-levinboot.sh" target="_blank" rel="noopener" class="mycode_url">https://ironrobin.net/clover/droppy/#/Pi...vinboot.sh</a><br />
<br />
And that's really it. if you have those scripts adjusted to your situation, it should boot your root partition. <br />
<br />
Enjoy! and I hope this sheds some more light on this cool promising bootloader.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[180 degree hinge modification]]></title>
			<link>https://forum.pine64.org/showthread.php?tid=12353</link>
			<pubDate>Mon, 30 Nov 2020 02:29:55 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.pine64.org/member.php?action=profile&uid=20436">cochraLOGICA</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.pine64.org/showthread.php?tid=12353</guid>
			<description><![CDATA[Recently, i went through the process of disassembling and modifying my Pinebook Pro to have a 180 degree hinge, and i noted the lack of talk on a good guide here.<br />
<br />
Tools<br />
 - file (preferably small) or a dremel with a small tip that can cut metal (or equivalent alternative)<br />
 - a set of small screwdrivers/bits, preferable if you have a set of electronics repair screwdriver bits<br />
 - calipers, ruler, micrometer, anything that can measure on the millimeter scale. (optional but recommended)<br />
 - marker (optional)<br />
<br />
Step 1) So as to not be redundant, go to <a href="https://wiki.pine64.org/wiki/Pinebook_Pro#Accessing_the_Internals_-_Disassembly_and_Reassembly" target="_blank" rel="noopener" class="mycode_url">https://wiki.pine64.org/wiki/Pinebook_Pr...Reassembly</a> and follow the steps to remove the back cover. Please note there is two lengths of screw, keep track of where they go.<br />
Step 2) Take panel assembly apart from main body according to these instructions <a href="http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Screen_Removal_Guide.pdf" target="_blank" rel="noopener" class="mycode_url">http://files.pine64.org/doc/pinebook/gui..._Guide.pdf</a><br />
Step 3) take off these (<a href="https://imgur.com/uGA26y7" target="_blank" rel="noopener" class="mycode_url">https://imgur.com/uGA26y7</a>) on both sides, put everything else in a safe spot<br />
Step 3.5) separate the two parts of the hinge mechanism<br />
Step 4) get your dremel/file or whatever else you are using, and take off 3 mm from, whatever depicted in <a href="https://imgur.com/4xxVE0w" target="_blank" rel="noopener" class="mycode_url">https://imgur.com/4xxVE0w</a><span style="color: unset;" class="mycode_color"> from each of the side's pieces</span><br />
Major steps of getting it to 180 degrees are done, now to put it back together. IN REVERSE<br />
<br />
one thing to note, the hinge piece that was not modified is the thing that actually limits it, and if you can grind that (on the right side) to 180 degrees, you can do the same thing, but it would require grinding around a circle, and not linear.<br />
<br />
<span style="text-decoration: line-through;" class="mycode_s">full picture set: <a href="https://imgur.com/a/7tE8QY9" target="_blank" rel="noopener" class="mycode_url">https://imgur.com/a/7tE8QY9</a>  </span><br />
first mod guide please be nice. <img src="https://forum.pine64.org/images/smilies/smile.png" alt="Smile" title="Smile" class="smilie smilie_1" /><br />
<hr class="mycode_hr" />
Final product. <a href="https://imgur.com/a/45QdIZW" target="_blank" rel="noopener" class="mycode_url">https://imgur.com/a/45QdIZW</a>]]></description>
			<content:encoded><![CDATA[Recently, i went through the process of disassembling and modifying my Pinebook Pro to have a 180 degree hinge, and i noted the lack of talk on a good guide here.<br />
<br />
Tools<br />
 - file (preferably small) or a dremel with a small tip that can cut metal (or equivalent alternative)<br />
 - a set of small screwdrivers/bits, preferable if you have a set of electronics repair screwdriver bits<br />
 - calipers, ruler, micrometer, anything that can measure on the millimeter scale. (optional but recommended)<br />
 - marker (optional)<br />
<br />
Step 1) So as to not be redundant, go to <a href="https://wiki.pine64.org/wiki/Pinebook_Pro#Accessing_the_Internals_-_Disassembly_and_Reassembly" target="_blank" rel="noopener" class="mycode_url">https://wiki.pine64.org/wiki/Pinebook_Pr...Reassembly</a> and follow the steps to remove the back cover. Please note there is two lengths of screw, keep track of where they go.<br />
Step 2) Take panel assembly apart from main body according to these instructions <a href="http://files.pine64.org/doc/pinebook/guide/Pinebook_14-Screen_Removal_Guide.pdf" target="_blank" rel="noopener" class="mycode_url">http://files.pine64.org/doc/pinebook/gui..._Guide.pdf</a><br />
Step 3) take off these (<a href="https://imgur.com/uGA26y7" target="_blank" rel="noopener" class="mycode_url">https://imgur.com/uGA26y7</a>) on both sides, put everything else in a safe spot<br />
Step 3.5) separate the two parts of the hinge mechanism<br />
Step 4) get your dremel/file or whatever else you are using, and take off 3 mm from, whatever depicted in <a href="https://imgur.com/4xxVE0w" target="_blank" rel="noopener" class="mycode_url">https://imgur.com/4xxVE0w</a><span style="color: unset;" class="mycode_color"> from each of the side's pieces</span><br />
Major steps of getting it to 180 degrees are done, now to put it back together. IN REVERSE<br />
<br />
one thing to note, the hinge piece that was not modified is the thing that actually limits it, and if you can grind that (on the right side) to 180 degrees, you can do the same thing, but it would require grinding around a circle, and not linear.<br />
<br />
<span style="text-decoration: line-through;" class="mycode_s">full picture set: <a href="https://imgur.com/a/7tE8QY9" target="_blank" rel="noopener" class="mycode_url">https://imgur.com/a/7tE8QY9</a>  </span><br />
first mod guide please be nice. <img src="https://forum.pine64.org/images/smilies/smile.png" alt="Smile" title="Smile" class="smilie smilie_1" /><br />
<hr class="mycode_hr" />
Final product. <a href="https://imgur.com/a/45QdIZW" target="_blank" rel="noopener" class="mycode_url">https://imgur.com/a/45QdIZW</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Tiling Windows in Gnome]]></title>
			<link>https://forum.pine64.org/showthread.php?tid=12289</link>
			<pubDate>Tue, 24 Nov 2020 02:39:42 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.pine64.org/member.php?action=profile&uid=15689">clover</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.pine64.org/showthread.php?tid=12289</guid>
			<description><![CDATA[As part of my quest for a Pop!_OS experience on a PBP, (see this <a href="https://twitter.com/AlexRob12252696/status/1329670772353339392" target="_blank" rel="noopener" class="mycode_url">tweet</a> for a snapshot), I wanted to install <a href="https://github.com/pop-os/shell" target="_blank" rel="noopener" class="mycode_url">Pop Shell tiling Gnome extension</a>. I found there were a couple extra steps to get it working on PBP. Once it works, it's freaking awesome.<br />
<br />
This should work with any Gnome image, especially Ubuntu based. <br />
<br />
Personally, I started with Armbian and then installed Gnome. if you want to know how to do that, see my answer to <a href="https://forum.pine64.org/showthread.php?tid=11821" target="_blank" rel="noopener" class="mycode_url">Best Gnome Distro for PBP?</a> thread. <br />
<br />
Install dependencies:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>sudo apt install node-typescript make xutils-dev git gnome-tweaks</code></div></div><br />
I couldn't find the package myself so I build and installed xprop which is yet another dependency:<br />
<br />
NOTE: if you are on wayland e.g., with my new groovy image: (see here: <a href="https://forum.pine64.org/showthread.php?tid=12327&amp;pid=84503#pid84503" target="_blank" rel="noopener" class="mycode_url">https://forum.pine64.org/showthread.php?...3#pid84503</a>), you won't need  the xprop dependency below!<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>git clone https://gitlab.freedesktop.org/xorg/app/xprop.git &amp;&amp; cd xprop<br />
./autogen.sh<br />
sudo make install</code></div></div><br />
<br />
Finally, build and install pop-shell from source:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>git clone https://github.com/pop-os/shell &amp;&amp; cd shell<br />
make local-install</code></div></div><br />
You may need to open gnome-tweaks -&gt; Extensions -&gt; Toggle Pop Shell<br />
<br />
You may also need to reboot or restart gnome to see it show up in gnome-tweaks-&gt;Extensions<br />
<br />
Enjoy your new awesome multi-tasking skills, there should now be a widget in the right side of the gnome bar where you can toggle window tiling on (off by default)]]></description>
			<content:encoded><![CDATA[As part of my quest for a Pop!_OS experience on a PBP, (see this <a href="https://twitter.com/AlexRob12252696/status/1329670772353339392" target="_blank" rel="noopener" class="mycode_url">tweet</a> for a snapshot), I wanted to install <a href="https://github.com/pop-os/shell" target="_blank" rel="noopener" class="mycode_url">Pop Shell tiling Gnome extension</a>. I found there were a couple extra steps to get it working on PBP. Once it works, it's freaking awesome.<br />
<br />
This should work with any Gnome image, especially Ubuntu based. <br />
<br />
Personally, I started with Armbian and then installed Gnome. if you want to know how to do that, see my answer to <a href="https://forum.pine64.org/showthread.php?tid=11821" target="_blank" rel="noopener" class="mycode_url">Best Gnome Distro for PBP?</a> thread. <br />
<br />
Install dependencies:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>sudo apt install node-typescript make xutils-dev git gnome-tweaks</code></div></div><br />
I couldn't find the package myself so I build and installed xprop which is yet another dependency:<br />
<br />
NOTE: if you are on wayland e.g., with my new groovy image: (see here: <a href="https://forum.pine64.org/showthread.php?tid=12327&amp;pid=84503#pid84503" target="_blank" rel="noopener" class="mycode_url">https://forum.pine64.org/showthread.php?...3#pid84503</a>), you won't need  the xprop dependency below!<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>git clone https://gitlab.freedesktop.org/xorg/app/xprop.git &amp;&amp; cd xprop<br />
./autogen.sh<br />
sudo make install</code></div></div><br />
<br />
Finally, build and install pop-shell from source:<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>git clone https://github.com/pop-os/shell &amp;&amp; cd shell<br />
make local-install</code></div></div><br />
You may need to open gnome-tweaks -&gt; Extensions -&gt; Toggle Pop Shell<br />
<br />
You may also need to reboot or restart gnome to see it show up in gnome-tweaks-&gt;Extensions<br />
<br />
Enjoy your new awesome multi-tasking skills, there should now be a widget in the right side of the gnome bar where you can toggle window tiling on (off by default)]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Video : How to install Armbian Reforged and set it up on PineBookPro / Gaming image]]></title>
			<link>https://forum.pine64.org/showthread.php?tid=12282</link>
			<pubDate>Mon, 23 Nov 2020 18:09:29 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.pine64.org/member.php?action=profile&uid=20421">NicoD-SBC</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.pine64.org/showthread.php?tid=12282</guid>
			<description><![CDATA[Hi all.<br />
I've just made a video where I show how to install and set up Armbian Reforged on RK3399. <br />
This is a Linux gaming image with tons of emulators preinstalled. Also Box86 to play x86 Windows and Linux games.<br />
<br />
Here is my video. Greetings<br />
<iframe width="560" height="315" src="//www.youtube-nocookie.com/embed/lSvCAuRvg5U" frameborder="0" allowfullscreen="true"></iframe>]]></description>
			<content:encoded><![CDATA[Hi all.<br />
I've just made a video where I show how to install and set up Armbian Reforged on RK3399. <br />
This is a Linux gaming image with tons of emulators preinstalled. Also Box86 to play x86 Windows and Linux games.<br />
<br />
Here is my video. Greetings<br />
<iframe width="560" height="315" src="//www.youtube-nocookie.com/embed/lSvCAuRvg5U" frameborder="0" allowfullscreen="true"></iframe>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Make your own Manjaro image]]></title>
			<link>https://forum.pine64.org/showthread.php?tid=12060</link>
			<pubDate>Sat, 07 Nov 2020 09:30:00 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.pine64.org/member.php?action=profile&uid=20123">flatulent_piney</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.pine64.org/showthread.php?tid=12060</guid>
			<description><![CDATA[Kde is great but I like to run something a little lighter and just happen to think Budgie is  a little better. One approach would be to use pacman to add the budgie desktop package and choose your DE (desktop environment) at login, but I would rather not have to carry around all the KDE libraries for no reason. When I searched around for how to make my own "custom spin" I found some usefull info and thought I would share it here.<br />
<br />
<a href="https://archived.forum.manjaro.org/t/wiki-contributing-to-manjaro-arm/91053" target="_blank" rel="noopener" class="mycode_url">Contributing-to-manjaro-arm</a>  was just what I needed. The link lists how to make a manjaro-arm image on an x86 machine.   While there are only a few official supported DE's, I found a way to work with that by modifying the default profiles.  For the remainder of this tutorial we will assume Budgie as the DE.<br />
<br />
Picking up from the wiki section "Getting Profiles" we find that the relevant directory is<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>/usr/share/manjaro-arm-tools/profiles</code></div></div><br />
and in this directory there are many prebuilt DE profiles (Gnome, KDE, XFCE etc).  These directories contain a list of packages that will be installed to achieve a specific DE. Budgie is based on <a href="https://en.wikipedia.org/wiki/Budgie_(desktop_environment)" target="_blank" rel="noopener" class="mycode_url">Gnome</a>  therefore I used the Gnome profile as a base.  I added the dependencies listed in the <a href="https://www.archlinux.org/packages/community/x86_64/budgie-desktop/" target="_blank" rel="noopener" class="mycode_url">Arch-Wiki for Budgie-Desktop</a>  to the Gnome config file, as well as the budgie-desktop package itself, and removed any packages I didn't want or need from the Gnome section. "Save as" to create a new profile named Budgie and then <br />
<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>sudo buildarmimg -d pbp -e whatever/name/you/used/at/Save as -v any/name/will/work -n</code></div></div><br />
<br />
This will build your custom manjaro budgie img with all the packages that you specified in the profile that can be flashed to an SD card.  There is a slight difference in the command if you wish to install the the EMMC (that change is listed in the wiki).  <br />
<br />
There may be a more elegant solution for this process, but so far this the the best I have come across.  If there were a similar option for ubuntu , I have ideas there as well.]]></description>
			<content:encoded><![CDATA[Kde is great but I like to run something a little lighter and just happen to think Budgie is  a little better. One approach would be to use pacman to add the budgie desktop package and choose your DE (desktop environment) at login, but I would rather not have to carry around all the KDE libraries for no reason. When I searched around for how to make my own "custom spin" I found some usefull info and thought I would share it here.<br />
<br />
<a href="https://archived.forum.manjaro.org/t/wiki-contributing-to-manjaro-arm/91053" target="_blank" rel="noopener" class="mycode_url">Contributing-to-manjaro-arm</a>  was just what I needed. The link lists how to make a manjaro-arm image on an x86 machine.   While there are only a few official supported DE's, I found a way to work with that by modifying the default profiles.  For the remainder of this tutorial we will assume Budgie as the DE.<br />
<br />
Picking up from the wiki section "Getting Profiles" we find that the relevant directory is<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>/usr/share/manjaro-arm-tools/profiles</code></div></div><br />
and in this directory there are many prebuilt DE profiles (Gnome, KDE, XFCE etc).  These directories contain a list of packages that will be installed to achieve a specific DE. Budgie is based on <a href="https://en.wikipedia.org/wiki/Budgie_(desktop_environment)" target="_blank" rel="noopener" class="mycode_url">Gnome</a>  therefore I used the Gnome profile as a base.  I added the dependencies listed in the <a href="https://www.archlinux.org/packages/community/x86_64/budgie-desktop/" target="_blank" rel="noopener" class="mycode_url">Arch-Wiki for Budgie-Desktop</a>  to the Gnome config file, as well as the budgie-desktop package itself, and removed any packages I didn't want or need from the Gnome section. "Save as" to create a new profile named Budgie and then <br />
<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>sudo buildarmimg -d pbp -e whatever/name/you/used/at/Save as -v any/name/will/work -n</code></div></div><br />
<br />
This will build your custom manjaro budgie img with all the packages that you specified in the profile that can be flashed to an SD card.  There is a slight difference in the command if you wish to install the the EMMC (that change is listed in the wiki).  <br />
<br />
There may be a more elegant solution for this process, but so far this the the best I have come across.  If there were a similar option for ubuntu , I have ideas there as well.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Deepin Desktop Installation (Fedora 32 Workstation) Tutorial]]></title>
			<link>https://forum.pine64.org/showthread.php?tid=11986</link>
			<pubDate>Thu, 29 Oct 2020 23:58:30 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.pine64.org/member.php?action=profile&uid=17505">Upokupo</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.pine64.org/showthread.php?tid=11986</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">Deepin Desktop Installation Guide</span></div>
<br />
Hello! This guide is for people who like to use the Deepin desktop environment. Deepin runs great using the Fedora 32 Workstation images provided by the kind gentleman from this thread: <a href="https://forum.pine64.org/showthread.php?tid=11293" target="_blank" rel="noopener" class="mycode_url">Fedora 32 Images</a> and it sits idle between 700M and 800M of ram. I will cover both SD card installation and emmc installation. Currently, this isn’t possible with the default Manjaro installation unless you jump through a whole bunch of hoops of compiling and chasing down dependencies. A user on this forum managed to do it but I was unable to replicate their success myself due to frustration and impatience. I will outline the steps needed to be as new user friendly as possible. You should be able to have it either on an SD card or on the emmc. If you want to install it onto an nvme ssd drive, I won’t be able to cover that here as I have yet to figure that out and try it. I use my ssd as a data/backup drive and not too keen on messing it up and losing my data.<br />
<br />
<br />
<div style="text-align: left;" class="mycode_align">*<span style="font-style: italic;" class="mycode_i">This guide comes with the usual disclaimer that I can’t be held responsible if you </span><span style="font-style: italic;" class="mycode_i">brick your pinebook pro, mess</span><span style="font-style: italic;" class="mycode_i"> up your system, goes haywire, </span><span style="font-style: italic;" class="mycode_i">starts floating in midair, </span><span style="font-style: italic;" class="mycode_i">fills your bank account with large sums of money</span><span style="font-style: italic;" class="mycode_i"> or ants found their way into your laptop and started nibbling on the internal wires. </span><span style="font-style: italic;" class="mycode_i">Just to name a few. </span><span style="font-style: italic;" class="mycode_i">You do </span><span style="font-style: italic;" class="mycode_i">so</span><span style="font-style: italic;" class="mycode_i"> at your own risk.</span></div>
<br />
<br />
<div style="text-align: left;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">What you will need:</span></div>
<div style="text-align: left;" class="mycode_align">Fedora 32 Workstation image</div>
<div style="text-align: left;" class="mycode_align">SD Card (preferably 32G or higher)</div>
<div style="text-align: left;" class="mycode_align">A USB flash drive or another external hard disk attached (optional)</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">Instructions:</span></div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">1. Download the Fedora 32 Workstation image from here:</div>
<div style="text-align: left;" class="mycode_align"><a href="https://builds.armdevelopers.com/pinebook-pro/releases/dev/Fedora32-Workstation-202009.0.pinebook-pro.img.xz" target="_blank" rel="noopener" class="mycode_url">Fedora 32 Workstation</a></div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">2. (Optional) <span style="font-style: italic;" class="mycode_i">Rename the file to something simple to avoid typo’s when working with the image. I just renamed mine Fedora-Workstation.img.</span><span style="font-style: italic;" class="mycode_i">xz</span></div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">3. Open up a terminal and navigate to the directory where you downloaded the file.</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">4. Extract the compressed image and copy it to a usb drive or nvme ssd. This is needed to reverse the process if you wish to install it to the internal hard drive of your pinebook pro.</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align"><div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>unxz –threads=6 Fedora-Workstation.img.xz</code></div></div></div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">5. Run lsblk to get the information of your drives on your system. The sd card drive and the internal emmc drive will be named mmcblk<span style="font-weight: bold;" class="mycode_b">X</span> where <span style="font-weight: bold;" class="mycode_b">X</span> is the corresponding disk number assigned by the system. </div>
<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>lsblk</code></div></div><div style="text-align: left;" class="mycode_align">Output from terminal:</div>
<div style="text-align: left;" class="mycode_align">NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT</div>
<div style="text-align: left;" class="mycode_align">mmcblk2 179:0 0 58.2G 0 disk </div>
<div style="text-align: left;" class="mycode_align">├─mmcblk2p1 179:1 0 213.6M 0 part /boot</div>
<div style="text-align: left;" class="mycode_align">└─mmcblk2p2 179:2 0 58G 0 part /</div>
<div style="text-align: left;" class="mycode_align">mmcblk2boot0 179:32 0 4M 1 disk </div>
<div style="text-align: left;" class="mycode_align">mmcblk2boot1 179:64 0 4M 1 disk </div>
<div style="text-align: left;" class="mycode_align">nvme0n1 259:0 0 238.5G 0 disk </div>
└─nvme0n1p1 259:1 0 238.5G 0 part<br />
<br />
<div style="text-align: left;" class="mycode_align">This is my output on my system. My internal hard drive is mmcblk2 with 58.2G of space. When I insert an SD card this is my output:</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT</div>
<div style="text-align: left;" class="mycode_align">mmcblk2 179:0 0 58.2G 0 disk </div>
<div style="text-align: left;" class="mycode_align">├─mmcblk2p1 179:1 0 213.6M 0 part /boot</div>
<div style="text-align: left;" class="mycode_align">└─mmcblk2p2 179:2 0 58G 0 part /</div>
<div style="text-align: left;" class="mycode_align">mmcblk2boot0 179:32 0 4M 1 disk </div>
<div style="text-align: left;" class="mycode_align">mmcblk2boot1 179:64 0 4M 1 disk </div>
<div style="text-align: left;" class="mycode_align">mmcblk1 179:96 0 29.7G 0 disk </div>
<div style="text-align: left;" class="mycode_align">├─mmcblk1p1 179:97 0 213.6M 0 part /run/media/xxxx/BOOT_FEDORA</div>
<div style="text-align: left;" class="mycode_align">└─mmcblk1p2 179:98 0 29.5G 0 part /run/media/xxxx/ROOT_FEDORA</div>
<div style="text-align: left;" class="mycode_align">nvme0n1 259:0 0 238.5G 0 disk </div>
<div style="text-align: left;" class="mycode_align">└─nvme0n1p1 259:1 0 238.5G 0 part</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">Now, mmcblk1 is there with 29.7G.</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">6. Insert your SD card and run lsblk to get the drive number. Substitute <span style="font-weight: bold;" class="mycode_b">X</span> with the corresponding sd drive number you get from running lsblk. In the above example, my sd card is mmcblk1. So, I will use that in the following command:</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">sudo dd if=<span style="font-weight: bold;" class="mycode_b">NameOfYourFile</span>.img of=/dev/mmcblk<span style="font-weight: bold;" class="mycode_b">X</span> oflag=sync status=progress bs=4M<br />
</div>
<br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">Make sure you are targeting the sd card and not the internal emmc card!</span></div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">7. When it’s done writing the image to the SD card. Reboot your laptop.</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">8. Fedora will boot up and you will go through a nice setup process with a gui. After setup is complete you’ll be greeted with the Gnome desktop environment. Now, we need to resize the partition that was created on the sd card. The image writes a 10G disk leaving 20G unused on the card.</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">9. Open up a terminal in Gnome and run the following where mmcblk<span style="font-weight: bold;" class="mycode_b">X</span> is the number of your sd card drive. The size will be reported around 10G. Run lsblk again to verify if you wish.</div>
<br />
<br />
sudo cfdisk /<span style="font-style: italic;" class="mycode_i">dev/</span>mmcblk<span style="font-weight: bold;" class="mycode_b">X</span><br />
<br />
<br />
<div style="text-align: left;" class="mycode_align">10. Resize the last partition of the SD card. In the example from above, my sdcard drive is mmcblk1. You can see from looking at the output that there are two partitions on the sd card mmcblk1p1 and mmcblk1p2. So, I will select mmcblk1p2 using up and down arrow keys. At the bottom of the terminal screen there is a menu that you can navigate with your left and right arrow keys. Highlight ‘Resize’ and press the enter key. It will default to resizing the partition to fill out the rest of the SD card. Scroll to ‘Write’ hit the enter key then type yes and hit enter to confirm. Then quit cfdisk.</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">11. Now, to resize the drive on your sd card to use all the available space run the following command using the numbers assigned by the system where there is a bold X:</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">sudo resize2fs /<span style="font-style: italic;" class="mycode_i">dev/</span>mmcblk<span style="font-weight: bold;" class="mycode_b">X</span>p<span style="font-weight: bold;" class="mycode_b">X</span>.</div>
<br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">Congratulations! You now should have a working Fedora 32 Workstation! Now, comes the easy part! Deepin Desktop installation!</span></div>
<br />
<br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">Deepin Installation</span></div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">1. Update your system from terminal then reboot.</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align"><div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>sudo dnf upgrade</code></div></div></div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">2. To install deepin type</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align"><div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>sudo dnf group install “Deepin Desktop”</code></div></div></div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">3. Reboot again.</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">4. At the login screen select your account. In the lower right corner there should be a gear. Click on it and select Deepin from the menu. Input your password and enjoy Deepin on your Pinebook Pro.</div>
<br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">Optional Post Installation Tasks</span></div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">If you want a more complete Deepin experience, you can change the login screen to what is used by deepin. Type these 2 commands in the terminal.</div>
<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>sudo systemctl disable gdm</code></div></div><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>sudo systemctl enable lightdm</code></div></div><br />
<br />
<br />
<div style="text-align: left;" class="mycode_align">If you want pure Deepin and no longer wish to have gnome occupying space on your disk run:</div>
<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>sudo dnf group remove gnome-desktop</code></div></div><br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">Installing to the internal emmc drive</span></div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">At this point, if you followed everything currectly, your internal operating system should be intact and unaffected. If you want to install to emmc we just do the exact same process we did to the sd card with one minor change. Which I will note here to save space and reading time instead of regurgitating every step.</div>
<br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">**************************</span></div>
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">!!!IMPORTANT!!!</span></div>
<div style="text-align: left;" class="mycode_align">When installing to the emmc, do <span style="font-weight: bold;" class="mycode_b">NOT</span> leave any devices plugged into any of the usb slots when you reboot your pinebook pro to go through the first boot up process. I left my usb Logitech mouse dongle in 3 different times and it failed to boot and was kicked into a terminal recovery mode. You will have to redo the installation from the sd card if this happens. After the initial setup you are free to leave the usb devices plugged in.</div>
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">**************************</span></div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">6. Navigate to where you copied the .img file earlier in a terminal. Use the dd command with the following parameters when writing the img to the internal hard drive:</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">sudo dd if=<span style="font-weight: bold;" class="mycode_b">NameOfYourFile</span>.img of=/dev/mmcblk<span style="font-weight: bold;" class="mycode_b">X</span> oflag=sync status=progress bs=32M</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">All the other steps remain the same.</div>
<br />
<br />
<br />
I hope that you find this tutorial easy to use and informative. I welcome all feedback and will try to answer any questions you may have to the best of my ability and will try to help you out as best I can if you are unsure or stuck on something from the guide.]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">Deepin Desktop Installation Guide</span></div>
<br />
Hello! This guide is for people who like to use the Deepin desktop environment. Deepin runs great using the Fedora 32 Workstation images provided by the kind gentleman from this thread: <a href="https://forum.pine64.org/showthread.php?tid=11293" target="_blank" rel="noopener" class="mycode_url">Fedora 32 Images</a> and it sits idle between 700M and 800M of ram. I will cover both SD card installation and emmc installation. Currently, this isn’t possible with the default Manjaro installation unless you jump through a whole bunch of hoops of compiling and chasing down dependencies. A user on this forum managed to do it but I was unable to replicate their success myself due to frustration and impatience. I will outline the steps needed to be as new user friendly as possible. You should be able to have it either on an SD card or on the emmc. If you want to install it onto an nvme ssd drive, I won’t be able to cover that here as I have yet to figure that out and try it. I use my ssd as a data/backup drive and not too keen on messing it up and losing my data.<br />
<br />
<br />
<div style="text-align: left;" class="mycode_align">*<span style="font-style: italic;" class="mycode_i">This guide comes with the usual disclaimer that I can’t be held responsible if you </span><span style="font-style: italic;" class="mycode_i">brick your pinebook pro, mess</span><span style="font-style: italic;" class="mycode_i"> up your system, goes haywire, </span><span style="font-style: italic;" class="mycode_i">starts floating in midair, </span><span style="font-style: italic;" class="mycode_i">fills your bank account with large sums of money</span><span style="font-style: italic;" class="mycode_i"> or ants found their way into your laptop and started nibbling on the internal wires. </span><span style="font-style: italic;" class="mycode_i">Just to name a few. </span><span style="font-style: italic;" class="mycode_i">You do </span><span style="font-style: italic;" class="mycode_i">so</span><span style="font-style: italic;" class="mycode_i"> at your own risk.</span></div>
<br />
<br />
<div style="text-align: left;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">What you will need:</span></div>
<div style="text-align: left;" class="mycode_align">Fedora 32 Workstation image</div>
<div style="text-align: left;" class="mycode_align">SD Card (preferably 32G or higher)</div>
<div style="text-align: left;" class="mycode_align">A USB flash drive or another external hard disk attached (optional)</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">Instructions:</span></div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">1. Download the Fedora 32 Workstation image from here:</div>
<div style="text-align: left;" class="mycode_align"><a href="https://builds.armdevelopers.com/pinebook-pro/releases/dev/Fedora32-Workstation-202009.0.pinebook-pro.img.xz" target="_blank" rel="noopener" class="mycode_url">Fedora 32 Workstation</a></div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">2. (Optional) <span style="font-style: italic;" class="mycode_i">Rename the file to something simple to avoid typo’s when working with the image. I just renamed mine Fedora-Workstation.img.</span><span style="font-style: italic;" class="mycode_i">xz</span></div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">3. Open up a terminal and navigate to the directory where you downloaded the file.</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">4. Extract the compressed image and copy it to a usb drive or nvme ssd. This is needed to reverse the process if you wish to install it to the internal hard drive of your pinebook pro.</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align"><div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>unxz –threads=6 Fedora-Workstation.img.xz</code></div></div></div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">5. Run lsblk to get the information of your drives on your system. The sd card drive and the internal emmc drive will be named mmcblk<span style="font-weight: bold;" class="mycode_b">X</span> where <span style="font-weight: bold;" class="mycode_b">X</span> is the corresponding disk number assigned by the system. </div>
<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>lsblk</code></div></div><div style="text-align: left;" class="mycode_align">Output from terminal:</div>
<div style="text-align: left;" class="mycode_align">NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT</div>
<div style="text-align: left;" class="mycode_align">mmcblk2 179:0 0 58.2G 0 disk </div>
<div style="text-align: left;" class="mycode_align">├─mmcblk2p1 179:1 0 213.6M 0 part /boot</div>
<div style="text-align: left;" class="mycode_align">└─mmcblk2p2 179:2 0 58G 0 part /</div>
<div style="text-align: left;" class="mycode_align">mmcblk2boot0 179:32 0 4M 1 disk </div>
<div style="text-align: left;" class="mycode_align">mmcblk2boot1 179:64 0 4M 1 disk </div>
<div style="text-align: left;" class="mycode_align">nvme0n1 259:0 0 238.5G 0 disk </div>
└─nvme0n1p1 259:1 0 238.5G 0 part<br />
<br />
<div style="text-align: left;" class="mycode_align">This is my output on my system. My internal hard drive is mmcblk2 with 58.2G of space. When I insert an SD card this is my output:</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT</div>
<div style="text-align: left;" class="mycode_align">mmcblk2 179:0 0 58.2G 0 disk </div>
<div style="text-align: left;" class="mycode_align">├─mmcblk2p1 179:1 0 213.6M 0 part /boot</div>
<div style="text-align: left;" class="mycode_align">└─mmcblk2p2 179:2 0 58G 0 part /</div>
<div style="text-align: left;" class="mycode_align">mmcblk2boot0 179:32 0 4M 1 disk </div>
<div style="text-align: left;" class="mycode_align">mmcblk2boot1 179:64 0 4M 1 disk </div>
<div style="text-align: left;" class="mycode_align">mmcblk1 179:96 0 29.7G 0 disk </div>
<div style="text-align: left;" class="mycode_align">├─mmcblk1p1 179:97 0 213.6M 0 part /run/media/xxxx/BOOT_FEDORA</div>
<div style="text-align: left;" class="mycode_align">└─mmcblk1p2 179:98 0 29.5G 0 part /run/media/xxxx/ROOT_FEDORA</div>
<div style="text-align: left;" class="mycode_align">nvme0n1 259:0 0 238.5G 0 disk </div>
<div style="text-align: left;" class="mycode_align">└─nvme0n1p1 259:1 0 238.5G 0 part</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">Now, mmcblk1 is there with 29.7G.</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">6. Insert your SD card and run lsblk to get the drive number. Substitute <span style="font-weight: bold;" class="mycode_b">X</span> with the corresponding sd drive number you get from running lsblk. In the above example, my sd card is mmcblk1. So, I will use that in the following command:</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">sudo dd if=<span style="font-weight: bold;" class="mycode_b">NameOfYourFile</span>.img of=/dev/mmcblk<span style="font-weight: bold;" class="mycode_b">X</span> oflag=sync status=progress bs=4M<br />
</div>
<br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">Make sure you are targeting the sd card and not the internal emmc card!</span></div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">7. When it’s done writing the image to the SD card. Reboot your laptop.</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">8. Fedora will boot up and you will go through a nice setup process with a gui. After setup is complete you’ll be greeted with the Gnome desktop environment. Now, we need to resize the partition that was created on the sd card. The image writes a 10G disk leaving 20G unused on the card.</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">9. Open up a terminal in Gnome and run the following where mmcblk<span style="font-weight: bold;" class="mycode_b">X</span> is the number of your sd card drive. The size will be reported around 10G. Run lsblk again to verify if you wish.</div>
<br />
<br />
sudo cfdisk /<span style="font-style: italic;" class="mycode_i">dev/</span>mmcblk<span style="font-weight: bold;" class="mycode_b">X</span><br />
<br />
<br />
<div style="text-align: left;" class="mycode_align">10. Resize the last partition of the SD card. In the example from above, my sdcard drive is mmcblk1. You can see from looking at the output that there are two partitions on the sd card mmcblk1p1 and mmcblk1p2. So, I will select mmcblk1p2 using up and down arrow keys. At the bottom of the terminal screen there is a menu that you can navigate with your left and right arrow keys. Highlight ‘Resize’ and press the enter key. It will default to resizing the partition to fill out the rest of the SD card. Scroll to ‘Write’ hit the enter key then type yes and hit enter to confirm. Then quit cfdisk.</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">11. Now, to resize the drive on your sd card to use all the available space run the following command using the numbers assigned by the system where there is a bold X:</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">sudo resize2fs /<span style="font-style: italic;" class="mycode_i">dev/</span>mmcblk<span style="font-weight: bold;" class="mycode_b">X</span>p<span style="font-weight: bold;" class="mycode_b">X</span>.</div>
<br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">Congratulations! You now should have a working Fedora 32 Workstation! Now, comes the easy part! Deepin Desktop installation!</span></div>
<br />
<br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">Deepin Installation</span></div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">1. Update your system from terminal then reboot.</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align"><div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>sudo dnf upgrade</code></div></div></div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">2. To install deepin type</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align"><div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>sudo dnf group install “Deepin Desktop”</code></div></div></div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">3. Reboot again.</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">4. At the login screen select your account. In the lower right corner there should be a gear. Click on it and select Deepin from the menu. Input your password and enjoy Deepin on your Pinebook Pro.</div>
<br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">Optional Post Installation Tasks</span></div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">If you want a more complete Deepin experience, you can change the login screen to what is used by deepin. Type these 2 commands in the terminal.</div>
<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>sudo systemctl disable gdm</code></div></div><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>sudo systemctl enable lightdm</code></div></div><br />
<br />
<br />
<div style="text-align: left;" class="mycode_align">If you want pure Deepin and no longer wish to have gnome occupying space on your disk run:</div>
<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>sudo dnf group remove gnome-desktop</code></div></div><br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">Installing to the internal emmc drive</span></div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">At this point, if you followed everything currectly, your internal operating system should be intact and unaffected. If you want to install to emmc we just do the exact same process we did to the sd card with one minor change. Which I will note here to save space and reading time instead of regurgitating every step.</div>
<br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">**************************</span></div>
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">!!!IMPORTANT!!!</span></div>
<div style="text-align: left;" class="mycode_align">When installing to the emmc, do <span style="font-weight: bold;" class="mycode_b">NOT</span> leave any devices plugged into any of the usb slots when you reboot your pinebook pro to go through the first boot up process. I left my usb Logitech mouse dongle in 3 different times and it failed to boot and was kicked into a terminal recovery mode. You will have to redo the installation from the sd card if this happens. After the initial setup you are free to leave the usb devices plugged in.</div>
<div style="text-align: center;" class="mycode_align"><span style="font-weight: bold;" class="mycode_b">**************************</span></div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">6. Navigate to where you copied the .img file earlier in a terminal. Use the dd command with the following parameters when writing the img to the internal hard drive:</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">sudo dd if=<span style="font-weight: bold;" class="mycode_b">NameOfYourFile</span>.img of=/dev/mmcblk<span style="font-weight: bold;" class="mycode_b">X</span> oflag=sync status=progress bs=32M</div>
<br />
<br />
<div style="text-align: left;" class="mycode_align">All the other steps remain the same.</div>
<br />
<br />
<br />
I hope that you find this tutorial easy to use and informative. I welcome all feedback and will try to answer any questions you may have to the best of my ability and will try to help you out as best I can if you are unsure or stuck on something from the guide.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[How to rewrite uboot to emmc]]></title>
			<link>https://forum.pine64.org/showthread.php?tid=11980</link>
			<pubDate>Thu, 29 Oct 2020 12:34:31 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.pine64.org/member.php?action=profile&uid=19757">pineitup</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.pine64.org/showthread.php?tid=11980</guid>
			<description><![CDATA[I recently reflashed Manjaro 20.10 to the emmc using the manjaro flasher app, but apparently it deleted the uboot because each boot now starts with bout 15 seconds of red light (the indicator on the top left of the keyboard), rather than directly switching to green light for the boot process.<br />
<br />
Installing the manjaro uboot package didn't change anything. How can I reflash the uboot to the emmc?<br />
<br />
Thanks]]></description>
			<content:encoded><![CDATA[I recently reflashed Manjaro 20.10 to the emmc using the manjaro flasher app, but apparently it deleted the uboot because each boot now starts with bout 15 seconds of red light (the indicator on the top left of the keyboard), rather than directly switching to green light for the boot process.<br />
<br />
Installing the manjaro uboot package didn't change anything. How can I reflash the uboot to the emmc?<br />
<br />
Thanks]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[How to edit & compile apps for PBP]]></title>
			<link>https://forum.pine64.org/showthread.php?tid=11940</link>
			<pubDate>Sun, 25 Oct 2020 21:42:58 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://forum.pine64.org/member.php?action=profile&uid=19757">pineitup</a>]]></dc:creator>
			<guid isPermaLink="false">https://forum.pine64.org/showthread.php?tid=11940</guid>
			<description><![CDATA[How can I install apps such as <a href="https://github.com/bitwarden/desktop" target="_blank" rel="noopener" class="mycode_url">bitwarden</a>, <a href="https://github.com/vladimiry/ElectronMail" target="_blank" rel="noopener" class="mycode_url">ElectronMail</a> and ProtonMail <a href="https://protonmail.com/bridge/install" target="_blank" rel="noopener" class="mycode_url">Bridge</a>? They provide the code which appears to be targeted also for linux, so I have hope it should work on my Manjaro PBP. Protonmail bridge also provides the PKGBUILD. The only problem is that they probably not designed to work on aarch64.<br />
<br />
Is there a way to modify them to work on PBP Manjaro?<br />
I tried installing bitwarden via AUR but it's dependency on electron seems to <a href="https://aur.archlinux.org/packages/bitwarden/#comment-770637" target="_blank" rel="noopener" class="mycode_url">break</a> it. I couldn't find any way to change that electron version. In other instances of package install via AUR (say in the case of signal desktop) I get the error if incompatible architecture ("...not available for the 'aarch64'...").<br />
<br />
Thank you! I really appreciate the help.]]></description>
			<content:encoded><![CDATA[How can I install apps such as <a href="https://github.com/bitwarden/desktop" target="_blank" rel="noopener" class="mycode_url">bitwarden</a>, <a href="https://github.com/vladimiry/ElectronMail" target="_blank" rel="noopener" class="mycode_url">ElectronMail</a> and ProtonMail <a href="https://protonmail.com/bridge/install" target="_blank" rel="noopener" class="mycode_url">Bridge</a>? They provide the code which appears to be targeted also for linux, so I have hope it should work on my Manjaro PBP. Protonmail bridge also provides the PKGBUILD. The only problem is that they probably not designed to work on aarch64.<br />
<br />
Is there a way to modify them to work on PBP Manjaro?<br />
I tried installing bitwarden via AUR but it's dependency on electron seems to <a href="https://aur.archlinux.org/packages/bitwarden/#comment-770637" target="_blank" rel="noopener" class="mycode_url">break</a> it. I couldn't find any way to change that electron version. In other instances of package install via AUR (say in the case of signal desktop) I get the error if incompatible architecture ("...not available for the 'aarch64'...").<br />
<br />
Thank you! I really appreciate the help.]]></content:encoded>
		</item>
	</channel>
</rss>