1764421727
The path of knowledge is collection of explorations which reveal something greater than it’s individual elements, but only to those that wish wish to see it.
What follows is a collection of small, niche and rather unimportant solutions to some challenges we’ve faced. Each one may very well be irrelevant by the time it is stumbled upon again, but the hope is that it serves as a remainder of the path travelled and the patterns of thought behind it.
1764520956
To reinstall KOReader on a Kindle Paperwhite 2 (PW2) with firmware version 5.12.2 that was previously jail broken and then reset (Settings > Device Options > Reset):
- Install MR Installer (MRI) by copying
extensionsandmrpackagesto the Kindle root folder - Install KUAL (Coplate)
- Copy
Update_KUALBooklet..._install.bintomrpackages - Eject the kindle
- Execute the installer by typing
:log mrpion the default searchbar - Reboot twice, then repeat for
Update_KUALBooklet_hotfix..._install.bin
- Copy
- Install JailBreak…FW-5.X.hotfix
- Reboot twice
- Copy
Update_jailbreak_hotfix...install.bintomrpackages - Eject the kindle
- Execute the installer by typing
:log mrpion the default searchbar
- Install KOReader
- Copy
koreaderto the kindle root - Copy
extension/koreaderto theextensionsfolder under kindle root - Eject the kindle and launch KOReader (KUAL > KOReader > Start KOReader)
- Copy
Follow the MobileRead threads very carefully (it is easy to misread instructions or do them in the wrong order). All required files can be found on the snapshots page.
If the jail break is not installed properly, KOReader will not launch.
- Ensure the correct variant of KUAL is installed.
- The crash log is stored in the
koreaderfolder in at the kindle root ascrash.log. - If the screen flashes but remains on the home page, the hotfix hasn’t been installed correctly and will log a
could not open framebuffererror. Carefully follow the above instructions - reset to start from scratch if necessary.
Kindle root refers to the folder seen when the kindle is plugged in (USB Drive Mode) - it should contain the folders documents, extensions, mrpackages and so on.
1764696164
To generate a key using gpg:
gpg --gen-key
This will prompt for a name and email address, as well as a passphrase to encrypt the private key.
To print the public key:
gpg --armor --export name
Where name is the name provided when generating the key. The --armor flag is used to convert the binary format in which data is stored to base64 encoded text.
To encrypt text, pipe the text directly or provide the filename:
gpg --encrypt --armor -r recepient-name filename
Where recepient-name is the user ID or name of the key pair and filename is the name of the file to encrypt.
To decrypt text, provide the filename or pipe the text directly:
echo "-----BEGIN PGP MESSAGE----- ..." | gpg --decrypt
This automatically selects the correct key and prompts for the passphrase to decrypt the private key.
Encryption can also be done without public/private keys:
echo "Hello" | gpg --symmetric --armor --passphrase "secret-passphrase"
1765043334
To see which process is using a particular port on Linux:
sudo ss -tulnp | grep :portnumber
sudo lsof -i portnumber
Use kill(graceful) or kill -9(forceful) to stop the process.