Last Updated: 2021-04-09
These are my notes for getting Plato on the Kobo Clara HD from scratch as well as some notes for getting KSM to work, but I now boot directly into Plato instead of through KSM.
Previously, I didn't really like using KOReader because it was kind of slow and was written in Lua. At the time of using Plato, it seemed nice but it didn't cover thumbnails for books, which while it is a minor detail, I find books easier to be recognized with a cover thumbnail in addition to their title. This was added in release 0.9.10 but as an optional feature which I didn't somehow see until recently when I retried it. HOWEVER again, I didn't like using k/fmon as I had to still use Nickel to get back into KOReader/Plato/whatever alternate reader when I wanted to go away from using Nickel.
pseudo-ignore-tag-start That was when I found out about KSM and how there was a working version for the Clara HD. KSM is like an alternate bootloader for the Kobo readers and it apparently doesn't work very well with newer models like the Clara HD and up, but someone got it to work with those devices. KSM 09 is apparently not maintained anymore and I'm not sure if KSM 10 is being developed or not since I'm pretty sure it's closed source.
Development and support for KSM stopped some time ago. Therefore, do not use it! “That sign can't stop me because I can't read!” - Me imitating D.W. from the PBS Kids cartoon Arthur on Mar. 26, 2021 when I saw that it can be used on my Kobo
The latest firmware version that KSM sort of supports is v4.25.15875 but it can
probably work with a newer version like v4.26+ that would likely only need a
couple changes to
/etc/init.d/rcS, if any changes were needed at all. I'll
be using v4.26 for the rest of this article/guide.
Recently, after seeing how my Kobo boots into KSM and Nickel through the rcS
file, I realized that I could've instead just booted directly into Plato, and
plato.sh (the script that runs Plato) has a standalone option that supports
just that! The KSM notes are still going to be here in case someone still wants
to use KSM.
Here is a picture of the Device Information section in Nickel's settings.
This part probably applies to any other reader other than Plato like KOReader but I haven't personally tested them. All you have to do is get the latest release at Plato's repo and unzip it's contents into a folder called plato in /path/to/kobo/mount/.adds, the latter folder of which should have already been created by KSM if you are using that. If you are using KSM, there should be a new option below “start nickel” called “start plato” when you have rebooted the device. Read below if you aren't using KSM.
Since I don't want to load Nickel only to load into another reader like the recommended options in Plato's forum thread (kfmon, fmon, and NickelMenu) suggest, I noticed that I could have booted into Plato directly. The only requirements for doing this having access to the rootfs, so either through a telnet/ssh session, or having the sd card's root/first partition mounted to your computer, or just ftp/rsyncing the files to your Kobo.
First I suggest making a copy of rcS if you haven't already in case an update overwrites it. My copy is named custominit.sh. Next you'll want the Kobo's /etc/inittab to boot with custominit.sh instead of rcS:
/etc/inittab: #::sysinit:/etc/init.d/rcS ::sysinit:/etc/custominit.sh
The rest of the lines don't need to change. Then you should open custominit.sh in your favourite editor to add the lines at the bottom but before hindenburg is executed:
cd /mnt/onboard/.adds/plato # or whereever Plato is PLATO_STANDALONE=1 ./plato.sh
You would probably also want to remove the lines where Nickel-specific programs/scripts are running like nickel, hindenburg, pickel, sickel, etc.
Now on subsequent boots, Plato should automatically have been loaded. Boot times may also be slightly faster! :D
First you would want to download the Clara HD version of KSM 09 and the fix for v4.25.
Then, you would want to unzip the KoboRoot.tgz with separate filenames so they
don't replace each other and we would untar those into the same directory.
After that, we would cd into the directory and tar it's contents into a new
KoboRoot.tgz and place it in
An example of what I did after downloading and unzipping the files are below:
mkdir koboroot tar -xvf KoboRoot-main.tgz -C koboroot tar -xvf KoboRoot-v4.25-darkmodefix.tgz -C koboroot cd koboroot tar -czvf ../KoboRoot.tgz . cd .. rm -r koboroot
After your Kobo untars it and you wait a while, you should be presented with KSM's main screen :D
First make sure USB support is enabled in KSM and then mount your Kobo to your
computer. Once mounted, go to
/path/to/kobo/mount/.adds/kbmenu_user/confoptions and edit
ksm_ini_options.txt in your favourite editor. You should see many options
that are listed but the one that we're interested in is ksmAutoselectoption
which may have
start_koreader already and what we want to
do is add
ksmAutoselectoption=start_plato. After a quick restart to reload
the options file, you should be able to see the new option in KSM's settings
under [general] and add item if it wasn't already added. Now Plato should
auto-boot on subsequent powerons.
0: Plato Git Repo 1: Main KSM09 Thread