This document is a static copy of the MobileRead forum thread found here: http://www.mobileread.com/forums/showthread.php?t=88004

It may not be always up to date, so, always check the MR thread first.

----

Since it didn't seem to be clear for everyone where to find the updated hacks for the 2.5.x updates, I took it upon myself to make this (hopefully) clean & clear post about it! (And a bit long, I know... Sorry :p)

First things first, a huge thanks to the original creators/updaters of these hacks, all the people who, at some point, worked on these hacks, and some of the pioneers! In no particular order:

* clarknova : http://www.mobileread.com/forums/showpost.php?p=963004&postcount=2 for the first 2.5.x jailbreak & screensavers hacks
* porkupan : http://www.the-ebook.org/forum/viewtopic.php?t=11259 for one of the first bind mount based fonts hack
* kukyakya : http://www.mobileread.com/forums/showthread.php?t=87995 for the usb watchdog & update-safe tweaks : https://redmine.kukyakya.pe.kr/projects/customfont/wiki/Customfont
* jyavenard : http://www.mobileread.com/forums/showthread.php?t=63225 for the packager
* tedsan : https://sites.google.com/a/etccreations.com/kdesignworks/Home/font-install-files & blogkindle : http://blogkindle.com/unicode-fonts-hack/ for their fonts hack
* igorsk : http://igorsk.blogspot.com/, ebs : http://www.mobileread.com/forums/showthread.php?t=49350 & Jesse Vincent  : http://blog.fsck.com/ for all they did to make this possible!

UPDATE: (08/07/10 04:19 UTC)
Minor update. (v0.10.N & v3.7.N). It's only really useful for new users, check the Changelog below.

Refer to the note below for instructions on how to update.

*IMPORTANT NOTE REGARDING UPDATES:*
Here are general *update* instructions for these hacks:


    * First of all, no need to touch the jailbreak again. You already installed it the first time you installed hacks. Just forget about it now ;).
    * Next, no need to run the update_*_uninstall.bin updates, ever. (except in some specific cases, like if you're updating from another font/ss hack [in which case you should use the original uninstaller for your hacks, and not the ones found here]).
    * Then, you can apply the latest update_*_install.bin updates, one by one. You can safely chain both hacks installs.
    * After that, to make sure everything's in order, do a full Restart of your Kindle (*[HOME] -> [MENU] > Settings -> [MENU] > Restart*), and you'll be good to go ;). Note that in some cases, especially for minor updates, this restart is not strictly necessary, but better be safe than sorry ;).


For the record, here's a brief log of what I touched in these 3 hacks:

** Jailbreak*:

    * Added an uninstaller, just in case

** Fonts*:

    * Make backups of the original files on the first boot
    * If there's a script in linkfonts/bin/emergency.sh, run it and abort the hack on startup
    * If there's a file in linkfonts/bin/prettyversion.txt, use it to override the system's copy. (The original will be part of the backups)
    * Use the DejaVu Sans font instead of the Free Sans font in the default fonts set.
    * Added some safety checks to abort the hack if we're missing a font. It won't do a thing for fonts the Kindle Software doesn't happen to really like, though...
    * *v.3.3.N*:
    * You won't have to uninstall/deactivate the hack in order to install official updates!
    * Added the possibility to let the Kindle automatically soft-reboot when switching fonts. It's now both safer & faster! (Check the detailed instructions belox for the detail)
    * And a bunch of tweaks in the scripts to make them safer. I don't remember everything right now, there's a detailed ChangeLog in each zipfile for those interested ;).
    * *v3.4.N*:
    * Fix a bug with the autoreboot feature, which would, occasionally, after an update, go a bit crazy, and do *two* restarts instead of one. That upsets the Kindle for a while, but it ends up doing a full reboot ;).
    * If you had a custom prettversion.txt, that wasn't update-safe. It's now fixed ;).
    * *v3.5.N*:
    * Use the system logger instead of pointless echo's to stdout. (That way, it'll end up in the output of ;dumpMessages among other things).
    * Avoid forking & parsing ls in some cases, when a shell glob can do the job.
    * *v3.6.N*:
    * Fix a silly case sensitivity bug that prevented official OTA updates from being trapped by the scripts.
    * *v3.7.N*:
    * Don't trap update files from our own hacks
    * Log to syslog during install & uninstall updates
    * The linkfonts folder is now installed by the update binfile! No need to copy it manually anymore.
        And if you're already using custom content, it won't be overwritten, allowing you to keep your choice of fonts and/or screensavers when updating the hacks.
        Both this thread and the Wiki have been updated to reflect this change, simplifying a bit the install & update process :).


