PinePhone multi-distro demo image

Here you can find a multi-boot uSD card image containing 15 different Pinephone distributions. The purpose of this image is for users to easily try current major (and some minor) Pinephone Linux distributions, without having to figure out how to flash them individually and juggle with many uSD cards.

Key points:

Some development history and technical details can be found on my blog.

There are some excellent presentations of the multi-boot image available on youtube:

News

2022-01-26

2021-06-02

2020-11-23

Quirks

Most distributions don't need any changes to be well behaved denizens of the multi-boot image. Nevertheless, some files still needed to be overriden. You can see those in the project's GIT repository, bellow.

Download

The image is distributed as a torrent due to its size. Install some torrent software (suggestions: transmission, qBittorrent) and click the previous link to start the download. Don't forget to let the torrent client run even after the download finishes so that other people can get the image too. I only seed to the ratio of 10x at unlimited speed (1Gbit).

The image is also available at: http://dl.xnux.eu/p-boot-multi-2022-01-26/ as a regular download. Download via HTTP is rate limited to 512 KiB/s. So if you want to get the image faster, use a torrent.

There's also a mirror of the image by the discord user uxes at http://mirror.uxes.cz/dl.xnux.eu/.

Pre-loaded microSD cards

Consider purchasing a preloaded microSD card if you don't have the time, skills, or microSD card to download the image to yourself. This plug and play solution includes everything you need to get up and running immediately.

This is a third-party service provided by bitcompact.com.

Installation

Installation is performed by decompressing image data (compressed using zstd) directly to the SD card's whole block device. For example you can use zstd -d multi.img.zst ; sudo dd if=multi.img of=/dev/sdcarddevice bs=4M oflag=direct status=progress (if you know how to identify your SD card's block device).

Verify the image was written correctly immediately after flashing by running dd if=/dev/sdcarddevice bs=1M count=10000 | sha256sum. SHA256 sum must be 39915b9d2aa2f33fd78552ac9a0e665c4aef97dd68a9f9a6c76f9fa2f0ac049e. If your OS auto-mounts new filesystems, make sure it does not do it for the SD card image, otherwise the hash may change, and this verification method will be unreliable.

You must stretch the OS partition to fit your entire uSD card (do NOT use gparted, it will just break the image silently), otherwise the free space inside the filesystem will be limited to about 0.5 GiB, which will cause distros to fail after a few boots. If you run out of space, all included distributions may become unstable. Distributions are configured to be updateable using a package manager (only kernel and u-boot updates are blocked).

Partition stretching instructions are on this page and in the README file distributed with the image.

Here you can find generic instructions on how to work with uSD cards on Pinephone.

Passwords

All passwords were changed to 1111. Root passwords are 1111. sxmo login/password is user/1111. Manjaro seems to insist on 123456.

Managing the multi-boot image

You can use the multi-boot image as a starting point for your own multi-boot pinephone system.

How you can manage the boot menu items, update kernels, and add/remove distributions is described in this blog post.

Support the project

p-boot demo image generator is free and opensource software released under GPLv3. It is an independent personal project not backed by any comapny or commercial interests. You can contribute by writing code, helping improve documentation, spreading the word, and/or by donating. I may receive some proceeds from microSD card sales by bitcompact.

Share on: Twitter, Facebook, etc.

Bugs and support

Please report bugs via email:

Development

Project status: p-boot-demo is maintained and actively developed by the original author.

GIT repository with build scripts is available at: https://megous.com/git/pinephone-multi-boot/.

It's not an end-user code, but the scripts are simple enough to understand and adapt for the adept Linux users.