Freedom of Speech, Privacy, Science

I have not received any National Security Letter.

Please join the Electronic Frontier Foundation ( EFF.org ) and the fight for your rights on the Internet.

Please join the Union of Concerned Scientists ( uscusa.org ) in bringing science into improving all our lives (everyone is welcome to join).

Public Domain works are a vital part of any culture and there are repeated attempts to erode the Public Domain. For more information see the Center for the Study of the Public Domain at Duke University.

HOME Software Lotus Cars DWARF Kindle Solar
graphic with lotus elise and lotus elan

Pinephone Install

Pinephone, installing 2022 Mobian

See pinephone.org for an introduction to this mobile phone running Linux. It and the process resulting in its creation is remarkable.

This page describes installing the latest Debian Linux mobile phone software on a pinephone, called Mobian. See mobian.org.

The 2022 documentation on the install process is pretty good but not always clear. There are several stages, two involving software named Tow-Boot. The way one uses tow-boot to do two different things and the order to do those two is not clearlly spelled out. If anything here is, or seems, incorrect or incomplete please let me know.

Here we focus in the early Pinephone (initial edition through Community Edition). And we focus on installing into the eMMC, leaving the microsd slot available (once all is done here with mobian installed) for some of our files.

We had been using an early 2021 mobian (with the common mistake of having the PAM module problem so passwords did not work right) and the July 2022 version and documentation is quite noticably better in every way!

We are using Ubuntu Linux as the desktop machine referenced below, though it would equally apply to any Linux.

Removing and installing a microsd card requires one to power down the pinephone, remove the back cover, and then remove the battery so one can get to the pinephone microsd slot. Below, We just assume you do that whenever a microsd card change is mentioned.

At any use of the pinephone below we assume you have a usb-C connection to provide power to your pinephone at all times in these phases.

Useful Documentation

Major Steps

  1. Get image Files to your Desktop
  2. Install tow-boot on microsd
  3. Use tow-boot to get mobian to eMMC
  4. Use tow-boot to get boot-data to eMMC
  5. Boot pinephone into mobian
  6. Boot pinephone again

Get the necessary image files to your desktop

Tow-Boot

In your browser access
https://github.com/Tow-Boot/Tow-Boot/releases/
click on
pine64-pinephoneA64-2021.10-004.tar.xz
to download it (remember this is only for some pinephones)

cd ~/Downloads
unxz  pine64-pinephoneA64-2021.10-004.tar.xz
tar xf pine64-pinephoneA64-2021.10-004.tar
# get the tow-boot image for pinephone.
cp pine64-pinephoneA64-2021.10-004/mmcboot.installer.img .  

Mobian

In your browser access
https://images.mobian-project.org/pinephone/
click on
weekly
and click on mobian-pinephone-phosh-20220717.img.gz
(for example, or a later versions of these files)
to download (remember this is only for some pinephones)
Then click on mobian-pinephone-phosh-20220717.sha256sums
(or later)
so you can do a basic assurance check that the download
will get the correct bits.

cd ~/Downloads
sha256sum mobian-pinephone-phosh-20220717.img.gz
#Verify atainst what .sha256sums contains

After all that ~/Downloads contains the two image files you need.

Install tow-boot on microsd, at least 8GB

WARNING: We use the dd command several times below as it is universally available and easy to use. But some call it Disk Destroyer as a mistake using it can destroy your desktop disk. Be very careful in creating the of=/dev/<something> option. Always place commands using dd into a small shell script so one can review before executing.

We use this microsd card to do the boot (twice), any other data on it will be lost.

Do "ls /dev/sd*" on your desktop to see what sd? letters are used after this specific boot.

Since my desktop uses sda and sdb, We found /dev/sdc and /dev/sdd were new (why both? Unknown). sdc had no /dev/sdc1 or /dev/sdc2 while /dev/sdd had /dev/sdd1 and /dev/sdd2. Do NOT mount /dev/sdd or /dev/sdc, leave them unmounted, unmount if already mounted.

