The standard way of installing custom software to a Kindle device is by using its update*.bin installer files. In the old days (K2/K3) you had the help of kindle_update_tool.py by jyavenard. But for Paperwhite we got help from the kindletool by NiLuJe. There is a whole thread about packing/unpacking the Kindle update files written by NiLuJe here. Please be sure to read this thread to understand how the tools used for this tutorial work.

 

Overview

  1. Read thread about packing/unpacking Kindle update*.bin by NiLuJe here
  2. Download ressources (see below)
  3. Prepare environment
  4. Create update_*.bin file

 

Tutorial

1. Read thread about packing/unpacking Kindle update*.bin by NiLuJe


2. Download ressources

Download and unzip this files somewhere on your system


3. Prepare environment

3.1 Setup PATH

To use kindletool from anywhere in your system you best add it to the PATH variable. On Mac OS X this might look as follows

export PATH=$PATH:/Volumes/Data/dev/kindle/kindletool-v1.5.5.1-osx


4. Create update_*.bin file

After you added kindletool to the PATH you can run the build-updates.sh script from the kindle-dummy project. This creates a basic installer bin with a script attached. By default this script does really nothing but generates more of a logfile of the device.

On my MacBook I had to change the build-updates.sh according to this

--- build-updates.sh     2009-05-08 17:22:51.000000000 -0700
+++ build-updates_orig.sh        2009-07-19 14:44:08.000000000 -0700
@@ -21,0 +21,0 @@ # We also need GNU tar
-TAR_BIN="tar"
+TAR_BIN="gnutar"
...

--- build-updates.sh 2009-05-08 17:22:51.000000000 -0700 +++ build-updates_orig.sh 2009-07-19 14:44:08.000000000 -0700
@@ -29,0 +29,0 @@ # Create the utils tarball
-${TAR_BIN} --owner root --group root -cvzf utils.tar.gz consts ui
+${TAR_BIN} --owner root --group 0 --numeric-owner -cvzf utils.tar.gz consts ui

After a successful build you can try to install the update_dummy_0.0.N.bin file by uploading it to /mnt/us. After the "update" process you should then see the file dummy_testupdate.log in /mnt/us.

 

Credits

  • Original tutorial by NiLuJe
  • Amendments for Kindle Paperwhite (K5) / FW 5.3.5 / API 2.2 by Kim Hauser

Other articles in this category