Installing KOReader on an Old Kindle: Jailbreak, Setup and RSS Plugins
| An old reader, a fresh page, and an evening well spent. |
Table of Contents 📑
- Changelog
- 1. Understand the three parts
- 2. Prerequisites and compatibility
- 3. Prepare the stock Kindle for WatchThis
- 4. Copy and trigger the jailbreak
- 5. Apply the WatchThis-specific hotfix
- 6. Install MRPI and KUAL
- 7. Choose the correct KOReader package
- 8. Transfer books and prepare for wireless use
- 9. Bonus: Install an RSS Reader plugin
- Sources
An older Kindle can still be a useful reading device. With KOReader, it can open EPUBs directly, display PDFs and offer an alternative interface for your own document library. The application supports Kindle and several other e-reader platforms. KOReader project
This guide starts with an unmodified Kindle in its normal factory setup. First, identify the model and firmware and select a compatible jailbreak. Then install the reader and its launcher. The detailed installation example covers a Kindle Paperwhite 2 on firmware 5.12.2.2; a bonus chapter explains how third-party plugins work, using RSS Reader as an example.
Changelog
| Date | Change |
|---|---|
| 2026-10-25 | Initial version: Stock-Kindle setup, a tested PW2/WatchThis installation route and an RSS plugin example. |
1. Understand the three parts
A Kindle installation normally involves three separate pieces:
| Component | Purpose |
|---|---|
| Jailbreak | Allows third-party code to run on the Kindle |
| Launcher | Starts applications, for example through KUAL |
| KOReader | The reading application itself |
The Kindle operating system remains underneath. A jailbreak opens the device to additional software; KOReader is not a replacement firmware image that you flash over the complete system. KindleModding introduction
The jailbreak method depends on both the hardware and its firmware. A procedure for a Paperwhite 2 is not automatically suitable for a Paperwhite 3, a Kindle Keyboard or a newer Paperwhite.
2. Prerequisites and compatibility
You need:
- A charged Kindle and a working USB data cable.
- A computer for downloading and extracting archives; the commands here use Linux.
- A backup of anything you want to retain.
- The exact Kindle model and installed firmware version.
| ⚠️ READ BEFORE CHANGING THE DEVICE |
Some jailbreak procedures require a factory reset and erase local data. Do not update the Amazon firmware just to prepare for a jailbreak: that can change which methods are available. Keep Wi-Fi off while identifying the correct route. Read the current instructions for that route before starting. |
On the Kindle, look for Settings → Device Info. Older interfaces may place Device Info inside the menu shown while Settings is open. Use the serial-number prefix to distinguish similar models; the MobileRead identification table documents the relevant prefixes.
Then consult KindleModding’s jailbreak selector. If it selects a different method, follow that method’s own jailbreak and post-installation steps before continuing to KOReader.
The concrete example used below
| Component | Tested version |
|---|---|
| Hardware | Kindle Paperwhite 2, released in 2013; sixth-generation Kindle hardware |
| Serial prefix | B0D4, a PW2 Wi-Fi variant |
| Amazon firmware | 5.12.2.2 |
| Jailbreak | WatchThis r03 |
| Package installer | MRPI 1.7.N-r19303 |
| Launcher | KUAL coplate c6ac782-20250419 |
| Reader | KOReader 2026.07.1, kindlepw2 package |
Sections 3–6 describe that PW2/firmware combination. WatchThis explicitly supports it and requires its matching payload. For another Kindle, the model-specific jailbreak instructions take precedence. WatchThis compatibility and setup
3. Prepare the stock Kindle for WatchThis
For the PW2 example, complete the factory setup using English → United Kingdom and skip wireless setup and Amazon registration. If the device already has personal data or a completed setup, back up your files and follow WatchThis’s factory-reset prerequisite before beginning. Do not reset an already jailbroken reader as a routine installation step.
The demo mode in this chapter is a temporary part of the exploit procedure. You deliberately enable it on an otherwise normal Kindle; the reader does not need to be a shop demonstration unit.
On the home screen, enter this command into the Kindle search bar, then submit it:
;enter_demoThere may be no immediate visible response. Hold the power button until the power menu appears, choose Restart and let the reader boot.
During the demo setup:
- Skip wireless configuration.
- Enter placeholder store information, such as
Test. - Skip searching for demo content.
- Select the Standard demo type.
- At the first Demo Mode: Add Content screen, choose Done without copying any jailbreak files.
Now use the demo bypass gesture to reach the home screen:
- Briefly tap the bottom-right display area with two fingers simultaneously.
- Lift both.
- Immediately swipe one finger from right to left across the lower third of the display.
The two-finger tap and one-finger swipe are separate movements, performed in quick succession. Repeat carefully if needed. The WatchThis walkthrough includes a gesture demonstration.
Finally, search for ;demo, choose Sideload Content, and connect USB. Do not press Done yet. This second visit to the content screen is the payload-copying stage.
Access the Kindle storage on Linux
Use your file manager to mount the Kindle volume. These commands can help identify it:
lsusb -d 1949:
lsblk -o NAME,MODEL,SERIAL,SIZE,FSTYPE,LABEL,MOUNTPOINTSIf the Kindle is detected but does not export usable storage, disconnect USB, submit ;uzb in the Kindle search bar and reconnect. That command restores USB export in the documented WatchThis workflow.
For the following examples, set KINDLE to the existing mountpoint of the actual reader. A common Linux desktop path is:
KINDLE="/run/media/$USER/Kindle"
findmnt --mountpoint "$KINDLE"
cat "$KINDLE/system/version.txt"Check the device behind the mount and the firmware output. Do not create that directory as a substitute for mounting the Kindle, and do not format the reader.
4. Copy and trigger the jailbreak
Download watchthis-jailbreak-r03.zip from the link in the author’s release post. Extract it on the computer.
For this specific example, locate:
watchthis-release/PW2/PW2-5.12.2.2/Copy its PW2-5.12.2.2.zip and matching demo.json into a directory named .demo at the Kindle’s root. Do not extract the inner device-specific ZIP. Add an empty goodreads directory:
Kindle USB root/
└── .demo/
├── PW2-5.12.2.2.zip
├── demo.json
└── goodreads/ ← emptyIf your terminal is inside the extracted watchthis-release directory:
mkdir -p "$KINDLE/.demo/goodreads"
cp PW2/PW2-5.12.2.2/PW2-5.12.2.2.zip "$KINDLE/.demo/"
cp PW2/PW2-5.12.2.2/demo.json "$KINDLE/.demo/"Wait for copying to finish, safely unmount the volume and disconnect USB. On the Kindle:
- Press Done on the content screen.
- Leave the demo menu.
- Select the Store/shopping-cart icon on the home screen.
The Store icon is the PW2-specific trigger. The device should restart and display jailbreak messages. Let it finish, including the boot progress bar. Returning to demo mode at this stage does not complete the process: the custom hotfix comes next. PW2 trigger and post-jailbreak sequence
If an Application Error interrupts the menu
The upstream instructions describe a recovery for this stage:
- Leave USB disconnected and restart the Kindle with the power button.
- Reach the home screen with the bypass gesture if needed.
- Open
;demoagain. - Choose Sideload Content → Done, without reconnecting USB or copying the payload again.
- Leave the menu and use the Store icon.
A long power-button hold can force a restart if the normal menu is unavailable. Do not replace a recoverable application error with repeated factory resets. WatchThis troubleshooting
5. Apply the WatchThis-specific hotfix
Use the file Update_hotfix_watchthis_custom.bin included in the WatchThis archive. This is a separate step from running the exploit, and it removes demo mode as part of completing this jailbreak.
- Reach the home screen, using the gesture if necessary.
- Submit
;uzb, reconnect USB and mount the volume. - Copy the hotfix into the root of the Kindle storage, beside
documents. - Safely eject and disconnect USB.
- Search for
;dststo open Settings. - Open the settings menu and choose Update Your Kindle.
- Confirm and leave the reader undisturbed through the update and reboot.
Kindle USB root/
├── documents/
├── system/
└── Update_hotfix_watchthis_custom.binUse this jailbreak’s custom hotfix before following later application-installation steps. Do not substitute a generic hotfix simply because its name looks similar. WatchThis hotfix instructions
6. Install MRPI and KUAL
This legacy route uses MRPI, the MobileRead Package Installer, to install KUAL Booklet. Other jailbreaks may provide a different launcher or package manager already; use their corresponding post-jailbreak instructions.
From NiLuJe’s snapshot thread, obtain:
- MR Package Installer: the tested archive was
kual-mrinstaller-1.7.N-r19303.tar.xz. - KUAL coplate: the tested archive was
KUAL-c6ac782-20250419.tar.xz.
Extract both on the computer. Copy MRPI’s extensions and mrpackages directories to the Kindle root. Place the two KUAL install packages in mrpackages; leave the uninstall package on the computer:
Kindle USB root/
├── extensions/
│ └── MRInstaller/
└── mrpackages/
├── Update_KUALBooklet_c6ac782_install.bin
└── Update_KUALBooklet_hotfix_c6ac782_install.binRetain the complete MRPI directory structure, including its architecture-specific resources. After ejecting and unplugging, enter the following into the Kindle search bar:
;log mrpiLet installation finish. KUAL should then appear in the Kindle library. The MRPI project documentation describes package placement and installer operation.
7. Choose the correct KOReader package
Download KOReader from its official GitHub releases. The package family matters:
| Kindle family / firmware | KOReader package family |
|---|---|
| Firmware 5.16.3 or newer | kindlehf |
| PW2 and later touchscreen models on older supported firmware | kindlepw2 |
| Kindle 4, Kindle Touch and original Paperwhite | kindle |
| Older keyboard models, including Kindle 2, DX and Kindle 3 | kindle-legacy |
Check the current package-selection notes for exceptions and the release’s actual filenames. For PW2 on 5.12.2.2, the verified asset was:
koreader-kindlepw2-v2026.07.1.zipFor that exact 2026.07.1 release asset, the SHA-256 checksum was:
ea1f575c54492a2c679d128b7f3210fd7d6a87e5f5a1ff1f7a7fe2080ff68f86Verify it with:
sha256sum koreader-kindlepw2-v2026.07.1.zipA different release needs its own publisher-supplied checksum.
Copy the application and launch it
Connect and mount the Kindle, then extract the KOReader archive into its root. Merge extensions with the existing directory. The result should include:
Kindle USB root/
├── documents/
├── extensions/
│ ├── MRInstaller/
│ └── koreader/
└── koreader/Do not put the application inside documents or create an extra nested koreader/koreader directory. Wait for all files to transfer, eject and unplug, then open KUAL → KOReader → Start KOReader.
A successful first launch can display the Quickstart Guide. Test page turning and tap the upper display edge to open the menu. Open an EPUB or PDF from the file browser to check your own reading workflow. DRM-protected books and KFX are unsupported. KOReader’s Kindle installation guide
8. Transfer books and prepare for wireless use
For ordinary USB transfers:
- Exit KOReader to the stock Kindle interface.
- Connect the computer and copy books into
documents, or a folder you choose. - Safely eject the volume and disconnect.
- Launch KOReader again.
Switching a Kindle into USB mass-storage mode while KOReader is running is unsupported and can crash the application or the underlying system. A wall charger can supply power while KOReader stays open. Official USB notes
Before turning Wi-Fi back on
Keep Airplane Mode enabled until the jailbreak, hotfix and the appropriate update protection are complete. KOReader’s application updates and Amazon’s firmware updates are different mechanisms.
For the legacy KUAL route, consult the instructions for a compatible OTA blocker, such as hius07’s Rename OTA Binaries extension. Check the current compatibility discussion and follow its installation and verification instructions before enabling Wi-Fi. Blocking Amazon updates can also disable Update Your Kindle; restore that functionality through the blocker before deliberately installing future update packages. Hotfix/update-blocker interaction
Do not treat the old update.bin.tmp.partial directory trick as universal update protection. If you only read USB-loaded books, leaving Wi-Fi off is a straightforward option. The legacy post-jailbreak overview explains the offline precaution.
9. Bonus: Install an RSS Reader plugin
KOReader plugins extend the application itself. They belong inside koreader/plugins/, rather than KUAL’s extensions directory. KOReader’s plugin notes also distinguish third-party additions from the core application.
As an example, omer-faruq’s RSS Reader provides direct feed subscriptions and integrations with RSS services such as FreshRSS and Miniflux. The example below uses a local account, so no aggregator login is needed. Here, “local” describes where subscriptions are configured; fetching new articles still needs a network connection.
9.1. Copy the plugin directory
Exit KOReader before connecting USB. On the computer:
- Download the plugin with Code → Download ZIP from its repository, then extract it.
- Rename the extracted
rssreader.koplugin-maindirectory torssreader.koplugin. - Copy that whole directory into
koreader/plugins/on the mounted Kindle.
The plugin’s entry files must sit directly inside its directory:
Kindle USB root/
└── koreader/
└── plugins/
└── rssreader.koplugin/
├── _meta.lua
├── main.lua
├── rssreader_configuration.sample.lua
├── rssreader_local_defaults.sample.lua
└── ... other plugin files and subdirectoriesAvoid an extra rssreader.koplugin/rssreader.koplugin-main/ layer. Keep all the supporting modules. The repository’s entry point loads several sibling files.
9.2. Configure one local feed account
Inside the copied plugin directory, copy these two templates to their active filenames:
cp rssreader_configuration.sample.lua rssreader_configuration.lua
cp rssreader_local_defaults.sample.lua rssreader_local_defaults.luaRun those commands from inside rssreader.koplugin, only when creating a new configuration; do not overwrite an existing account setup.
In rssreader_configuration.lua, replace the accounts list with this local account. Keep the surrounding return { ... } table and the other template sections; leave optional extraction services disabled unless you configure them deliberately:
accounts = {
{ name = "My feeds", type = "local", active = true },
},The fields follow the project’s account-configuration template. You can add server-backed accounts later using its appropriate template.
In rssreader_local_defaults.lua, define a feed for the same account name:
return {
accounts = {
["My feeds"] = {
feeds = {
{
title = "Example feed",
url = "https://example.org/feed.xml",
},
},
},
},
}Replace the example URL with a real RSS feed URL. The ["My feeds"] key must match the account’s name exactly. This structure comes from the plugin’s local-feed template; feeds can also be organised into groups.
9.3. Restart, open the plugin and fetch a feed
Eject, disconnect and start KOReader again so it loads the new plugin. Open RSS Reader in the main menu’s Search section, then select My feeds and your configured feed. The plugin README documents that menu location and its reading actions.
After completing update protection, connect Wi-Fi to retrieve articles. Save or download the articles you want before returning to Airplane Mode; a configured feed URL by itself is not an offline copy.
If the plugin does not appear, check the directory nesting and complete file set first. If accounts are missing, check the active filenames, Lua syntax and matching account names. Consult the plugin’s current documentation and KOReader logs for compatibility errors rather than assuming that copying succeeded means it loaded.
9.4. Updating and removing plugins
Back up your active configuration before replacing plugin files with a newer revision. Exit KOReader before every USB change. To remove this plugin, move rssreader.koplugin out of koreader/plugins and restart KOReader; retain a copy of the configuration if you want to restore the setup later.
Third-party plugins run code on the reader. Install them from a source you trust, and keep private credentials out of shared configuration examples. The RSS section documents the upstream configuration format; compatibility and live feed retrieval still need checking on the particular KOReader/plugin versions you choose.
Sources
- KindleModding — jailbreak introduction and model/firmware selector.
- MobileRead — Kindle serial numbers.
- katadelos — WatchThis release and instructions.
- KindleModding — legacy WatchThis walkthrough.
- NiLuJe — tool snapshots and MRPI documentation.
- KOReader — Kindle installation and USB guidance, project home and 2026.07.1 release.
- KindleModding — legacy post-jailbreak overview and hotfix notes.
- Rename OTA Binaries — author’s release post.
- RSS Reader plugin — README and source, including the account template and local-feed template.
The PW2 installation route was verified with KOReader 2026.07.1. The optional RSS chapter was checked against the upstream documentation and templates; it is not a claim of a completed RSS runtime test on that reader.





