La liseuse Kobo Libra H2O¶
Ayant fait l’acquisition de cette liseuse, il fallait passer par quelques étapes avant de pouvoir réellement m’en servir. Voici une petite liste des choses à faire.
Pour la suite de l’article, la Kobo est vue par le système (GNU/Linux) en tant que /dev/sdc et ces variables d’environnement sont définies suivant l’emplacement du dossier dans lequel elle est montée :
export KOBO_ROOT="/media/${USERNAME}/KOBOeReader"
export KOBO_DIR="${KOBO_ROOT}/.kobo"
export KOBO_VERSION='4.37.21582'
export KOBO_PATCH_VERSION='82'
export KOBO_NM_VERSION='0.5.4'
🚀 Premier Démarrage¶
Quelques étapes que j’ai préféré faire, mais dont aucune n’est indispensable. Brancher le cordon USB à l’ordinateur. Lorsque la liseuse démarre, choisir « Vous n’avez pas de réseau Wi-Fi ? ». La liseuse est détectée et montée, la démonter. Faire la sauvegarde : Remonter la liseuse. Faire une copie du dossier .kobo: Outrepasser la demande d’enregistrement pour jouir de la liseuse sans avoir à créer de compte en ligne : Supprimer le contenu inclus par défaut : Virer le logo du revendeur :💿 Sauvegarde¶
dd bs=4M conv=sync,noerror status=progress \
if='/dev/sdc' \
of="kobo-$(date '+%Y%m%d')-full.dd"
cp -rv "${KOBO_DIR}" "${KOBO_DIR}-$(date '+%Y%m%d')"
🔓 Compte Kobo/Rakuten¶
sqlite3 "${KOBO_DIR}/KoboReader.sqlite" \
'INSERT INTO user(UserID, UserKey) VALUES("1", "")'
♻️ Purge Initiale¶
sqlite3 "${KOBO_DIR}/KoboReader.sqlite" \
'DELETE FROM content WHERE ___UserID != "adobe_user" ; VACUUM'
™️ Logo¶
printf '[General]\naffiliate=Kobo\n' > "${KOBO_DIR}/affiliate.conf"
⚙️ Mettre à Jour le Firmware¶
Voici la procédure pour mettre à jour le firmware de la Kobo.
Télécharger et installer le firmware :
wget "https://ereaderfiles.kobo.com/firmwares/kobo7/Jul2023/kobo-update-${KOBO_VERSION}.zip" \ && unzip "kobo-update-${KOBO_VERSION}.zip" -d "${KOBO_DIR}" \ && sync
Éjecter la liseuse et patienter.
🎛️ Hacker le Firmware¶
Il y a possibilité de personnaliser quelques options et comportements de la liseuse.
Suivre l’étape précédente en entier et conserver les fichiers pour la suite.
Télécharger le patcheur et copier le firmware :
wget "https://github.com/pgaskin/kobopatch-patches/releases/download/v${KOBO_PATCH_VERSION}/kobopatch_${KOBO_VERSION}.zip" \ && unzip "kobopatch_${KOBO_VERSION}.zip" \ && cp -v "kobo-update-${KOBO_VERSION}.zip" 'src'
Éditer les fichiers src/*.yaml pour activer les patches désirés. Ou éditez le fichier kobopatch.yaml. Voici mes options :
version: 4.37.21582 in: src/kobo-update-4.37.21582.zip out: out/KoboRoot.tgz log: out/log.txt patchFormat: kobopatch patches: src/nickel.yaml: usr/local/Kobo/nickel src/libadobe.so.yaml: usr/local/Kobo/libadobe.so src/libnickel.so.1.0.0.yaml: usr/local/Kobo/libnickel.so.1.0.0 src/librmsdk.so.1.0.0.yaml: usr/local/Kobo/librmsdk.so.1.0.0 overrides: src/nickel.yaml: Dictionary pop-up - increase available text area: yes Increase library cover size: yes Custom collection/author header title font: yes Reduce new header/footer height: yes Series list increase cover thumbnails: yes New home screen subtitle custom font: yes Remove footer (row3) and increase cover size on new home screen: yes Change TOC level indentation: yes src/libadobe.so.yaml: Remove PDF map widget shown during panning: yes src/libnickel.so.1.0.0.yaml: Dictionary text font-family/font-size/line-height: yes # custom values inside Custom navigation menu page number text: yes Force user line spacing in ePubs (part 1 of 2): yes Force user font-family in ePubs (Part 1 of 2): yes Shorten dictionary entry not found message: yes Replace adobe page numbers toggle with invert screen: yes Allow USB storage even when device locked: yes Remove beta features not supported text: yes Disable all tutorial dialogs: yes Remove recommendations (row1col2) from home screen: yes Never show Kobo Plus, wishlist, and points SmartLinks: yes Remove title from reading header/footer: yes Don't uppercase header/footer text and change page number text: yes FeatureSettings - BookSpecificStats: yes src/librmsdk.so.1.0.0.yaml: Force user line spacing in ePubs (Part 2 of 2): yes Force user font-family in ePubs (Part 2 of 2): yes
Modifications apportées à src/libnickel.so.1.0.0.yaml :
@@ -467,7 +467,7 @@ Un-force link decoration in KePubs: # The following patch(es) were made by jackie_w Dictionary text font-family/font-size/line-height: - - Enabled: no + - Enabled: yes - Description: | This patch allows you to to customise the appearance of the text in the pop-up and full-screen dictionary widgets. @@ -531,5 +531,6 @@ Dictionary text font-family/font-size/li #- ReplaceString: {Offset: 54, Find: "serif ", Replace: "'KBJ-TsukuMin Pr6N RB'", MustMatchLength: yes} #- ReplaceString: {Offset: 54, Find: "serif ", Replace: "'KBJ-UDKakugo Pr6N M'", MustMatchLength: yes} #- ReplaceString: {Offset: 54, Find: "serif ", Replace: "'AR UDJingxihei'", MustMatchLength: yes} + - ReplaceString: {Offset: 54, Find: "serif ", Replace: "FreeSerif", MustMatchLength: yes} # Un-comment and edit next line to change font-size
Afin d’appliquer ces modification à votre fichier, copier le code précédent dans le fichier libnickel.so.1.0.0.diff, puis :
patch --binary 'src/libnickel.so.1.0.0.yaml' 'libnickel.so.1.0.0.diff'
Patcher et installer le firmware modifié :
./kobopatch.sh \ && cp -v 'out/KoboRoot.tgz' "${KOBO_DIR}" \ && sync
Éjecter la liseuse. C’est terminé.
📘 Dictionnaire¶
Installons le dictionnaire basé sur le Wiktionnaire:
mkdir -pv "${KOBO_DIR}/custom-dict/" \
&& wget 'https://github.com/BoboTiG/ebook-reader-dict/releases/download/fr/dicthtml-fr-fr.zip' \
-O "${KOBO_DIR}/custom-dict/" \
&& sync
Astuce
D’autres langues sont disponibles dans le dépôt officiel : BoboTiG/ebook-reader-dict.
🔤 Police de caractères¶
Un police de caractères supportant un grand nombre de langues est préférable pour l’affichage des étymologies. FreeSerif en est une, du projet FreeFont :
wget 'http://ftp.gnu.org/gnu/freefont/freefont-ttf-20120503.zip' \
&& unzip 'freefont-ttf-20120503.zip' \
&& cd 'freefont-20120503' \
&& mv -v 'FreeSerif.ttf' 'FreeSerif-Regular.ttf' \
&& mv -v 'FreeSerifBold.ttf' 'FreeSerif-Bold.ttf' \
&& mv -v 'FreeSerifBoldItalic.ttf' 'FreeSerif-BoldItalic.ttf' \
&& mv -v 'FreeSerifItalic.ttf' 'FreeSerif-Italic.ttf' \
&& mkdir -pv "${KOBO_ROOT}/fonts" \
&& cp -v FreeSerif*.ttf "${KOBO_ROOT}/fonts" \
&& sync
Aperçu avec le mot « fez »
Aperçu avec le mot « Zeus »
🎣 Sources¶
Un grand merci à BoboTraX pour le coup de main.
📜 Historique¶
- 2024-10-17
Déplacement de l’article depuis le blog.
Adaptation du nom du domaine pour le téléchargement du firmware (kbdownload1-a.akamaihd.net → ereaderfiles.kobo.com).
- 2023-07-06
Mise à jour du firmware (
4.34.20097
→4.37.21582
) et des patches (v79
→v82
).- 2022-11-10
Ajout de la section NickelMenu (via la variable d’environnement
KOBO_NM_VERSION
, en version0.5.4
).- 2022-10-19
Mise à jour du firmware (
4.33.19759
→4.34.20097
) et des patches (v78
→v79
).- 2022-07-22
Mise à jour du firmware (
4.31.19086
→4.33.19759
) et des patches (v74
→v78
).Ajout de la command
sync
à la fin de chaque étape de copie vers la carte SD.- 2022-04-10
Mise à jour du firmware (
4.30.18838
→4.31.19086
) et des patches (v73
→v74
).Correction du lien de téléchargement du dictionnaire.
Utilisation des variables d’environnement
${KOBO_VERSION}
et${KOBO_PATCH_VERSION}
pour faciliter les mises à jour.- 2021-11-12
Mise à jour du firmware (
4.26.16704
→4.30.18838
) et des patches (v70
→v73
).- 2021-03-08
Relecture et revue du code.
Utilisation des variables d’environnement
${KOBO_ROOT}
et${KOBO_DIR}
pour faciliter les manipulations et améliorer la lisibilité.- 2021-03-07
Mise à jour du firmware (
4.25.15875
→4.26.16704
) et des patches (v69
→v70
).Ajout de la commande pour supprimer le contenu inclus par défaut.
- 2020-11-15
Mise à jour du firmware (
4.20.14622
→4.25.15875
) et des patches (v59
→v69
).Adaptation de l’emplacement du dictionnaire (.kobo/dict/ → .kobo/custom-dict/).
Ajout de la section police de caractères.