Manjaro 20.06 Step-By-Step Installation Guide
#1
I've found that the information needed to replace the default OS on Pinebook Pro is scattered all over the place, and in some places, contradictory.  To help newbs like me avoid the trial-by-error that I went through, I've made the following guide based on a successful replacement of Mate/Debian with XFCE/Manjaro.

Update: extended introduction to clarify the structure of the guide

First, an overview of the guide.  First, to replace the eMMC distro, we need to make an ARM-compatible OS on a microSD.  For the purposes of this guide, we will be using the same OS on the microSD as we are on the eMMC, but theoretically any ARM-compatible OS could be used on the microSD.

Once we have the working OS on the microSD booting on the PBP, we will use that system to use 'dd' to transfer an image of manjaro directly onto the eMMC, bit by bit.

0. Get the proper images and signatures.

First, download the images and checksums you need.

KDE Plasma
- Download
- Torrent
- sha256
XFCE
- Download
- Torrent
- sha256
I3
- Download
- Torrent
sha256

1. Verify checksums

It's very important to verify that the compressed image you downloaded isn't corrupted or anything.  To do that, we will be running sha256sum on our image and checking it against the checksum we downloaded.

Make sure you are in the directory containing the images, usually `~/Downloads`

Code:
$ sha256sum <target image>.img.xz

For mac, use:

Code:
$ shasum -a 256 <target image>.img.xz

This will print a string of characters followed by the name of the file.  Check that checksum against the .img.xz.sha256 file.  There are many ways to do this, but the simplest way is to print the file:

Code:
$ cat <target image>.img.xz.sha256

Ideally, the output will look exactly the same as the sha256sum function.  If it isn't, then your image is corrupted and you need to redownload the image.

2. Decompress the image

Get xz-utils if you don't already have it installed.

Code:
$ # On Arch:
$ sudo pacman -Syu xz-utils

$ # On Debian/Ubuntu:
$ sudo apt-get install xz-utils

Then, extract the image.

Code:
$ # I like to use the -v flag so I can watch the progress of the extraction
$ unxz -k -v <target image>.img.xz

The mac equivalent is a bit different:

Code:
$ # Get xz package if you don't already have it
$ brew install xz

$ # Decompress image
$ xz -d -k -v <target image>.img.xz

3. Flash to microSD using Etcher

I recommend using balena Etcher to flash the image to microSD.  Simply select the image, then the drive to flash to, and then wait for etcher to finish.  It will likely take good while, so make some tea or something.

4. Boot from microSD.

Once the microSD has been flashed, pop it into the microSD drive on your Pinebook Pro and turn it on.  If all has gone well, it will boot to Manjaro's desktop.

NOTE: this system is not our final OS, this is simply the environment in which we will install Manjaro the internal eMMC memory.

