View Single Post
Old 11-15-2014, 05:37 PM   #1
NiLuJe
BLAM!
NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.
 
NiLuJe's Avatar
 
Posts: 13,477
Karma: 26012494
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
Cool MobileRead Package Installer

Given the restrictions imposed on OTA packages by FW 5.5.x, and to scratch an itch than had been bothering me for a while, here comes the MobileRead Package Installer (aka., MRPI)!


What Does It Do?:

This is a KUAL extension, that will plug into the Helper menu a single Install MR Packages button.
Notice the plural, we'll come back to that later .
This provides an alternate to the good old Update Your Kindle UI to install the various packages offered on MR in the form of update packages (.bin).
It supports the full range of devices able to run KUAL (... but can be run outside of KUAL if need be ).

Why reinvent the wheel?
Besides overcoming the restrictions imposed by FW >= 5.5.x on OTA packages, it provides a few interesting (for us) advantages:
• You can automatically chain multiple update packages (and it handles a basic dependency chain, prioritizing stuff if needed [jb, usbnet, python, rp])
• On FW 5.x, it doesn't force a full reboot on you (something that the vast majority of our packages don't need) [it also doesn't kill USBNet].
In short, it's noticeably more efficient .


Latest Updates (06/04/2019):

New devices support (1.7.N)

PSA: All downloads have been moved to the Snapshots thread!

INSTALL:

Spoiler:


This is a KUAL extension, so it's as simple as unpacking the MRPI package you'll find in the Snapshots thread to the root directory of your Kindle over USB . You should end up with an extensions folder (with an MRInstaller subfolder) and an mrpackages folder at the USB root of your device.
As mentioned earlier, it'll plug into the Helper menu.




USAGE:

Spoiler:


It's fairly simple: upload all the update packages you need (in one go ) to the mrpackages directory, which you'll find at the root of your Kindle over USB if you installed this correctly .
Eject & unplug your Kindle, then click the Install MR Packages button in the KUAL Helper menu.

Once the installer has done its job, and the UI has been brought up again, while your device should be usable straight away, some hacks may need a full restart to 'take' .



FAQs:
Spoiler:

Q. What happens if I upload an update package not made for my device?

A. Just like the OTA updater, a package not targeting your device will be skipped & destroyed. In the same vein, any package not made by our tools will be destroyed (as will non-OTA updates). This means that if you mistakenly put an official update in there, you don't have to worry about it, it'll go poof .

Q. I don't see any progress information for some packages!

A. That's the downside. Packages will need to provide their own means of user-feedback if they wish to handle progress reporting. Developers can can open up any of my latest snapshots packages and look at the libotautils/libotautils5 helper scripts for some inspiration [spoiler: there's no API, you basically do what you want ^^].



ChangeLog:
Spoiler:
  • MR Installer:
    • 1.0.N:
      • Initial release.
    • 1.1.N:
      • A few fixes.
    • 1.2.N:
      • Minor fixes.
    • 1.3.N:
      • Minor packaging fix (i.e., we now really ship with an empty mrpackages folder ).
    • 1.4.N:
      • Fix a severe incompatibility with AcXE.
      • A few minor bugfixes, mostly related to error handling.
    • 1.5.N:
      • Unbreak on legacy devices... Ooopsie.
      • Don't keep unneeded binaries around (thanks for the push, hfpop ).
      • More logging to aid debugging
      • More integrity checking when extracting packages
    • 1.6.N:
      • Proper handling of the KT2.
      • Honor the version constraints of a package.
      • Some theoretical future-proofing on the device identification front.
      • Minor tweaks to the logging to make the logs more useful.
    • 1.7.N:
      • Unbreak OTAv1 handling.
      • Handle latest PW3, KOA, KT3 & KOA2 known variants.
  • Doc: $Id: MI_MR_THREAD 16002 2019-06-04 16:56:27Z NiLuJe $

Last edited by NiLuJe; 06-04-2019 at 12:53 PM. Reason: v1.7.N
NiLuJe is offline   Reply With Quote