0b5f39d03d | ||
---|---|---|
initramfs | ||
splash | ||
src | ||
.gitignore | ||
LICENSE | ||
Makefile | ||
README.md |
README.md
Jumpdrive
A swiss army knife for mobile devices, currently supporting:
- Pine64 PineTab
- Pine64 PinePhone
- Purism Librem 5
- Xiaomi Pocophone F1
- OnePlus 6
- OnePlus 6T
You can use this to flash a image directly to eMMC, troubleshooting a broken system, and a lot more.
Table of Contents
Installation
Download the latest image for your device here
PinePhone / PineTab
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.
Librem 5
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.
Xiaomi Pocophone F1 / OnePlus 6 / OnePlus 6T
Boot the image using fastboot boot
.
Building
The dependencies are:
- aarch64-linux-gnu- toolchain
- u-boot tools
- mtools
- bison
- flex
- cpio
- make
- wget
- swig
- bc
- python3
- python3 distutils
- parted
- mkfs.fat
- udev
To install the build dependencies in Arch :
sudo pacman -S aarch64-linux-gnu-gcc uboot-tools mtools cpio bison flex make wget swig bc python python-distlib parted dosfstools
To install the build dependencies in Ubuntu/Debian :
sudo apt install gcc-aarch64-linux-gnu u-boot-tools mtools cpio bison flex make wget swig bc python3 python3-distutils parted dosfstools udev
Additional dependencies for the Purism Librem 5:
- arm-none-eabi- toolchain
- uuu
Additional dependencies for the Xiaomi Pocophone F1 / OnePlus 6 / OnePlus 6T:
- 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
This project is built on:
- Busybox - which is GPLv2.
- postmarketOS scripts - which is GPLv2.
- Pine64's kernel fork - which is GPLv2.
- U-Boot - which has multiple licenses