Installation from recovery mode
Most Android devices have a "recovery" partition, on which a second kernel and initramfs can be installed. The recovery systems installed there allow overwriting the main OS with a special zip file, and it is possible to generate such a file for postmarketOS.
Preparation
- Install pmbootstrap
- Install TWRP (or another recovery system) on your phone
Create the recovery zip image
Similar to a regular installation, but add --android-recovery-zip
this time. If your device supports full disk encryption (see the FDE column in Devices), you can remove the --no-fde
argument.
$ pmbootstrap init
$ pmbootstrap install --no-fde --android-recovery-zip
Sideload
This allows downloading the zip file on the fly directly from your computer. If you don't want to sideload, you can also copy the generated zip file to an SD card.
- Boot the recovery system
- Click on "Advanced / ADB Sideload", then "Swipe to start sideload"
- Connect your phone to your PC
- Start the sideloading process from your PC
Usually this would be done with:
$ pmbootstrap flasher --method=adb sideload # broken: #1638
However, this is broken right now (see #1638). Read on for a workaround.
Sideload without pmbootstrap
Install adb
on your host Linux distribution (usually in an android-tools
package that you can install with your distribution's package manager), then run the following commands. The special cd
is necessary, because adb
can't resolve the symlink on its own.
$ pmbootstrap export
[07:48:04] NOTE: To export the rootfs image, run 'pmbootstrap install' first (without the 'sdcard' parameter).
[07:48:07] Export symlinks to: /tmp/postmarketOS-export
[07:48:07] * initramfs-lg-mako (Initramfs)
[07:48:07] * boot.img-lg-mako (Fastboot compatible boot.img file, contains initramfs and kernel)
[07:48:07] * vmlinuz-lg-mako (Linux kernel)
[07:48:07] * pmos-lg-mako.zip (Android recovery flashable zip)
[07:48:07] NOTE: chroot is still active (use 'pmbootstrap shutdown' as necessary)
[07:48:07] Done
$ cd $(dirname $(readlink /tmp/postmarketOS-export/pmos-*.zip))
$ adb sideload pmos-lg-mako.zip
loading: 'pmos-lg-mako.zip'...
connecting...
Total xfer: 1.08x
Copy the generated image to an SD card
Instead of sideloading, you can run pmbootstrap export
and copy the pmos-*.zip
file to an SD card. Insert it into your phone, boot into the recovery system, and select "Install". Then navigate to the zip file, and the postmarketOS installation should begin.
Rebooting
TWRP reports that no OS has been installed. This happens, because it can not detect postmarketOS installations (#1451). Just ignore it and reboot into your fresh postmarketOS installation.