Note: This only works for OS versions before 3.11 as 3.11 changes the upgrade mechanism that the device uses.
A hackish, quick and dirty update server implementation. For a more complete solution, check out codexctl.
Clone this Repo
Obtain an official release that you would like to upgrade (er, downgrade) to. A list of firmware releases can be found here.
Put your firmware release in ./updates
.
Figure out the hostname of the computer you are connecting your remarkable to. If you are connecting to USB it will likely be 10.11.99.2
. If your ReMarkable device is connected to your local wifi, it may also work to use a local IP address such as 192.168.1.25
. The docs will use 10.11.99.2
as the hostname. If you have a different hostname, adjust accordingly.
Start the mock upgrade server. (This assumes you are running python3)
python serve.py 10.11.99.2
SSH into your ReMarkable device and edit /usr/share/remarkable/update.conf
:
ssh root@10.11.99.1
nano /usr/share/remarkable/update.conf
Add the following line to the update.conf
file:
SERVER=http://10.11.99.2:8000
Run an automatic update.
Go to Menu -> Settings -> General: click on the Software Version.
Tap Check for Updates. It should download and install the update.
Once it is complete, it should prompt you to tap to reboot your device.
In the ReMarkable Terminal, make sure update-engine
is running:
systemctl start update-engine
Trigger the update:
update_engine_client -check_for_update
Observe the update progess.
journalctl -u update-engine -f
Once it is complete, reboot the device.
reboot
Copy the switch.sh
script to the device.
scp switch.sh root@10.11.99.1:~
SSH into reMarkable and run the script.
ssh root@10.11.99.1
./switch.sh
Reboot the device for changes to take effect.
reboot
It seems that the update server address (SERVER) is defined in the /home/root/.config/xochitl.conf
file Issue