i=./mmcboot.installer.img
o=/dev/sdd
sudo dd status=progress bs=1M if=$i of=$o

Now tow-boot is installed on the microsd card. sdd is still not mounted.

Remove the microsd from your desktop system.

Use tow-boot to get mobian to eMMC

Open Pinephone, insert microsd in the microsd slot. This microsd is the one with the flashed tow-boot. After opening, removing battery and any microsd card insert the microsd for flashing, reinsert the battery and close the pinephone.

We boot pinephone in a specific way so we can get the mobian image to eMMC and then power pinephone down.

do "ls /dev/sd*" on your desktop to see what sd? letters are used.

We assume you have plugged a USB cord with a type-C usb end for pinephone into your desktop machine for PP power and for the following step.

Hold down the top end of the volume rocker switch (the end nearest the earphone plugin) and press and hold it and the power button until one feels a first and second vibration. A blue led will light if this works. The screen will be otherwise black.

do "ls /dev/sd*" on your desktop to see what sd? letters are used after this specific boot. We found /dev/sdc and /dev/sdc1 and /dev/sdc2.

Tow-boot arranges that here /dev/sdc is actually the part of the microsd used for the mobian system and user data.

The following will take a few minutes.

i=mobian-pinephone-phosh-20220717.img
o=/dev/sdc
sudo dd status=progress bs=1M if=$i of=$o

Power off the pinephone and disconnect the pinephone from your desktop. Leave the microsd in pinephone.

Use tow-boot to get boot data to eMMC

Here we boot pinephone in a (seemingly) normal way, with the microsd with tow-boot still in the pinephone. It boots to a tow-boot screen.

the screen is a tow-boot screen with three buttons in the panel, with title Tow-Boot Installer Interface.

  1. First click on "Erase SPI Flash content" and let that finish.
  2. Then click on "Install Tow-Boot to SPI Flash" and let that finish.
  3. Finally click on "Power Off"

Open pinephone and remove the tow-boot microsd.

At this point mobian is ready to be used.

Boot pinephone into mobian

Now we are beginning the initial upgrade. Here we assume the pinephone is still or again plugged into power as the initial upgrade takes substantial power over a long period.

With the power button boot up (or plugging in the USB-C might do that). It will get you the Mobian boot. Use the default mobian username and its password of 1234. (Later we will update the password/pin. Later it makes things harder if you use an alphanumberic password. Don't do that, use a set of digits.)

Open settings and, unless you are using a Dock device (allowing hard-wired ethernet) enter your wifi password to the Wi-Fi setting.

Power Setting.

  1. Turn "Automatic Screen Brightness" off (touch left end of the oval).
  2. Turn "Dim Screen" off (touch left end of the oval).
  3. Touch "Screen Blank" and select the last entry, 'Never'.
  4. Touch "Automatic Suspend".
  5. Touch the left end of On Battery Power and PluggedIn ovals to turn them off.

To get rid of the "Automatic Suspend" screen use the up-arrow at the bottom of the pinephone. The "Automatic Suspend" has its own window, so flick AutoSuspend off the top to get rid of that panel .

Touch the still-present Settings panel to get it active.

These settings make it safe to do the iniial software update without requiring you do do much more than just wait.

Later on we will update the password from the default.

Now bring up a terminal app. Used to be named named Kings Cross but this version of mobian names it Console.

So now we update software! This could take a long time. Early on in a couple of these apt commands it might ask for permission to continue.

sudo apt update
sudo apt dist-upgrade
sudo apt autoremove
# shutdown pinephone
sudo halt -p

Boot pinephone again

Now we set a usful non-default pin number As an example we use a possibly obious one: 314159 (you get to choose the length, but four is the usual minimum).

So again bring up a terminal app, with this release called Console. We do not show the text prompts here, just what you type. each line ended with a <return>. If there is a failure (you mistype something) it will ask again. Write your new password down somewhere and keep it safe!

passwd
1234
314159
314159
# Now reboot to ensure the entire system has the new passwd.
sudo reboot

Now you are up and running, so go back to settings and alter the Settings->Power to some normal values.

Done!