View Single Post
Old 10-30-2009, 08:10 AM   #1
jyavenard
Zealot
jyavenard has a complete set of Star Wars action figures.jyavenard has a complete set of Star Wars action figures.jyavenard has a complete set of Star Wars action figures.jyavenard has a complete set of Star Wars action figures.
 
Posts: 141
Karma: 383
Join Date: Sep 2009
Device: Kindle 2
How to create packages for Kindle 2 international

Hi there.

2009/11/02 : Major simplification


Finally got it working.

The difference with earlier Kindle is that now each file in the package must be signed.
The signature is then checked against the RSA key installed in the ROM.

Unfortunately, there's no way to bypass that check .

So what we first do is install an extra RSA key in the device.
that's what the update file update_freekindle.bin is for.

Copy that file on the Kindle USB disk ; then:
go to HOME
MENU -> Settings
MENU -> Update Your Kindle
DO NOT SELECT RESTART, or you will brick your Kindle (though there's a way to get out of that infinite reboot)

That update will fail ! (Error 004). This is normal.

What this package does is add our key to the list of keys available.

You only have to do this once...

In the future, installing packages will be just like with previous version of the Kindle.


Attached is the new Kindle packager kindle_update_tool.py. It has one extra flag for generating Kindle 2 International packages: -k2i and -k2iex

Important points:
OpenSSL must be installed ; and the openssl binary must be in your path.
The file freekindle.pem is the RSA key used to sign and check the validity of the packages. Do not modify it. The file must be present in your current directory, along with the kindle_update_tool.py file.

(That's until I find a way to generate all the internal signature files within python rather than calling openssl directly.)


For safety purposes, here is the MD5 checksum of the keys, and of the package installing the keys:
MD5 (update_freekindle-k2i.bin) = de58ef1df239610a5656d7c904906d56

Only packages signed with the freekindle.pem RSA key will work with the update_freekindle-k2i package.

I've also attached the usual usbnetwork tool, compiled for Kindle 2, Kindle DX and Kindle International... It also shows how to easily make such packages


The update_freekindle-k2i.bin can still be used to cleanup should an error occur during the installation and leave the kindle in a corrupted state...

The update_freekindle-k2i.bin has been updated to not generate an error when installed.

Hope you like it, that was exciting !

A tad more info there:
http://jyavariousideas.blogspot.com/...kager-now.html

Edit: updated to version 0.5, now with uninstaller
Attached Files
File Type: gz packager-0.5.tar.gz (7.8 KB, 357 views)

Last edited by jyavenard; 11-03-2009 at 08:31 AM.
jyavenard is offline   Reply With Quote