View Single Post
Old 12-21-2014, 05:30 PM   #1
frostschutz
Linux User
frostschutz ought to be getting tired of karma fortunes by now.frostschutz ought to be getting tired of karma fortunes by now.frostschutz ought to be getting tired of karma fortunes by now.frostschutz ought to be getting tired of karma fortunes by now.frostschutz ought to be getting tired of karma fortunes by now.frostschutz ought to be getting tired of karma fortunes by now.frostschutz ought to be getting tired of karma fortunes by now.frostschutz ought to be getting tired of karma fortunes by now.frostschutz ought to be getting tired of karma fortunes by now.frostschutz ought to be getting tired of karma fortunes by now.frostschutz ought to be getting tired of karma fortunes by now.
 
frostschutz's Avatar
 
Posts: 2,282
Karma: 6123806
Join Date: Sep 2010
Location: Heidelberg, Germany
Device: none
AutoPatch beta (~ for 3.12.0)

Well, based on this 3.12 patch discussion, here's a prototype for the Kobo patching itself using patch files you copy to the reader.

This is an early beta, there may be bugs, it may brick your reader...

Currently it only runs at startup (1-2 minutes after the device finished booting into nickel), sees if there's anything to patch, in which case it does that and reboots. While you'll notice the reboot, there is no visual feedback of any kind.

The patches are stored in a hidden dir .autopatch; you can use one big file or split them up into multiple patch files. You can disable individual patches either by editing them to `no` or moving them to a subdir like disabled/. Patches that fail to apply will be moved to failed/ subdir and the output of the patch32lsb program added so you have a clue as to what may have gone wrong.

https://github.com/frostschutz/Kobo

Quote:
AutoPatch - beta 1
------------------

This mod allows the Kobo to patch itself, using patch files stored
in a hidden .autopatch directory. The patches will be applied when
the device boots.

Currently, it patches only three files:

libadobe.so, libnickel.so.1.0.0, librmsdk.so.1.0.0

For each file you may use multiple patch files (patch32lsb format):

libadobe.so*.patch, libnickel.so.1.0.0*.patch, librmsdk.so.1.0.0*.patch

If a patch fails to apply, it will be moved to the failed/ subdir along
with a logfile that shows the output of the patch32lsb program.

If you want to disable a patch, you can either edit it and set it to `no`,
or you can move the patch file itself to the disabled/ subdir.

In order to uninstall this mod, create an empty file 'uninstall'
(no extension) in the hidden .autopatch directory and reboot.
Actually, this isn't quite what I had in mind In the future it could be improved to allow patching any file, and patches independent of firmware versions (in case it's a string replacement, and the string is unique).

Edit: beta3 released

Edit: Project discontinued. To uninstall, create a .autopatch/uninstall file

Last edited by frostschutz; 02-24-2015 at 05:52 PM.
frostschutz is offline   Reply With Quote