Jayy001/codexctl

Unable to figure out how to follow instructions(commemt #71) to roll back from 3.13

Closed this issue · 7 comments

My issue is I've been trying to follow the instructions in comment #71, but I've been unable really to get started.
I can SSH and install hacks on my RM2 such as the Lamy Eraser Hack, but due to my relative inexperience in using terminal, using Codexctl to roll back my firmware from 3.13 is proving more difficult than I thought.

Perhaps I can have some help, I don't understand how to use the download function in the first step I'm thinking. Do I use Codexctl after I've SSH'd into my RM2 or before?

I've used the syntax "codexctl download 2.15.0.1067" and other variations, however nothing seems to be recognized.

Is there something I'm missing before step one?

Thank you.

You run codexctl from wherever you downloaded and put it. I would recommend getting the build for your computer's operating system, and then extracting the executable.

Depending on your operating system, what console/terminal you are using, and where you put codexctl, it will change how you run it.

  • Windows: C:\path\to\codexctl.exe with the correct path
  • macOS/Linux: /path/to/codexctl.bin with the correct path, or place it in a folder where it is on the system path, then you can just run codexctl.bin.

To download and extract 3.11.2.5 you would run the following:

  1. codexctl download --out . 3.11.2.5
  2. codexctl extract --out 3.11.2.5.img 3.11.2.5_reMarkable2-qLFGoqPtPL.signed

You can then transfer 3.11.2.5.img to your device with whatever method you use to transfer files. I would recommend placing it in /home/root.

Determine what partition is the fallback partition by inspecting the output of mount when run on your tablet over SSH and then looking for /dev/mmcblk2p3 on / type ext4 (rw,relatime) or /dev/mmcblk2p2 on / type ext4 (rw,relatime). If you see mmcblk2p3 than mmcblk2p2 would be your fallback, and vice versa.

On your tablet over SSH run dd if=/home/root/3.11.2.5.img of=/dev/mmcblk2p2 or dd if=/home/root/3.11.2.5.img of=/dev/mmcblk2p3, depending on which is your fallback.

Run codexctl restore on your computer, and then reboot your device.

Thank you, that makes a lot more sense. Still running into an issue on Ubuntu.
When I go to run codexctl.bin from my Downloads folder below is my result.

xelmarik@Flashmac:~/Downloads$ ./codexctl.bin
usage: Codexctl app [-h] [--debug] [--rm1] [--auth AUTH] [--verbose] {install,download,backup,extract,mount,upload,status,restore,list,ls,cat} ...
Codexctl app: error: the following arguments are required: command
xelmarik@Flashmac:~/Downloads$ 

Is this an issue with codexctl.bin or with my method of running codexctl.bin?

Thank you,
Xelmarik

You aren't passing parameters to codexctl.bin like in my instructions. For example: ./codexctl.bin download --out . 3.11.2.5

Ah, that makes more sense, I misunderstood and thought I ran the codexctl first, then sent the commands. Makes more sense and can report that this has worked and I am now at firmware 3.11.2.5, on to better things! Thank you!

Determine what partition is the fallback partition by inspecting the output of mount

Hello, so I have tried to do this step and it just doesn't seem to work? I type mount command, it tells me that it needs filesystem argument. What even is that? I tried running -h, says it wants path to version firmware filesystem to extract. Should i direct it to the downloaded .img, or maybe the .signed? I tried pointing it to the .img but it throws a "NotImplementedError: mounting has not been implemented on win32"

Determine what partition is the fallback partition by inspecting the output of mount

Hello, so I have tried to do this step and it just doesn't seem to work? I type mount command, it tells me that it needs filesystem argument. What even is that? I tried running -h, says it wants path to version firmware filesystem to extract. Should i direct it to the downloaded .img, or maybe the .signed? I tried pointing it to the .img but it throws a "NotImplementedError: mounting has not been implemented on win32"

Running mount without any arguments on the device over SSH will display all the currently mounted filesystems. My guess is that you are running it on your computer instead.

Determine what partition is the fallback partition by inspecting the output of mount

Hello, so I have tried to do this step and it just doesn't seem to work? I type mount command, it tells me that it needs filesystem argument. What even is that? I tried running -h, says it wants path to version firmware filesystem to extract. Should i direct it to the downloaded .img, or maybe the .signed? I tried pointing it to the .img but it throws a "NotImplementedError: mounting has not been implemented on win32"

Running mount without any arguments on the device over SSH will display all the currently mounted filesystems. My guess is that you are running it on your computer instead.

Omg thank you! That's what I was missing. Thanks for updating the guide with that info, will probably help out alot of other confused people in the future lol!!