{"id":20909637,"url":"https://github.com/ddvk/remarkable-update","last_synced_at":"2025-05-07T10:12:11.074Z","repository":{"id":41350087,"uuid":"345338740","full_name":"ddvk/remarkable-update","owner":"ddvk","description":"force a full factory reset / re-update / upgrade","archived":false,"fork":false,"pushed_at":"2024-05-01T07:34:12.000Z","size":274,"stargazers_count":172,"open_issues_count":16,"forks_count":18,"subscribers_count":8,"default_branch":"main","last_synced_at":"2024-12-14T20:11:50.679Z","etag":null,"topics":["remarkable-tablet"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ddvk.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-07T12:18:21.000Z","updated_at":"2024-11-01T14:29:20.000Z","dependencies_parsed_at":"2024-05-01T08:37:53.645Z","dependency_job_id":"199123ec-92e8-4c08-8703-07293e0d2a24","html_url":"https://github.com/ddvk/remarkable-update","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddvk%2Fremarkable-update","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddvk%2Fremarkable-update/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddvk%2Fremarkable-update/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddvk%2Fremarkable-update/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ddvk","download_url":"https://codeload.github.com/ddvk/remarkable-update/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231439065,"owners_count":18376836,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["remarkable-tablet"],"created_at":"2024-11-18T14:12:10.773Z","updated_at":"2024-12-27T05:06:11.445Z","avatar_url":"https://github.com/ddvk.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"_**Note:** This only works for OS versions before 3.11 as 3.11 changes the upgrade mechanism that the device uses._\n\n# Simple Factory Reset (updater)\n\nA hackish, quick and dirty update server implementation. For a more complete solution, check out [codexctl](https://github.com/Jayy001/codexctl).\n\n## Usage\n\n1. Clone this Repo\n\n1. Obtain an official release that you would like to upgrade (er, downgrade) to. A [list of firmware releases can be found here](https://archive.org/download/rm110/RM110/).\n\n1. Put your firmware release in `./updates`.\n\n1. 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.\n\n1. Start the mock upgrade server. (This assumes you are running python3)\n\n   ```shell\n   python serve.py 10.11.99.2\n   ```\n\n1. SSH into your ReMarkable device and edit `/usr/share/remarkable/update.conf`:\n\n   ```shell\n   ssh root@10.11.99.1\n   nano /usr/share/remarkable/update.conf\n   ```\n\n1. Add the following line to the `update.conf` file:\n\n   ```text\n   SERVER=http://10.11.99.2:8000\n   ```\n\n1. Run an automatic update.\n\n### Via ReMarkable UI\n\n1. Go to Menu -\u003e Settings -\u003e General: click on the Software Version.\n\n1. Tap Check for Updates. It should download and install the update.\n\n1. Once it is complete, it should prompt you to tap to reboot your device.\n\n### Via the CLI\n\n1. In the ReMarkable Terminal, make sure `update-engine` is running:\n\n   ```shell\n   systemctl start update-engine\n   ```\n\n1. Trigger the update:\n\n   ```shell\n   update_engine_client -check_for_update\n   ```\n\n1. Observe the update progess.\n\n   ```shell\n   journalctl -u update-engine -f\n   ```\n\n1. Once it is complete, reboot the device.\n\n   ```shell\n   reboot\n   ```\n\n## To switch the partition i.e. boot the previous version\n\n1. Copy the `switch.sh` script to the device.\n\n   ```shell\n   scp switch.sh root@10.11.99.1:~\n   ```\n\n1. SSH into reMarkable and run the script.\n\n   ```shell\n   ssh root@10.11.99.1\n   ./switch.sh\n   ```\n\n1. Reboot the device for changes to take effect.\n\n   ```shell\n   reboot\n   ```\n\n## Beta\n\nIt seems that the update server address (SERVER) is defined in the `/home/root/.config/xochitl.conf` file [Issue](https://github.com/ddvk/remarkable-update/issues/7)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fddvk%2Fremarkable-update","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fddvk%2Fremarkable-update","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fddvk%2Fremarkable-update/lists"}