Compiling for Kobo Glo 2.10.0 on Debian/sid
More for my own rememberance here is how I did set up a development environment for compiling programs for my Kobo (running firmware version 2.10.0 atm). Why would one do that? One of the things I wanted to fix is getting a working openssl binary, which currently is broken on the Kobo. Futhermore, I want to have the ability to compile my own daemons or programs. So, here are the steps (not many) I had to do.
Get a compiler
Although there are compilers for arm distributed via the www.emdebian.org Website, these are slightly incompatible with the current Debian/sid binaries and I didn’t manage to install the necessary libraries. At the end I decided to get precompiled gcc-4.8 binaries from Linaro via https://launchpad.net/linaro-toolchain-binaries/trunk/2013.04/+download/gcc-linaro-arm-linux-gnueabihf-4.8-2013.04-20130417_linux.tar.bz2.
After expanding the package into /opt/linaro-arm (but any path is good) I could use the binaries in /opt/linaro-arm/bin, like arm-linux-gnueabihf-gcc etc.
Install necessary libraries
My system was already set up for multiple architectures, so the only thing I needed was installation of some necessary libraries:
apt-get install libstdc++6:i386 zlib1g:i386
If you system is not already converted to multi-architecture support, follow this HOWTO.
Compiling openssl
I got the sources of the current Debian/sid openssl package with
apt-get source openssl
, after that I simply ran the normal configure script:
./Configure --prefix=/usr debian-armhf
.
The important part is the debian-armhf which ensures that the right architecture is used. The created Makefile still referenced the normal gcc, so I edited the Makefile and replaced the definition of CC variable to read as arm-linux-gnueabihf-gcc. Similarly for the ranlib. After that a simple call to make produce a binary that I transfered to the Kobo via sftp (see this post for getting the ssh/sftp server), and could run it.
More to come.
Please tell me about what openssl is broken in kobo .
I know that it is used to decrypt the encrypted contents. If there is something other that is related to me, I consider that to be included in the kobohack-j.
Thank you.
Please see the issue 1 on the kobohack-j google page, simply openssl –version is broken, and any openssl invocation, too. That is the reason (probably there are others) why the kobo-grive-sync does not work. Grive is a linux client for Google Drive, and the kobo-grive syncronizes all contents with google drive account.
Greetings! Very helpful advice within this post!
It is the little changes which will make the largest changes.
Thanks for sharing!