mirror of
https://github.com/dreemurrs-embedded/Jumpdrive.git
synced 2024-11-16 14:10:06 +00:00
Flash/Rescue SD Card image for PinePhone and PineTab. This is NOT a bootloader
e476191fdd
Grouped explicit targets (the &: syntax) indicate to Make that a single recipe, built once, produces all the indicated targets. In this case, the feature was being used to indicate that the kernel build also creates the needed dtbs for the sunxi devices. Unfortunately, this feature was only introduced in GNU make 4.3 on January 27 2020. Most current or LTS (or current LTS) releases of distributions don't have this version of Make yet. For example, Ubuntu 20.04, Fedora 32, and Debian 10 (Buster) are still on GNU make 4.2 or older. When grouped targets are used on older versions of GNU make, it tries to run the same recipe once for each target. In this case, a 'make all' at the top level would run 'make -C src/linux ...' three times. This caused file locking problems when anything but 'make -j1' was used and made build times pretty long in any other case. Fix this by changing the dtbs to dependency-only targets. Now GNU make <4.3 correctly intuits "I only need to build kernel-sunxi.gz once and will provide the dtbs, too" instead of "I need to build this kernel-sunxi.gz recipe three times: once for kernel-sunxi.gz, once for the two dtbs" |
||
---|---|---|
initramfs | ||
splash | ||
src | ||
.gitignore | ||
.gitmodules | ||
LICENSE | ||
Makefile | ||
README.md |
Jumpdrive
The swiss army knife of Pine64 devices (currently only Pinetab and PinePhone)
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
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.
Building
The dependencies are:
- aarch64-linux-gnu- toolchain
- u-boot tools
- mtools
$ 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