** ScreenSavers*:

    * Reworked the script to use the same wonderful idea of bind mounts as the font hack. (And use a single script for everything, handling both the K2 & KDX)
    * Same system of backup/emergency/prettyversion as the font hack.
    * A bit of safety check to avoid using an empty directory for the screensavers
    * *v0.6.N*:
    * Same tweaks & updates as the Fonts hack.
    * You now have the possibility to automatically randomize the order in which your screensavers will be displayed. (Check the detailed instructions below)
    * *v0.7.N*:
    * Same bugfixes as the Fonts hack.
    * *v0.8.N*:
    * Same new featured/bug fixes as the Fonts hack (system logging, less forking).
    * Fix a bug with the screensavers randomizing (and possibly the set up of the hack in itself, if you're really unlucky) when your screensavers have spaces or special characters in their filenames.
    * In the same vein, fix a bug with some safety checks when using the random feature.
    * *v0.9.N*:
    * Same bugfixes as the Fonts hack.
    * Made the double mount safety check faster & more robust.
    * *v0.10.N*:
    * Same bugfixes & changes as the Fonts hack (install/uninstall logging, linkss directory auto install).


What it means for the average user is that, in both cases, only _one_ file (okay, and a bunch of symlinks! ;)) will be added to the system! Everything else is done from the user partition (what you see on your computer when you plug your Kindle). And we won't ever write anything in the system partition, so, it should also speed up the boot time of your hacked Kindle (a tiny bit), especially if you happen to have a crapload of screensavers! ^^.

That may also make it possible to install official amazon updates on top of it just by deleting the trigger file of the hack (linkss/auto & linkfonts/auto).

It also means that you'll be able to switch the fonts yourself pretty easily, without having to mess with the python packer and a hacked kindle update file!

That's it for the introductions, now let's setup these things!

** Jailbreak*

Download the attached kindle-2.5-jailbreak-0.1.N.zip file, and unpack it. In here, you'll find a bunch of .bin files, and a src directory.
Leave the directory alone, and upload the correct *update_*_install.bin* file for your kindle to the root directory of your Kindle.
(As always, k2 means K2 US, k2i means K2 GW, dx means KDX US, dxi means KDX GW, and dxg means KDX Graphite).
For a Kindle 2 International, that would be *update_jailbreak_k2i_install.bin* for example.

Now, eject your Kindle, and go to *[HOME] -> [MENU] > Settings -> [MENU] > Update Your Kindle*. It should be quick, and it should *FAIL* (With a *U006* error, in the bottom left corner of the screen). It's completely normal, intended, and *harmless*.

And that's it, your Kindle is now ready to install custom hacks!

** ScreenSavers*

Download the attached kindle-2.5-ss-0.10.N.zip file, and unpack it. In here, you'll find a bunch of .bin files, and a src directory.

First, upload the correct *update_*_install.bin* file for your kindle to the root directory of your Kindle.
For a Kindle 2 International, that would be *update_ss_0.10.N_k2i_install.bin* for example.

Now, eject your Kindle, and go to *[HOME] -> [MENU] > Settings -> [MENU] > Update Your Kindle*. It should be very quick!

You shouldn't even need to do a full restart after that ;).

To change your custom screensavers, plug your Kindle to your computer via USB, and upload them to the linkss/screensavers folder that has been created by the hack. You'll have to restart your Kindle in order to take your new screensavers into account. To that effect, you can either use the autoreboot feature, or simply do a full restart of your Kindle.

To use the autoreboot feature: Just drop a blank "reboot" file in the linkss folder (by copying and renaming the already existing "autoreboot" blank file, for example) (*or in the linkfonts folder if you also have the fonts hack installed!*), and your Kindle will do a quick reboot 10s after you've unplugged it!

If you want to make the order in which your screensavers will appear more or less random, create a blank "random" file in the linkss/ folder (right alongside the auto file), and then do a full restart of your Kindle!.

** Fonts*

Download the attached kindle-2.5-fonts-3.7.N.zip file, and unpack it. In here, you'll find a bunch of .bin files, and a src directory.

