KoLib is a modern c++ library to assist in development of software targeting Kobo products.
Kobo devices are ARM devices (specifically arm-kobo-linux-gnueabihf
, running very old Linux kernels). This requires a custom cross-compile toolchain. To simplify my setup, I have build a docker container that contains everything needed to compile software for a Kobo. Almost all compile commands are run through the scripts located in toolchain/
, which in turn spin up the docker image, mount the project, and execute whatever you specify.
Included in toolcahin/
is a script called kobodeploy
. This script requires KoboSSH to be installed on the targeted device, and the following services exposed from the device:
21/tcp -> ftp
22/tcp -> ssh
Assuming this is true, you can easily deploy any file you want to the Kobo's deploy directory (/mnt/onboard/deploy
) by running:
./toolchain/kobodeploy <kobo_ip> <file>
This repository uses submodules, and must be cloned with:
git clone --recursive https://github.com/Ewpratten/kolib.git
The KoLib toolcahin is built on docker, so docker must be installed on the development system. You'll also want to pull the toolchain image with:
docker pull ewpratten/kolib_toolchain:crosstools
Building KoLib is fairly simple. Just make sure you are in the project root, then run:
mkdir build
./toolchain/cmake
./toolchain/make