Compiling for Kobo Glo 2.10.0 on Debian/sid

Kobo LogoMore 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.

3 Responses

  1. yochy4671 says:

    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.

  2. 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.

  3. Greetings! Very helpful advice within this post!

    It is the little changes which will make the largest changes.
    Thanks for sharing!

Leave a Reply

Your email address will not be published. Required fields are marked *