summaryrefslogtreecommitdiff
path: root/content/blog/kobo_clara-plato.md
blob: b7de1108cb3035bcfa9b6c2930e0e9a5e3051051 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
+++
title = "Kobo Clara HD Notes for Plato (and KSM)"
date = 2021-03-27
+++

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.

<ignore>
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](https://www.mobileread.com/forums/showthread.php?s=c34e41df391c61810a6b06f991c29168&t=293804) 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.
</ignore>

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.

## Installing Plato (or probably any other reader like KOReader)
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](https://github.com/baskerville/plato/releases/latest) 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.

## Loading Plato on Boot
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

## Installing KSM 09 (not doing anymore)
First you would want to [download the Clara HD version of KSM 09](https://www.mobileread.com/forums/attachment.php?s=902078ac2e6fe8ff7a0947b56cbcade6&attachmentid=166556&d=1538176531) and
[the fix for v4.25](https://www.mobileread.com/forums/attachment.php?s=902078ac2e6fe8ff7a0947b56cbcade6&attachmentid=184756&d=1610745905). 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
/path/to/kobo/mount/.kobo/.

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 ksm09's main screen running on the kobo clara
hd

## Auto-Boot into Plato instead of Nickel via KSM (not doing anymore)
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_nickel and 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.