A swiss army knife for mobile devices, currently supporting:
- Pine64 PineTab
- Pine64 PinePhone
- Purism Librem 5
- Xiaomi Pocophone F1
- OnePlus 6
- OnePlus 6T
- POCO X3 NFC (WIP)
You can use this to flash a image directly to eMMC, troubleshooting a broken system, and a lot more.
Download the latest image for your device here
Then use dd to flash the image to an SD card. Jumpdrive is pretty small, so there is no need for a large storage SD card.
Insert the SD card to the device, then boot it up, you should get a nice splash screen and you should see a new storage device after you plug the device to USB.
With the device plugged in, you can now flash a distro, or fix a unbootable installation.
WARNING: In case eMMC isn't showing up try to charge your battery and try again. There are reports of people not being able to flash to eMMC with discharged battery.
Extract the downloaded JumpDrive release archive for the Librem 5, put the device into flash mode, then run the boot-purism-librem5.sh script from the release.
You may need to erase dtbo in order to boot. Guide taken from wiki.postmarketos.org:
To boot Linux, you'll have to erase the dtbo partition. It is recommended to back it up first if you want to boot Android again
Run dd if=/dev/block/by-name/dtbo of=/sdcard/dtbo.img from a rooted shell on your phone and pull it with adb pull /sdcard/dtbo.img to your computer.
Boot into bootloader mode
Erase the dtbo partition with fastboot erase dtbo
To restore the partition flash it with fastboot flash dtbo dtbo.img
Boot the image using fastboot boot.
The dependencies are:
- aarch64-linux-gnu- toolchain
- u-boot tools
- mtools
Additional dependencies for the Purism Librem 5:
- arm-none-eabi- toolchain
- uuu
Additional dependencies for the Xiaomi Pocophone F1 / OnePlus 6 / OnePlus 6T / POCO X3 NFC:
- mkbootimg
$ git submodule update --init --recursive
Downloads the projects to build
$ make -j8 pine64-pinephone.img.xz
Builds everything needed for the pinephone image...
$ make -j8 initramfs-pine64-pinephone.gz
Generate only the initramfs for the pinephone
$ make -j8 all
Generates an image for every supported platform in parallel
- Busybox - which is GPLv2.
- postmarketOS scripts - which is GPLv2.
- Pine64's kernel fork - which is GPLv2.
- U-Boot - which has multiple licenses