I just noticed that Kobolab was recently updated with the full sources or the Kobo Touch linux kernel:
https://github.com/kobolabs/Kobo-Rea....6.35.3.tar.gz
The web interface refuses to provide the file (too large) so the only way I found to get the kernel sources was to download the whole git repository with
git clone
https://github.com/kobolabs/Kobo-Reader.git
A very interesting part is the e-ink screen driver in
./cls/drivers/video/mxc/*
and
./cls/include/linux/mxc*.h
Documentation can be found in the iMX50 developper toolkit on the Freescale web site. (You may have to register first for free)
http://www.freescale.com/webapp/sps/...?code=IMX50_SW
The chapter 14 "Electrophoretic Display Controller (EPDC) Frame Buffer Driver" in the file mx50_linux.pdf describes the Linux system calls (ioctl) needed to program the e-ink screen (how to refresh,....).
Apart from the refresh problem, the e-ink screen is just a regular linux framebuffer. Search google for the numerous tutorials about linux framebuffer programming.
A few months ago, I successfully wrote a small C program to draw boxes on the screen. Unfortunately, I mistakenly remove the whole directory containing the sources and I am too busy right now to redo it :-(
To compile, I used the ARMEL cross compiler packages on Ubuntu (see gcc-arm-linux-gnueabi, libc6-dev-armel-cross, ...). Use the file include/linux/mxcfb.h from the kobolab linux kernel to program the ioctl() for the e-ink display.
Compiling a simple "hello world" program (with output on the console) was surprisingly simple. it is probably best to compile with the -static option in order to avoid mismatches in the dynamic libraries. Yo may also have to specify an option to compile for a compatible ARM processor (see /proc/cpuinfo)
The touchscreen and the 'numerous buttons' of the KT can be read via some /dev/input devices so everything needed to write new KT applications is now available.