Created: July 01, 2024
Last Edited: August 01, 2024
NOTICE: Should go without saying, but I am not responsible for your device. Below are the notes I've used to get my own Rabbit r1 running with the r1_escape image & LineageOS. You should have a vague idea of what you're doing before jumping into any of this, & make sure you have a stock backup before changing anything.
- Before making any changes, make sure you backup your stock partitions with MTKClient
./mtk rl --skip userdata "path/to/backup"
- Based on your setup & OS, you may need to include
python3
in front:python3 ./mtk rl --skip userdata "path/to/backup"
- I am putting this together as a small guide for users trying to get stock Android (or LineageOS) running on the Rabbit r1.
- Start here: GitHub: RabbitHoleEscapeR1 / r1_escape
- Adjust screen resolution:
adb shell wm density 180
- Details on the stepper motor for the camera:
retr0id — 05/29/2024 1:49 PM This is the stepper motor driver they use (datasheet) https://www.relmon.com/en/index.php/welcome/download/378.html
- Rotating the camera:
Guinea pig with sunglasses — Yesterday at 3:51 PM run these commands in tasker or something and bind it to a quick settings button:
front: echo 0 > /sys/devices/platform/step_motor_ms35774/orientation
back: echo 180 > /sys/devices/platform/step_motor_ms35774/orientation
down: echo 90 > /sys/devices/platform/step_motor_ms35774/orientation (requires root)
- You may want to use something like Tasker with the above commands so you don't need to type them out or be near a computer to move the camera.
- Useful information, so you don't need to type everything out: StackOverflow: ADB Shell Input Events
usage: input [text|keyevent]
input text <string>
input keyevent <event_code>
- Getting the Play Store working on stock Android:
- XDA Developers: How to Fix the "Device is not Certified by Google" Error
- Google: Device Registration
adb root
adb shell 'sqlite3 /data/*/*/*/gservices.db \
"select * from main where name = \"android_id\";"'
- Download a GSI image from here: Andy Yan's personal builds // GSI
- I used: lineage-21.0-20240525-UNOFFICIAL-arm64_bgN.img.xz
- These are the commands I ran to get Lineage on my r1:
- ** THIS WILL WIPE YOUR LOCAL STORAGE **
- 20240706: SMc: Thanks to djh816 for pointing out that I had the
fastboot flash system
entry twice, once in a spot where it wouldn't have worked. That has been updated.
unxz lineage-21.0-20240525-UNOFFICIAL-arm64_bgN.img.xz
cp lineage-21.0-20240526-UNOFFICIAL-arm64_bgN.img ~/Development/r1_escape
adb reboot bootloader
fastboot devices
fastboot -w
fastboot flash --disable-verity --disable-verification vbmeta vbmeta.img
fastboot reboot-fastboot
fastboot flash system lineage-21.0-20240526-UNOFFICIAL-arm64_bgN.img
fastboot reboot
- For LineageOS: Trebuchet seems to repeatedly crash when trying to launch. I manually loaded the AIO Launcher APK to get around that.
- Word of warning... it does take a bit for LineageOS to boot the first time. Let it sit for ~15 minutes before trying to reflash, go to stock Android, or restore the default "rabbitOS".
- I just happen to see that there is an updated image on Andy Yan's personal builds // GSI: lineage-21.0-20240722-UNOFFICIAL-gsi_arm64_gN-signed.img.xz
- Based on the release naming, this is with GApps, but no Superuser. No SU is fine, I'll just use Magisk with the boot.img & root it that way.
- I'm not concerned with saving my existing data, so if that gets lost during this, I'm fine with that. Any readers should keep this in mind.
adb reboot bootloader # Puts device in fastboot mode with the white text at the bottom (not the menu)
unxz "lineage-21.0-20240722-UNOFFICIAL-gsi_arm64_gN-signed.img.xz" # Extract the IMG file
# Don't believe I should have to reflash vbmeta, but guess I'll see in a minute if that's true. I'm flashing the Lineage IMG to system, so shouldn't need to worry about the other partitions. This may mean that it's stays rooted since Magisk is flashed to the boot partition.
fastboot reboot-fastboot # This puts the device into fastbootd, that has the menu options.
fastboot flash system lineage-21.0-20240722-UNOFFICIAL-gsi_arm64_gN-signed.img
fastboot reboot
- The first boot did take some time, but eventually loaded fine & still rooted & all my apps are in place. Still probably not the safest way to "upgrade" but seems fine for now. If you do have issues, a fresh install after wiping will be your best bet.
- Some users have mentioned that the Camera doesn't work after getting onto the r1_escape or Lineage images. I believe the fix is to reflash the most recent boot.img & vendor.img, but will update this section once I have more up-to-date information.
- LineageOS' default launcher (Trebuchet) will repeatedly crash, so you'll need to load a new one. Below are some that users have confirmed are working:
- AIO Launcher
- Niagara
- Pro Launcher
- Nova Launcher does not work.
- You will need to get the boot image from the device so it can be patched with Magisk. You can get that through the following commands:
adb root
adb shell
dd if=/dev/block/by-name/boot_a of=/sdcard/stock_boot.img
-
- After installing Magisk, you can open it, & select the boot image you saved previously from the /sdcard/, & have it be patched with Magisk.
- The resulting file will be in your /sdcard/Downloads/ folder. You'll want to pull that onto your computer (
adb pull /sdcard/Downloads/$magiskBootImage
-- fix the filename at the end) adb reboot bootloader
where you should then be able to flash the Magisk boot image viafastboot flash boot $magiskBootImage
- GitHub: sayhiben / awesome-rabbit-r1
Hello, first thanks a lot for your instructions I managed to install LineageOS on my Rabbit, but one question how can I make the scrollwhell works a a volume slider like the AOSP build packaged in r1_escape repo ? As it works as I guess an arrow up and arrow down I have 0 idea on how to change the behavior, thanks in advance !