-- Leo's gemini proxy

-- Connecting to lucaweiss.eu:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

Signing boot images for fastboot

If you have ever seen the error `FAILED (remote: bootimage: incomplete or not signed)`, here's the solution (at least for the Fairphone 2 😉):


Download the `BootSignature.jar` file from my server (or compile it yourself from the LineageOS 14.1 tree with the command `mka BootSignature`).

curl -O https://public.lucaweiss.eu/BootSignature.jar

Download the `make_key` tool from the LineageOS GitHub.

curl -O https://raw.githubusercontent.com/LineageOS/android_development/cm-14.1/tools/make_key

Make the script executable

chmod +x make_key

Generate the key with

./make_key keystore '/C=US/ST=California/L=Mountain View/O=Android/OU=Android/CN=Android/emailAddress=android@android.com'

Put the `BootSignature.jar`, `keystore.pk8` and `keystore.x509.pem` in a directory of your choice.


Put the following script into a location in the PATH (`~/bin` or `/usr/local/bin` should be good) **and replace the first variable with the location you put the three files in**:


#!/bin/bash

KEYSTORE_TOOLS=/location/to/jar_and_certs

IMGFILE=$1

if [ ! -n "$1" ]; then
  echo "Usage: $0 <file.img>"
  exit 1
fi

java -jar $KEYSTORE_TOOLS/BootSignature.jar /boot $IMGFILE $KEYSTORE_TOOLS/keystore.pk8 $KEYSTORE_TOOLS/keystore.x509.pem $IMGFILE.signed

Don't forget to make that script executable! (`chmod +x`)


Now you can use the script to sign your images and then boot it

sign_img boot.img && fastboot boot boot.img.signed

Have fun!


-- Response ended

-- Page fetched on Sat May 11 04:08:44 2024