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 ?
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 ?