08-13-2012, 03:29 PM | #1 |
BLAM!
Posts: 13,501
Karma: 26047188
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
|
KindleTool: Create/Unpack Kindle update files
This has been living in a corner of the Wiki/a couple of posts lost in the middle of a sea of threads for a while, so I thought it was time to finally give it a proper home .
PSA: All downloads have been moved to the Snapshots thread! For those unfamiliar with it, it's the CLI tool we use to package our hacks in a somewhat user-friendly Kindle update file (.bin), and unpack and poke into official updates . It's the successor of the trusty kindle_update_tool.py Python packager we used in the K1/2/3 days, and a fork of yifanlu's original KindleTool project (historically forked to fix the Linux support, and ultimately permit a native win32 port). So, as always, thanks to all those people . It's living right here on GitHub. I won't be rehashing the readme, but I'm available to answer any queries you might have . If you don't want to/can't build it yourself, you'll always find a set of binaries here for every system supported: * Linux x86 (32bit): -linux-i686: Recommended binary. * Linux x86_64 (64bit): -linux-x86_64: Recommended binary. * Windows: -mingw: Recommended binary (native Win32, 32bit). -cygwin: Unavailable since v1.6.5. Should you *really* need to use KindleTool in that environment, build it yourself. * OS X: -osx: Built on 10.13, might run on something older (provided it's at least 10.6). Standalone. (Mac Intel only, 64bit). Last edited by NiLuJe; 06-04-2019 at 01:40 PM. Reason: Downloads moved to the snapshots thread |
08-13-2012, 03:29 PM | #2 |
BLAM!
Posts: 13,501
Karma: 26047188
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
|
For 'live' examples of how one might use this to package something, here's the source to a minimal package that won't install anything, just run a script during the install process.
It's *very* Touch specific, don't use it on older devices. For older devices, take a look at any of my hacks, the simplest being the 'dummy' one again . On a completely unrelated note: Please don't feed non-POSIXy paths to the native win32 port, it won't like it . That means no Windows drive letters, no weird // links, no weird extra \. and to be perfectly safe, only use /, not \ (although it *should* handle the backslash => slash conversion correctly). It will also horribly die if you pass a directory with a trailing path separator to the commandline... EDIT: MKK is another example of a full package, this one supporting *every* devices... (And it's actually fully functional, it's a revamp of PoP's & ixtab's merged developer keystore & Kindlet Jailbreak files & installers). I aimed for a cleaner/simpler/shorter buildscript, while still supporting every devices. Last edited by NiLuJe; 04-18-2016 at 08:24 PM. Reason: Refreshed package. |
Advert | |
|
08-13-2012, 03:38 PM | #3 |
Official Lurker
Posts: 1,050
Karma: 7096675
Join Date: Apr 2012
Device: Kindle 3.4
|
Thanks!
|
08-14-2012, 06:34 PM | #4 |
THE NOOB
Posts: 701
Karma: 1545649
Join Date: Jan 2012
Location: Italy
Device: Kindle Touch 5.3.2
|
Everything works!!
Thanks a lot!!! |
09-04-2012, 07:33 PM | #5 |
BLAM!
Posts: 13,501
Karma: 26047188
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
|
Shameless bump for the 1.5.0 release/binaries .
(Yes, I switched to a more common versionning scheme, rather than my SVN-like workaround... It's a bit less abstract this way, now that I tag regular releases). (As for the ChangeLog, it's bundled as always, but the key points of this release are a bunch of fixed minor memory leaks (in the handling of OpenSSL calls), and a legacy switch to make the archiving of directories similar to Yifan's KindleTool, and not like tar/the python tool like it does by default [cf. the -C switch description in the readme/manpage for more details] . And a smaller mingw binary.). Last edited by NiLuJe; 09-04-2012 at 07:43 PM. |
Advert | |
|
09-09-2012, 10:40 PM | #6 |
( ͡° ͜ʖ ͡°){ʇlnɐɟ ƃǝs}Týr
Posts: 6,586
Karma: 6299991
Join Date: Jun 2012
Location: uti gratia usura (Yao ying da ying; Mo ying da yieng)
Device: PW-WIFI|K5-3G+WIFI| K4|K3-3G|DXG|K2| Rooted Nook Touch
|
Shameless bump for tomorrow to check these out.
and say thanks for all your great work and help. |
09-12-2012, 08:07 PM | #7 |
BLAM!
Posts: 13,501
Karma: 26047188
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
|
Call for testers:
If you happen to have a 'new' K4, the current git tree *should* support those. I've just repacked my stuff to handle both K4, shout at me if it actually works and/or breaks on 'old' K4. Depending on if it works, and when new infos about the PaperWhite(s) will drop in my lap, I might do a new release soon. EDIT: Yup, K4B support's good . Last edited by NiLuJe; 09-16-2012 at 10:35 PM. |
09-22-2012, 08:39 PM | #8 |
Zealot
Posts: 124
Karma: 178472
Join Date: Jul 2012
Device: Kindle 4
|
i just built this for os x 32bit, because my mac is old and creaky - sharing it just in case it's of any use to anyone else. edit: it's version 1.5.0-GIT
Last edited by hippy dave; 09-22-2012 at 08:44 PM. |
09-22-2012, 09:32 PM | #9 |
Carpe diem, c'est la vie.
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
|
09-22-2012, 10:12 PM | #10 |
Zealot
Posts: 124
Karma: 178472
Join Date: Jul 2012
Device: Kindle 4
|
good idea, but maybe i should see if niluje wants to add it to his post, otherwise i should replace the zip attachment with one that has the readme/credits etc, rather than just the binary.
|
09-22-2012, 10:35 PM | #11 |
BLAM!
Posts: 13,501
Karma: 26047188
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
|
@hippy dave: I'm not that familiar with all the different generations of Macs, but, err, why do you need an i386 binary? I'd understand a ppc32/ppc64 one, but was there ever an intel mac released without x86_64 support?
A bit of poking seems to reveal an i386 binary built against the 10.6 SDK with a freakishly ancient Clang build, so I'm genuinely curious as to why you need such a peculiar combo (well, it seems peculiar to me, but like I said, not really familiar with Apple stuff ). Regardless, if you want me to add it to the first post (which I'll be glad to do, no questions there ), it'll need to bundle libarchive statically linked, and to be linked against system libs, not stuff from MacPorts/Homebrew/Fink. (I don't have a mac on hand, so no otool, so I can't really say anything about the PMS stuff, but I can tell that libarchive is not statically linked ). Look at the kindletool-static-build.sh script in tools/ to see how I build the stuff in the first post . Last edited by NiLuJe; 09-22-2012 at 10:43 PM. |
09-22-2012, 11:02 PM | #12 |
Zealot
Posts: 124
Karma: 178472
Join Date: Jul 2012
Device: Kindle 4
|
the first model of macbook, which was available for 6 months in 2006, is core duo so doesn't support 64bit. very annoying by this point, and i'm too skint to upgrade, oh well
oh good point about the static libraries, hadn't crossed my mind so the binary i posted is actually useless to anyone else. i followed the build instructions to use macports to get the dependencies, god knows how it decided what versions. macports choked on the actual build so i compiled it using x-code. i also don't know why it came out as i386 rather than i686. maybe i'll quit while i'm behind, at least for tonight thanks for the tool, anyway! |
09-23-2012, 12:12 AM | #13 |
BLAM!
Posts: 13,501
Karma: 26047188
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
|
@hippy dave: Ah, wasn't aware of that one, but that explains it, thanks .
I can't tell you much, besides the fact that it does work on a 10.7/10.8 MBA with Xcode 4+CLI tools with MacPorts . But the static build-script actually doesn't depend on MacPorts, that's the whole point, so it should hopefully only require Xcode & its CLI tools, although I haven't tested this on anything older than 10.7 . (As for i386 vs i686, that's just how the Mach-O binaries refer to the arch, I have no idea what actual compiler settings it defaults to ). (That said, if you can run the MacPort build in debug mode [-d] and forward me the build log, I can try to look at it & fix it . I suspect you'll encounter the same failure when building it manually/via the static script anyway, so, let's try to fix it ^^). Last edited by NiLuJe; 09-23-2012 at 12:22 AM. |
09-24-2012, 08:11 PM | #14 |
BLAM!
Posts: 13,501
Karma: 26047188
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
|
Released 1.5.1, with K4B support .
|
09-24-2012, 10:27 PM | #15 |
Carpe diem, c'est la vie.
Posts: 6,433
Karma: 10773668
Join Date: Nov 2011
Location: Multiverse 6627A
Device: K1 to PW3
|
|
Tags |
kindletool, update |
Thread Tools | Search this Thread |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
BookCreator: Does anybody create IMP files using BC? | =X= | Workshop | 0 | 01-07-2011 02:20 PM |
Create readable .mobi files out of pdfs | jordan13589 | Amazon Kindle | 3 | 12-22-2010 12:35 AM |
Create catalogue without creating new files and folders? | zaphod234 | Calibre | 4 | 07-21-2010 07:44 PM |
Firmware Update Kindle dx not sorting recent files after 2.5 update,help | nayito2 | Amazon Kindle | 8 | 06-05-2010 01:49 PM |
unpack requires a string argument of length 2 | Sannepan | Calibre | 2 | 02-23-2010 03:05 PM |