05-06-2015, 02:55 AM | #1 |
Connoisseur
Posts: 53
Karma: 11844
Join Date: Jun 2014
Location: All over the place...
Device: KOBO AuraHD and GLO
|
Howto recompile opensource firmware for KOBO reader
Hi,
I bought a Kobo GLO revision C and AURA HD, because they have a removable SD card for the firmware, so I'm safe from bricking, and I can hack on them for personalization. But many threads on the subject here at mobile forums are out of date; eg: I had to write a telnet server to upgrade the firmware on my Aura and Glo which strangely doesn't have a telnet client like older KOBO's did... and I'm finding lots of other changes/discrepancies in the open source archive from KOBO and what's actually on their readers... My goal is to recompile the linux kernel, and all open source portions of the KOBO firmware to prove it can be done, and they are open source compliant. If done properly, I should be able to install recompiled versions of the open source software, and leave the closed source binaries alone; eg: Nickel, and any proprietary kernel drivers, and the e-book reader should still function so long as I recompile the exact open source code that is on my reader now. That's pretty much the point of GPL software, is to make this kind of compatibility possible. But I'm having trouble locating all the sources and compiler settings for several of the packages found in mandatory firmware update 3.12.0 and 3.12.1 ; and I'm wondering where to get that information and why KOBO hasn't released it as part of their archive... What I did so far is to download the source to a USB memory key, by: cd /media/memoryc1 mkdir .local mkdir .local/bin git clone git://github.com/kobolabs/Kobo-Reader.git KoboLabs # Create directory KoboLabs I then ran the install program ./KoboLabs/toolchain/gcc-codesourcery-2010q1-202.bin , using my 32bit linux distribution; and chose to install the code sourcery compiler tools to .local on the memory key. With that done, I wrote a couple of scripts to set up the bash environment variables properly, so that the code sourcery compiler tools work and can output/install KOBO binaries into a KoboLabs/deviceroot directory I created. And at long last, I was able to change to the KoboLabs/build directory, and run ./build-all and it went through and made all the packages in the scripts directory, installing them to the deviceroot directory as planned. A Good day's worth of work... But -- to my surprise, the scripts didn't build the latest libraries and I am not seeing all the gpl'd source code that is actually used on the Kobo reader in the git archive. Some is apparently hidden or missing... For example; when I type into the KOBO reader strings /lib/libc.6.so | grep GNU It tells me that libc.6.so is "EGLIBC 2.15-0unbuntu10" But I don't see an EGLIBC source code in the git KoboLabs/packages listing, and am not sure where it is. Also, I found the build script is programmed ONLY for qt-4.6.2 and not qt-4.8.0, although the source code for 4.8.0 is there, the build script is NOT available. So I don't know what compiler switches were used to make qt-4.8.0... I also noticed that the version of busybox is different, as the kobo says 1.22 but the git archieve has only 1.14.2 and 1.17.1, (And telnet is broken in the newer version, no surprise... making maintenance more difficult) and I've only just begun looking... so there are probably more discrepancies... Clearly, then, the git archive does not contain all the information needed to clone all the open source portions of the Kobo Glo, and AuraHD's ; it's out of date. How can I clone an archive with the source code specific to firmware 3.12.0 and 3.12.1 ? ------------------------------------- Edit: Additional information and more problems; I've discovered that binaries created with the code sourcery tool supplied by KOBO and talked about in many mobile read threads do run on the reader, but only if they are either linked to existing dynamic libraries, or else statically linked. Surprisingly, creation of new dynamic libraries does not work with KOBO's code sourcery toolchain. As a test, I compiled ncurses, and libreadline, and installed a test binary that is dynamically linked to these libraries -- but when run the test binary exits immediately, with no error message, but with error status set to 1. If I try to check the libraries eg: with "/lib/ld-2.11.1.so --list libreadline.so" , the dynamic linker either exits with no message at all, or says "libreadline.so: error while loading shared libraries: libreadline.so: cannot open shared object file: No such file or directory" However, if I statically link the program to libreadline.a and libncurses.a , everything works perfectly. The error message is silly, because the library is obviously right there... so it's not telling us what file is actually missing.... does anyone have any idea what is going wrong? Doing a check on a native library, eg: /lib/ld-2.11.1.so on /lib/libz.so produces : /lib/ld-2.11.1.so --list /lib/libz.so libc.so.6 => /lib/libc.so.6 (0x2aac7000) /lib/ld-2.11.1.so (0x54aaa000) So, I know the KOBO's dynamic linker is working fine. The only difference I can see is that the native libraries were compiled with gcc 4.8, the "linaro" ? tool? where as I'm using the code sourcery tool from the same archive. Does anyone know what the difference is in the compilers? (arm-none-linux-gnueabi-gcc-4.4.1 and arm-linux-gnueabihf-gcc-4.8.1) ? EDIT2: The linaro/gnueabihf compiler does make dynamic libraries just fine. So it's just a problem with the CodeSourcery toolchain.... hmmm... Last edited by fastrobot; 05-07-2015 at 08:13 PM. |
05-11-2015, 09:48 AM | #2 |
Enthusiast
Posts: 25
Karma: 10
Join Date: Apr 2015
Device: Kobo glo, LifeBook plus
|
Why could you try build a adroid room cook for Glo? I think it more easy
|
Advert | |
|
05-14-2015, 08:15 PM | #3 | |
Connoisseur
Posts: 53
Karma: 11844
Join Date: Jun 2014
Location: All over the place...
Device: KOBO AuraHD and GLO
|
Quote:
So, I really want linux to be running fully on the system and be able to maintain it when Kobo doesn't.... Android is OK, but not what I use. Also, there are bugs in Linux, that if they were fixed -- would improve performance and extend battery life. Not to mention that Kobo does things like requiring a person to be logged in, in order to read DRM books; which means that if I put down my Kobo reader for a moment, while I go get something -- or if I loaned it to one of my kids to read one of my books -- then, if it got stolen, my credit card would be totally open to theft since the user is already logged in. There is no way to "log out" and still be able to read books. You can turn the wifi-off, but if you log out -- the books are unreadable ; so if the reader is being used, all someone has to do is turn the wifi back on -- and walah -- total access to credit card. If I can figure out exactly how Nickel talks to the linux kernel, I can make it so that if my KOBO got stolen, at least the theif would be forced to log out and back in again before they could access the Kobo store -- which would protect my books, and my credit card from additional thefts. |
|
05-14-2015, 08:22 PM | #4 |
Ex-Helpdesk Junkie
Posts: 19,422
Karma: 85397180
Join Date: Nov 2012
Location: The Beaten Path, USA, Roundworld, This Side of Infinity
Device: Kindle Touch fw5.3.7 (Wifi only)
|
|
05-14-2015, 10:27 PM | #5 | |
Grand Sorcerer
Posts: 24,907
Karma: 47303748
Join Date: Jul 2011
Location: Sydney, Australia
Device: Kobo:Touch,Glo, AuraH2O, GloHD,AuraONE, ClaraHD, Libra H2O; tolinoepos
|
Quote:
But, you can remove the credit card from the account on the site. That will stop them buying more books using your card. For sideloaded books with DRM, they will be able to read them, but I'm not sure if they will be able to copy them from the device and read them elsewhere. The DRM removal tools use keys from the PC but I don't know if they are on the device in a way they can access them. |
|
Advert | |
|
05-15-2015, 02:20 AM | #6 | ||
Connoisseur
Posts: 53
Karma: 11844
Join Date: Jun 2014
Location: All over the place...
Device: KOBO AuraHD and GLO
|
Quote:
So -- I have to do the hokey pokey every time I want to buy a book. Changing the password would likely stop my reader from accessing the store -- but I would have to know the reader is stolen, and do it quickly; and if my son borrows my reader for a day, I might not know it got stolen.... (!). in the interim -- they can still buy books... Quote:
Note: I don't have a windows PC -- I have linux, only / no KOBO client on a desktop machine at all. I was able to trick the Kobo into registering, and then I can log in -- but only after an update to the newer firmware. The KOBO itself is the only way I can buy books from the Kobo store, so I don't want to ruin it. |
||
05-15-2015, 03:56 AM | #7 | |||
Grand Sorcerer
Posts: 24,907
Karma: 47303748
Join Date: Jul 2011
Location: Sydney, Australia
Device: Kobo:Touch,Glo, AuraH2O, GloHD,AuraONE, ClaraHD, Libra H2O; tolinoepos
|
Quote:
Quote:
Quote:
|
|||
05-15-2015, 10:37 AM | #8 |
Ex-Helpdesk Junkie
Posts: 19,422
Karma: 85397180
Join Date: Nov 2012
Location: The Beaten Path, USA, Roundworld, This Side of Infinity
Device: Kindle Touch fw5.3.7 (Wifi only)
|
Adobe Digital Editions 1.7 works well on WINE, and is available through winetricks. You can setup the tools to DeDRM books through ADE on WINE, that is what I do. (Well, usually I buy books from Amazon.)
|
05-18-2015, 07:39 PM | #9 | |||
Connoisseur
Posts: 53
Karma: 11844
Join Date: Jun 2014
Location: All over the place...
Device: KOBO AuraHD and GLO
|
Quote:
Besides, I've tried useing the kobo "help" dialog online to ask how to solve the problem, and noted that it doesn't even work with firefox web browsers. It will never allow you to "submit" the finalized report, but instead wants you to call long distance out of country to a help line that is forever on hold. eg: Customer service *sucks*. And if KOBO is such a great company, why aren't they in full compliance with the GNU-GPL on their software's source code in the first place ? Or are you not really reading what I've been asking about in this thread ? The credit card is a side issue, but no -- there is provably no security for the credit card: In order to read a book on the KOBO AuraHD or on the KOBO GLO, you have to be logged in. If you are logged in, then the password has already been used. In order to let my kids read books that I buy -- therefore -- I must have *used* the password on the KOBO already or they can't even read the books I've downloaded. So -- you're wrong: They can access the KOBO store unless I log out. And if I log out, they can't read the books I've downloaded. It's a stupid design. It's true no one can "Get" the password by just having the KOBO in their hands -- but that's irrelevant. They have access to the KOBO store if the reader is logged in, and the kobo store doesn't require you to input your password a second time in order to buy a book. You just click "buy book now" on the KOBO -- and the credit card is charged. Quote:
Once the device HAS been logged in, future upgrades seem to work fine on the KOBO using WIFI. If's only the first upgrade, out of the box, that I have found needs manual assistance on the Kobo Touch, Glo, and AuraHD. Quote:
Your ONLY choice as a linux OS user is to not use a PC and "sync" the KOBO directly, and that only works after logging in the KOBO device. I have used linux for 15 years, I see no reason to start buying windows or mac OS now just because KOBO is lazy and benefits from Linux, but won't give back to the community they take from. eg: KOBO does not support linux operating systems when it comes to their desktop software. Therefore, a linux user can purchase all the books they want by a web browswer -- but without windows software, or a mac, or a wifi-linked KOBO, they can not download it. In addition, Wine does not run the newer KOBO desktop software,and KOBO does not support the old desktop software. Therefore, KOBO generally screws Linux OS users with an impossible set of demands. Last edited by fastrobot; 05-18-2015 at 07:58 PM. |
|||
05-18-2015, 08:03 PM | #10 |
Ex-Helpdesk Junkie
Posts: 19,422
Karma: 85397180
Join Date: Nov 2012
Location: The Beaten Path, USA, Roundworld, This Side of Infinity
Device: Kindle Touch fw5.3.7 (Wifi only)
|
Kobo is in violation of the GPL. Wow. So is everyone else, for example Amazon.
Kobo doesn't offer linux users a desktop client. Neither does anyone else. As a linux user, I have learned to deal with it. I strongly advise you to use the Kobo registration hack, and sideload all your books after being decontaminated via Apprentice Alf's tools. Again, Adobe Digital Editions is perfectly stable under WINE on linux, and is available as an easy-to-use winetricks verb. Instructions for running the DeDRM through WINE are in the respective tools readmes. Kobo allows you to download your books from their website using Adobe Digital Editions. |
05-19-2015, 01:40 AM | #11 | |||
Connoisseur
Posts: 53
Karma: 11844
Join Date: Jun 2014
Location: All over the place...
Device: KOBO AuraHD and GLO
|
Quote:
They decided to go to Android because if they released their source for regular linux, other people would clone and steal it (according to one of their reps here on mobile forums); so by going to generic Andriod they hoped to not have to do development on the OS. I just don't use andriod.... Quote:
Quote:
I'd rather not reward anyone for stealing by making it simpler for them ; it's really best so that the system is more protected/work to crack than it's worth to a common theif, and if KOBO had followd the GPL fully -- I'd have little problem doing it the right way in the first place. |
|||
05-19-2015, 02:19 AM | #12 | |||||||||
Grand Sorcerer
Posts: 24,907
Karma: 47303748
Join Date: Jul 2011
Location: Sydney, Australia
Device: Kobo:Touch,Glo, AuraH2O, GloHD,AuraONE, ClaraHD, Libra H2O; tolinoepos
|
Quote:
Quote:
Quote:
Quote:
Unfortunately, it doesn't work this way. I tested on one of my devices with a different account and changing the password does not invalidate the access from the device. When I found this, the first thing I did was to report it as a bug to Kobo. Hopefully they will see that it is a problem and fix it. Quote:
Quote:
Quote:
Quote:
Quote:
But, you don't need the Kobo desktop application. As I said above, you can download the DRM free books directly. For DRM protected you need ADE. Unfortunately, Adobe doesn't support Linux (NOT Kobo's fault). But, the older versions of ADE will run in Wine, or at least I have seen reports it does. I am not sure if you need ADE 1.7 or 2.0, but either will work to download the books. And of course, there is a very simple solution: Don't buy books from Kobo. If you can't work out how to get them onto the device, buy from somewhere else that does let you download the books and sideload them. |
|||||||||
05-19-2015, 03:20 PM | #13 |
Grand Sorcerer
Posts: 12,141
Karma: 73448616
Join Date: Nov 2007
Location: Toronto
Device: Nexus 7, Clara, Touch, Tolino EPOS
|
Just wondering if the OP has bothered getting in touch with George Talusan @ Kobo regarding the GPL'ed source issues? (He has an account here; george.talusan)
|
05-23-2015, 08:19 PM | #14 |
Connoisseur
Posts: 53
Karma: 11844
Join Date: Jun 2014
Location: All over the place...
Device: KOBO AuraHD and GLO
|
|
05-23-2015, 09:48 PM | #15 | ||||||||
Connoisseur
Posts: 53
Karma: 11844
Join Date: Jun 2014
Location: All over the place...
Device: KOBO AuraHD and GLO
|
Quote:
Quote:
Are you running a Linux version of Firefox, or Windows ? Quote:
WoooHOOO! Quote:
SO the particular wireless dongles I have are useless with a KOBO... But I still think it's just bugs in their software someplace... Let me give you a more complete example: My KoboGlo has been running 3.12.0 (I think, don't remember for sure -- but it is definitely older than 3.12.1.) and I haven't synced it in roughly two months but have never had problems with it before except the very first time I tried to log in. Now I realize I spoke too soon... So, I tried to sync it the last couple of days because I had bought more books on my AuraHD, and wanted my Glo to have the same desktop; but strangely the sync failed and complained about an unknown error three quarters through the sync (the bar going across the top of the KOBO). I thought it was just network traffic, so I tried again several times over two days. I hit rescan, reconnected, everything reported as being fine -- but when I hit, 'sync', it failed again; so I logged out, logged back in which took a while; and It still failed.. But -- yesterday I noticed that it would happily let me download books that were purchased over two months ago and the GLO knew about because it was synced back then... So, I tried pushing sync on my AuraHD, and it had no problems at all. So, I thought -- Maybe it's firmware support being dropped for the older version and auto-update is failing ? So, I downloaded kobo-update-3.15.0.zip on my desktop, unpacked it in the Glo's .kobo directory, hit the reboot and watched the screen say 'updating', I didn't watch to make absolutely sure it completed but, when I came back and touched the screen home -- and the normal screen with all my books came back as usual. I logged out/in, and tried sync -- and everything is fine. It now says "synced" across the top of the screen on the first try, just like my AuraHD did. Quote:
I'm totally happy using a KOBO account if I could just get it to work reliably. I originally owned a SONY daily edition, but when SONY sold the store to KOBO, I had no choice but to use KOBO for the book downloads. I only agreed to use KOBO *because* they supposedly allowed you to use the reader stand alone like Sony used to. Quote:
Quote:
When I get the KOBO recompiled, I can probably even do it myself with the normal KOBO AuraHD software even without their help. ( I already know how KOBO's /dev/input/eventXX work, so it's trivial to make a driver that emulated the touch screen. ) Quote:
|
||||||||
Thread Tools | Search this Thread |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Do you update the firmware of your Kobo e-reader? | Athropos | Kobo Reader | 27 | 04-29-2014 10:42 PM |
Iriver Story firmware to go opensource | greenapple | iRiver Story | 7 | 05-22-2013 04:05 AM |
Touch Howto prevent a firmware upgrade? | connaisseur | Kobo Reader | 6 | 04-06-2012 01:36 AM |
PRS-T1 howto: Get root back after firmware update 1.0.04.12210 | Thor | Sony Reader Dev Corner | 2 | 02-01-2012 05:00 PM |
Firmware als OpenSource Projekt? | thoschi | PocketBook | 13 | 02-04-2011 01:38 AM |