Meet P-Boot: A New Pico-Sized Bootloader For Linux-Based PinePhone

On one hand PINE64 is progressing the development of PinePhone with the recent announcement of the next PinePhone Manjaro Community Edition (CE), on the other hand more PinePhone tinkerers are experimenting with it to innovate something new.

A few months ago we reported about a new multi bootloader, PineLoader, for PinePhone. Now, I want to introduce you to another new bootloader project “p-boot, ” which I came across recently.

p-boot: A PinePhone Bootloader With GUI Menu

As the developer of p-boot Ondrej Jirman (aka “megi”) says, p-boot is one of the smallest and fastest GUIs featuring a smartphone bootloader. It is partly based on open-source Universal Bootloader (U-Boot) and Linux code.

He recently released p-boot bootloader with GUI boot menu support, cleanups, and support for the 3GB variant PinePhone “Convergence Package” edition, which was introduced in PinePhone postmarketOS CE.

Unlike other bootloaders like U-boot, p-boot is very fast as it takes 30 to 60 milliseconds for booting itself. Then, to load kernel images from eMMC, or SD card, p-boot further takes around 150 milliseconds (~600ms for SD card).

Speaking of being small, the current size of p-boot is 31KB with display support enabled. If you disable the support for the graphical interface, its size gets reduced to 25KB.

p-boot also offers flexible boot source options like supporting multiple boot configurations on SD cards and eMMC. It even has the ability to load bootloader from an SD card, but reads boot data from eMMC.

How To Get p-boot?

If you’re interested in learning more about the p-boot project, jump here. Since the project is open source under GPLv3, you can also join the development and contribute to its git repository hosted here.

To get started, read the README file that contains all the information from the building, installation to the boot process of p-boot.