First, upload the correct *update_*_install.bin* file for your kindle to the root directory of your Kindle.
For a Kindle 2 International, that would be *update_fonts_3.7.N_k2i_install.bin* for example.

Now, eject your Kindle, and go to *[HOME] -> [MENU] > Settings -> [MENU] > Update Your Kindle*. It should be very quick!

You shouldn't even need to do a full restart after that ;).

If you want to change the fonts used by the hack, you'll have to upload them in the linkfonts/fonts directory, strictly following the usual naming scheme. (Type_Style.ttf) (for details on where each font is used, please see this post : http://www.mobileread.com/forums/showpost.php?p=977006&postcount=97). The default fonts installed by the hack are the usual non-cjk unicode fonts (Droid Sans, Droid Serif & DejaVu Sans Mono). I have attached four other fonts sets here, and a whole bunch of other fonts sets in the next two replies:

* Droid_Sans.zip > Same as the default, only use Droid Sans instead of Droid Serif.
* NiLuJe.zip > Same as the default, only use Caecillia (the default 2.5.2 Serif fonts) instead of Droid_Serif. You guessed it, that's one of my favourite set :D.
* Helvetica2 & Georgia2 > The fonts used by the hacks of the same name from tedsan's hacks (http://www.kindleboards.com/index.php?topic=7233.0)

You'll have to restart your Kindle in order to properly take your new fonts into account.

*By default, the autoreboot feature is enabled. If you wish to make use of it, don't forget to drop a blank "reboot" file in the linkfonts folder* (right alongside the "autoreboot" file, by copying and renaming it, for example). When that file is present, your Kindle should automatically do a quick reboot 10s after you've unplugged it.

If you don't use the autoreboot feature (for exemple if you removed the autoreboot file in the linkfonts folder), you'll have to do at least a framework restart each time you change the fonts. If you have no means of doing a framework restart (ie. via usbnetwork), you'll have to do a full restart via the Settings menu, or by holding the power switch for ~ 15 seconds). Do note that the autoreboot & Restart methods are both way cleaner (and possibly safer) than the physical hard-reset (which basically just plugs the battery off for a little while, which explains why you need your Kindle to be plugged off from any power source for this to work).

/!\ Be careful, if you miss a font, the hack won't be applied, so you shouldn't have any problem, but if for some reason, the Kindle software doesn't like one of your custom font (it happened to me with some default Windows fonts...), they'll be garbled, or invisible. Also, it may prevent you from actually _seeing_ the Settings page to do the restart. (And actually reading any books, also.) But it's fine, you'll just have to hit the [MENU] key twice, and the menu from the Settings page should be popping up, and visible. If for some reason it's not, I guess a manual restart (sliding and holding the power button for ~ 15 sec) should do the trick. *Note that these issues should be practially non-existent if you correctly use the autoreboot feature ;)* Also, *don't remove the other fonts found in the linkfonts/fonts folder*. We need them, and the hack won't be applied if they're missing.

If you have some trouble with by briefs instructions, the MR wiki has been updated (with some screenshots):
Fonts Hack: http://wiki.mobileread.com/wiki/Kindle_Font_Hack_for_all_2.5.x_Kindles
SS Hack: http://wiki.mobileread.com/wiki/Kindle_Screen_Saver_Hack_for_all_2.5.x_Kindles

NogDog also wrote several blog posts about these hacks (also with screenshots):
Fonts Hack: http://www.kindleminds.net/2010/06/23/font-hack-for-kindle-version-2-5/.
SS Hack: http://www.kindleminds.net/2010/07/07/updated-screensaver-hack/

*NOTE:*
Some people reported losing their collections when installing these hacks... It shouldn't happen, but apparently it's a bug in the vanilla 2.5 firmware, so make sure you do a Whispernet Sync and/or that you make a backup of your *system/collections.json* file before doing anything ;).

Don't try to force a custom update by rebooting your Kindle. You should *always* install custom hacks via the Settings page. If the 'Update Your Kindle' link is greyed out, it's because you uploaded the wrong binfile for your device. Don't try to force an install by rebooting. It'll, at best, fail, and at worst, force you to start your Kindle in recovery mode to delete the offending update.

Also note that, while there is a zipfile for the usbnetwok hack attached here, I won't provide *any* support for it, and I *strongly* discourage anyone not well versed in bare-bone Linux CLI system administration to even try it. It's far too easy to brick your device/mess up the software with that thing.