You will get a few setup questions:
- keyboard layout
- username
- additional groups (there's a bug here: leaving this field empty will not add the default groups, so you will have to type them in manually separated by commas)
- full name
- password
- root password
- timezone
- locale (en_US.UTF-8 if you are located in the United States)
- hostname

At this point, we still need to put Manjaro on the internal eMMC memory, so we have a few more steps to run.

5. Repeat steps 0-2

As much as I wish to tell you that the Manjaro ARM installer works, it is incredibly buggy at the moment, so this is where we will have to get technical and dangerous.  Download a new image of Manjaro, verify its checksum, and decompress it, just like we did in Steps 0-2.

EDIT: To clarify, this image should be on the freshly booted microSD portion of the PBP.  This cannot be done on the eMMC portion of the PBP, because we are using this image to to replace the operating system on the eMMC.  It has to be done from the microSD.

6. Using dd 

EDIT: First, make sure that you are booted on the microSD card.  This will not work if you are working on the eMMC portion of the PBP.

At this point, I'm afraid we have to resort to the tool of last resort: dd.  Jokingly, it is short for "disk destroyer", because it is incredibly literal and the slightest misspelling could destroy all data on the target.

What dd does is it does a direct bit-by-bit transfer from a target to a destination in the form of:

Code:
$ dd if=<target> of=<destination> bs=4M status=progress

EDIT 2020-11-03: I have added a few arguments that make dd a little faster.  `bs=4M` makes the byte copy go way faster, and is just as reliable as the default (512 bytes).  I also added in the `status=progress` argument, which will show the byte copy progress in real time.

So, for our pinebook pro, we are targeting our freshly downloaded image, likely at '/home/<user>/Downloads'.  The destination will be '/dev/mmcblk2', but you should use `fdisk -l` to verify that your eMMC internal storage is located there.
For my own pinebook pro, I ran:

Code:
$ dd if=/home/<user>/Downloads/<target>.img of=/dev/mmcblk2 bs=4M status=progress

7. Reboot

Shutdown your system, remove the microSD card, and if all went well, you should be prompted for the same information as you were prompted for in Step 4.

8. Rejoice!

Congratulations, you have now successfully replaced the default OS on the Pinebook Pro!
#2
(06-23-2020, 07:24 PM)nathanielwheeler Wrote: I've found that the information needed to replace the default OS on Pinebook Pro is scattered all over the place, and in some places, contradictory.  To help newbs like me avoid the trial-by-error that I went through, I've made the following guide based on a successful replacement of Mate/Debian with XFCE/Manjaro.

0. Get the proper images and signatures.

First, download the images and checksums you need.

KDE Plasma
- Download
- Torrent
- sha256
XFCE
- Download
- Torrent
- sha256
I3
- Download
- Torrent
sha256

1. Verify checksums

It's very important to verify that the compressed image you downloaded isn't corrupted or anything.  To do that, we will be running sha256sum on our image and checking it against the checksum we downloaded.

Make sure you are in the directory containing the images, usually `~/Downloads`

Code:
$ sha256sum <target image>.img.xz

For mac, use:

Code:
$ shasum -a 256 <target image>.img.xz

This will print a string of characters followed by the name of the file.  Check that checksum against the .img.xz.sha256 file.  There are many ways to do this, but the simplest way is to print the file:

Code:
$ cat <target image>.img.xz.

Ideally, the output will look exactly the same as the sha256sum function.  If it isn't, then your image is corrupted and you need to redownload the image.

2. Decompress the image

Get xz-utils if you don't already have it installed.

Code:
$ # On Arch:
$ sudo pacman -Syu xz-utils

$ # On Debian/Ubuntu:
$ sudo apt-get install xz-utils

Then, extract the image.

Code:
$ # I like to use the -v flag so I can watch the progress of the extraction
$ unxz -k -v <target image>.img.xz

The mac equivalent is a bit different:

Code:
$ # Get xz package if you don't already have it
$ brew install xz

$ # Decompress image
$ xz -d -k -v <target image>.img.xz

3. Flash to microSD using Etcher

I recommend using balena Etcher to flash the image to microSD.  Simply select the image, then the drive to flash to, and then wait for etcher to finish.  It will likely take good while, so make some tea or something.

4. Boot from microSD.

Once the microSD has been flashed, pop it into the microSD drive on your Pinebook Pro and turn it on.  If all has gone well, it will boot to Manjaro's desktop.

NOTE: this system is not our final OS, this is simply the environment in which we will install Manjaro the internal eMMC memory.

You will get a few setup questions:
- keyboard layout
- username
- additional groups (there's a bug here: leaving this field empty will not add the default groups, so you will have to type them in manually separated by commas)
- full name
- password
- root password
- timezone
- locale (en_US.UTF-8 if you are located in the United States)
- hostname

At this point, we still need to put Manjaro on the internal eMMC memory, so we have a few more steps to run.

5. Repeat steps 0-2

As much as I wish to tell you that the Manjaro ARM installer works, it is incredibly buggy at the moment, so this is where we will have to get technical and dangerous.  Download a new image of Manjaro, verify its checksum, and decompress it, just like we did in Steps 0-2.

6. Using dd 

At this point, I'm afraid we have to resort to the tool of last resort: dd.  Jokingly, it is short for "disk destroyer", because it is incredibly literal and the slightest misspelling could destroy all data on the target.

What dd does is it does a direct bit-by-bit transfer from a target to a destination in the form of:

Code:
$ dd -if=<target> -of=<destination>

So, for our pinebook pro, we are targeting our freshly downloaded image, likely at '/home/<user>/Downloads'.  The destination will be '/dev/mmcblk2', but you should use `fdisk -l` to verify that your eMMC internal storage is located there.
For my own pinebook pro, I ran:

Code:
$ dd if=/home/<user>/Downloads/<target>.img of=/dev/mmcblk2

7. Reboot

Shutdown your system, remove the microSD card, and if all went well, you should be prompted for the same information as you were prompted for in Step 4.

8. Rejoice!

Congratulations, you have now successfully replaced the default OS on the Pinebook Pro!

Nice work!! :-)
#3
(06-23-2020, 07:24 PM)nathanielwheeler Wrote: I've found that the information needed to replace the default OS on Pinebook Pro is scattered all over the place, and in some places, contradictory.  To help newbs like me avoid the trial-by-error that I went through, I've made the following guide based on a successful replacement of Mate/Debian with XFCE/Manjaro.

0. Get the proper images and signatures.

First, download the images and checksums you need.

KDE Plasma
- Download
- Torrent
- sha256
XFCE
- Download
- Torrent
- sha256
I3
- Download
- Torrent
sha256

1. Verify checksums

It's very important to verify that the compressed image you downloaded isn't corrupted or anything.  To do that, we will be running sha256sum on our image and checking it against the checksum we downloaded.

Make sure you are in the directory containing the images, usually `~/Downloads`

Code:
$ sha256sum <target image>.img.xz

For mac, use:

Code:
$ shasum -a 256 <target image>.img.xz

This will print a string of characters followed by the name of the file.  Check that checksum against the .img.xz.sha256 file.  There are many ways to do this, but the simplest way is to print the file:

Code:
$ cat <target image>.img.xz.

Ideally, the output will look exactly the same as the sha256sum function.  If it isn't, then your image is corrupted and you need to redownload the image.

2. Decompress the image

Get xz-utils if you don't already have it installed.

Code:
$ # On Arch:
$ sudo pacman -Syu xz-utils

$ # On Debian/Ubuntu:
$ sudo apt-get install xz-utils

Then, extract the image.

Code:
$ # I like to use the -v flag so I can watch the progress of the extraction
$ unxz -k -v <target image>.img.xz

The mac equivalent is a bit different:

Code:
$ # Get xz package if you don't already have it
$ brew install xz

$ # Decompress image
$ xz -d -k -v <target image>.img.xz

3. Flash to microSD using Etcher

I recommend using balena Etcher to flash the image to microSD.  Simply select the image, then the drive to flash to, and then wait for etcher to finish.  It will likely take good while, so make some tea or something.

4. Boot from microSD.

Once the microSD has been flashed, pop it into the microSD drive on your Pinebook Pro and turn it on.  If all has gone well, it will boot to Manjaro's desktop.

NOTE: this system is not our final OS, this is simply the environment in which we will install Manjaro the internal eMMC memory.

You will get a few setup questions:
- keyboard layout
- username
- additional groups (there's a bug here: leaving this field empty will not add the default groups, so you will have to type them in manually separated by commas)
- full name
- password
- root password
- timezone
- locale (en_US.UTF-8 if you are located in the United States)
- hostname

At this point, we still need to put Manjaro on the internal eMMC memory, so we have a few more steps to run.

5. Repeat steps 0-2

As much as I wish to tell you that the Manjaro ARM installer works, it is incredibly buggy at the moment, so this is where we will have to get technical and dangerous.  Download a new image of Manjaro, verify its checksum, and decompress it, just like we did in Steps 0-2.

6. Using dd 

At this point, I'm afraid we have to resort to the tool of last resort: dd.  Jokingly, it is short for "disk destroyer", because it is incredibly literal and the slightest misspelling could destroy all data on the target.

What dd does is it does a direct bit-by-bit transfer from a target to a destination in the form of:

Code:
$ dd -if=<target> -of=<destination>

So, for our pinebook pro, we are targeting our freshly downloaded image, likely at '/home/<user>/Downloads'.  The destination will be '/dev/mmcblk2', but you should use `fdisk -l` to verify that your eMMC internal storage is located there.
For my own pinebook pro, I ran:

Code:
$ dd if=/home/<user>/Downloads/<target>.img of=/dev/mmcblk2

7. Reboot

Shutdown your system, remove the microSD card, and if all went well, you should be prompted for the same information as you were prompted for in Step 4.

8. Rejoice!

Congratulations, you have now successfully replaced the default OS on the Pinebook Pro!
Thanks! I have not yet tried your directions, but everything else I tried either failed, or the result was sooooo slow in booting, I gave up. In my many attempts, I destroyed the micro holder; I will have to physically hold it in, else devise some mechanical means (shoestring?) to hold the microSD in place.
#4
(06-23-2020, 10:59 PM)evj Wrote: (quote omitted for brevity)

Thanks! I have not yet tried your directions, but everything else I tried either failed, or the result was sooooo slow in booting, I gave up. In my many attempts, I destroyed the micro holder; I will have to physically hold it in, else devise some mechanical means (shoestring?) to hold the microSD in place.

Try pressing a key like ESC in your perpetual boot,there is a bug in the arm manjaro eMMC installer where it isn't loaded until you escape from the boot splash screen.

Keep in mind, if you're using the 20.04 eMMC installer, there's another bug that crashes the installer when you attempt to select the drive to install to.
#5
(06-24-2020, 12:56 AM)nathanielwheeler Wrote:
(06-23-2020, 10:59 PM)evj Wrote: (quote omitted for brevity)

Thanks! I have not yet tried your directions, but everything else I tried either failed, or the result was sooooo slow in booting, I gave up. In my many attempts, I destroyed the micro holder; I will have to physically hold it in, else devise some mechanical means (shoestring?) to hold the microSD in place.

Try pressing a key like ESC in your perpetual boot,there is a bug in the arm manjaro eMMC installer where it isn't loaded until you escape from the boot splash screen.

Keep in mind, if you're using the 20.04 eMMC installer, there's another bug that crashes the installer when you attempt to select the drive to install to.
I succeeded in booting from the micro. Used dd unto the micro; could not get the right Etcher to work on PBP. Now I am ready to do the final step. Do not understand why I need to get a fresh image; the original is till there. How do I identify the destination?
'lsblk -p' gives:
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
mmcblk1      179:0    0 58.2G  0 disk
mmcblk1p1    179:1    0  64M  0 part /boot
mmcblk1p2    179:2    0 58.1G  0 part /
mmcblk1boot0 179:32  0    4M  1 disk
mmcblk1boot1 179:64  0    4M  1 disk
mmcblk1rpmb  179:96  0  16M  0 disk
Is mmcblk1p1 or mmcblk1p2 the correct destination?
Would appreciate an answer.
#6
@ejv
>Is mmcblk1p1 or mmcblk1p2 the correct destination?
neither
You did say you booted from SD?
Then / will be on the SD, unless you did something tricky with extlinux.conf
This line
mmcblk1p2 179:2 0 58.1G 0 part /
You will notice that there is no mention of mmcblk2, is the emmc switch off?
Or try the unbind/bind command, or try reboots until it is seen
Maybe the mainline/manjaro uboot is too quick for emmc to be ready
--edit-- I am not sure why the labels are not showing up, try sudo blkid
To be really sure, put SD in another (linux) computer, mount 2nd partition of SD, cd to it
sudo touch This-is-SD ,,,(this makes a zero length file, on SD, will show up with ls /)
There is a definite problem if you have a 64G emmc and a 64G SD, which is which?
#7
(06-24-2020, 07:24 PM)evj Wrote:
(06-24-2020, 12:56 AM)nathanielwheeler Wrote:
(06-23-2020, 10:59 PM)evj Wrote: (quote omitted for brevity)

Thanks! I have not yet tried your directions, but everything else I tried either failed, or the result was sooooo slow in booting, I gave up. In my many attempts, I destroyed the micro holder; I will have to physically hold it in, else devise some mechanical means (shoestring?) to hold the microSD in place.

Try pressing a key like ESC in your perpetual boot,there is a bug in the arm manjaro eMMC installer where it isn't loaded until you escape from the boot splash screen.

Keep in mind, if you're using the 20.04 eMMC installer, there's another bug that crashes the installer when you attempt to select the drive to install to.
I succeeded in booting from the micro. Used dd unto the micro; could not get the right Etcher to work on PBP. Now I am ready to do the final step. Do not understand why I need to get a fresh image; the original is till there. How do I identify the destination?
'lsblk -p' gives:
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
mmcblk1      179:0    0 58.2G  0 disk
mmcblk1p1    179:1    0  64M  0 part /boot
mmcblk1p2    179:2    0 58.1G  0 part /
mmcblk1boot0 179:32  0    4M  1 disk
mmcblk1boot1 179:64  0    4M  1 disk
mmcblk1rpmb  179:96  0  16M  0 disk
Is mmcblk1p1 or mmcblk1p2 the correct destination?
Would appreciate an answer.

I should have probably been more clear to that, when making the initial microSD card image, you should be on a system that uses an intel or amd chip, because Balena Etcher does not work on aarch64 (arm).  Etcher will therefore not work on PBP.

It looks like your partition numbering is different than mine was.  
mmcblk1p1 and mmcblkp2 look like partitions on the mmcblk1 drive.  I’m not sure why you don’t have your microSD card listed on here.  I would suggest asking the real experts on the Manjaro ARM forums for clarification.
#8
(06-25-2020, 01:30 AM)nathanielwheeler Wrote:
(06-24-2020, 07:24 PM)evj Wrote:
(06-24-2020, 12:56 AM)nathanielwheeler Wrote:
(06-23-2020, 10:59 PM)evj Wrote: (quote omitted for brevity)

Thanks! I have not yet tried your directions, but everything else I tried either failed, or the result was sooooo slow in booting, I gave up. In my many attempts, I destroyed the micro holder; I will have to physically hold it in, else devise some mechanical means (shoestring?) to hold the microSD in place.

Try pressing a key like ESC in your perpetual boot,there is a bug in the arm manjaro eMMC installer where it isn't loaded until you escape from the boot splash screen.

Keep in mind, if you're using the 20.04 eMMC installer, there's another bug that crashes the installer when you attempt to select the drive to install to.
I succeeded in booting from the micro. Used dd unto the micro; could not get the right Etcher to work on PBP. Now I am ready to do the final step. Do not understand why I need to get a fresh image; the original is till there. How do I identify the destination?
'lsblk -p' gives:
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
mmcblk1      179:0    0 58.2G  0 disk
mmcblk1p1    179:1    0  64M  0 part /boot
mmcblk1p2    179:2    0 58.1G  0 part /
mmcblk1boot0 179:32  0    4M  1 disk
mmcblk1boot1 179:64  0    4M  1 disk
mmcblk1rpmb  179:96  0  16M  0 disk
Is mmcblk1p1 or mmcblk1p2 the correct destination?
Would appreciate an answer.

I should have probably been more clear to that, when making the initial microSD card image, you should be on a system that uses an intel or amd chip, because Balena Etcher does not work on aarch64 (arm).  Etcher will therefore not work on PBP.

It looks like your partition numbering is different than mine was.  
mmcblk1p1 and mmcblkp2 look like partitions on the mmcblk1 drive.  I’m not sure why you don’t have your microSD card listed on here.  I would suggest asking the real experts on the Manjaro ARM forums for clarification.
I was not on Manjaro; took card out, and booted from original. I am on Manjaro now, on miicro. Now I have audio. Tomorrow I shall try to finish following your instructions (in Manjaro). Thanks for all the help.
#9
Based on feedback, I have updated a few sections of this guide for clarity. Namely, I emphasized that, when performing the 'dd' operation, you should be booted onto the microSD, not the eMMC. If you attempt to replace eMMC while booted onto it, bad things will happen.
#10
Hi Nathaniel

Many thanks for preparing this - the general absence of reliable documentation for this does make me pause and consider if I need to get rid of the PBP which is a shame.

I corrupted the default install when a corrupt component (breeze) turned up in the big July update. Not realising this was a key part of the GUI I removed the component and the factory linux gradually fell apart. I can see files on the eMMC drive but this version only gives a blank screen now.

Not a problem, I thought - just follow the guide you created as above and update to a new manjaro.

So:
obtain img file - check.
Verify hash - check.
obtain etcher on another computer and copy img to sd card - check.

After this all I get is a blank screen when trying to boot the PBP into either i3 or XFCE from the SD card.

It is as if the gui is displaying somewhere in the computer's memory, but not the screen, but of course I cannot tell.

The red light stays on for a while (presumably booting) and then goes green

The only light on the horizon is that the Arch Linux installer does appear to work but this is not an official build.

Any ideas how I can persuade either of these manjaro imgs to work from the SD card? Can I use a USB drive instead?

Best wishes and again thanks for putting the above out there which I have followed to the letter!

Alex


Possibly Related Threads…
Thread Author Replies Views Last Post
  Fedora 37 installation gswatkins 16 5,516 03-16-2024, 03:09 PM
Last Post: michel_luc
  Manjaro Sway Theme Broken Eighty8 1 166 03-08-2024, 08:41 AM
Last Post: tophneal
Question Manjaro with Full Disk Encryption and GRUB dumetrulo 1 1,605 02-02-2024, 02:45 AM
Last Post: frankkinney
  Manjaro network problem late 2023 acruhl 1 213 01-19-2024, 11:32 PM
Last Post: Kevin Kofler
  Help installing Manjaro on eMMC of Pinebook Pro pine4546464 4 1,912 12-13-2023, 07:22 PM
Last Post: trillobite
  Need Help Recovering Manjaro /boot Contents on Pinebook Pro calinb 6 1,979 12-11-2023, 03:47 AM
Last Post: calinb
  Manjaro 20.04 not loading from SD (with Manjaro on eMMC) zaius 1 291 12-07-2023, 03:11 PM
Last Post: wdt
  Manjaro ARM: enabling external monitors & fixing Broadcom WiFi after updating trifleneurotic 2 746 11-14-2023, 10:57 AM
Last Post: trifleneurotic
  Manjaro [ARM Stable Update] 2021-07-23 issues Bocanila 1 1,913 08-21-2023, 09:10 PM
Last Post: vanessadonald
  [Manjaro] u-boot won't boot from eMMC with (unbootable) SD card present zackw 1 1,853 08-21-2023, 09:08 PM
Last Post: vanessadonald

Forum Jump:


Users browsing this thread: 2 Guest(s)