Installing KOReader on a Kobo

I was recently interested in getting an e-reader, and there are two main options: a Kindle, or a Kobo. The Kindle only supports their proprietary file format and is difficult to jailbreak. The Kobo on the other hand supports the open EPUB standard and is extremely hackable. The choice was thus obvious, and I popped down to the store to get a Clara BW.

I had originally hoped to replace the stock firmware with the open source Quill/InkBox OS, though unfortunately that project has halted since new Kobos are using secure boot :( Perhaps one day the PineNote or even OpenBook can fulfill that role.

Instead, I settled on installing KOReader, which is an insanely powerful and customizable ebook reader application. As said before, Kobos are quite easy to modify: simple plug your Kobo into your computer, hit the Connect button on the screen, and now you can mount the Kobo file system as a regular external drive. The standard way to install KOReader is to download an all-in-one zip and copy it onto the drive, but that's no fun. Instead I decided to “pop the hood” and do it manually, which was very easy after following this guide.

First, we need to prevent the default Nickel firmware from indexing the hidden directories where we are going to install our new software. Edit the /.kobo/Kobo/Kobo eReader.conf file and add the following section to the bottom:

[FeatureSettings]
ExcludeSyncFolders=(\\.(?!kobo|adobe).+|([^.][^/]*/)+\\..+)

Next, we need to install a launcher to run our custom software. There are two main ones currently: KFMon and NickelMenu. NickelMenu has the advantage of persisting between firmware upgrades, so that's the route I chose. Installation is quite easy:

  1. Download the latest KoboRoot.tgz from the releases page.
  2. Copy the KoboRoot.tgz into the /.kobo directory on the mounted drive. (Do not extract the file, just copy it.)
  3. Unmount your Kobo and unplug it. It should reboot, and now you will have NickelMenu in the bottom right corner.

Next it's time to install KOReader!

  1. Download the latest koreader-kobo zip file from the releases page.
  2. Unzip the KOReader release, and copy the extracted koreader directory to /.adds/koreader on your Kobo.
  3. Create a file called /.adds/nm/koreader with the following contents:
    menu_item :main :KOReader :cmd_spawn :quiet:exec /mnt/onboard/.adds/koreader/koreader.sh
    
  4. Unmount your Kobo, and now you can use NickelMenu to launch KOReader.

As a bonus, we can use the same technique to install Plato, which is a simple ebook reader designed specifically for Kobo.

  1. Download the latest Plato zip file from the releases page.
  2. Unzip the Plato release, and copy the extracted contents to /.adds/plato on your Kobo.
  3. Create a file called /.adds/nm/plato with the following contents:
    menu_item :main :Plato :cmd_spawn :quiet:exec /mnt/onboard/.adds/plato/plato.sh
    
  4. Unmount your Kobo, and now you can use NickelMenu to launch Plato.

And that's it! Now go get some nice ebooks and start reading!