Skip to content

Instantly share code, notes, and snippets.

@veritas06
Last active November 2, 2024 06:45
Show Gist options
  • Save veritas06/462844437bd8c5751b85d99c78c68fd8 to your computer and use it in GitHub Desktop.
Save veritas06/462844437bd8c5751b85d99c78c68fd8 to your computer and use it in GitHub Desktop.
Instructions to get stock Android or LineageOS21 on the Rabbit r1 (July 2024)

Android on Rabbit r1

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.

System Backup

  • 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"

Stock Android on Rabbit r1

  • 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>
adb root
adb shell 'sqlite3 /data/*/*/*/gservices.db \
    "select * from main where name = \"android_id\";"'

LineageOS on Rabbit r1

  • 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".

LineageOS "Upgrade" on Rabbit r1

  • 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.

Fixing Camera

  • 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.

Working Launchers

  • 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.

Rooting with Magisk

  • 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 via fastboot flash boot $magiskBootImage

Rabbit Launcher on Stock Android or Lineage.

References & Sources

@veritas06
Copy link
Author

I put the Lineage file in the r1_escape folder.

My notes & recommendations here didn’t brick your device. If you’re having problems with the process you can always restore to stock.

@Cho724
Copy link

Cho724 commented Aug 1, 2024

Been trying to restore for the last 3 hours. No matter what I do my device just boots and says fastboot mode

@Cho724
Copy link

Cho724 commented Aug 1, 2024

Since is wiped my device. Then says no such file when trying to flash lineage

@FinstP
Copy link

FinstP commented Aug 2, 2024

Can you give detailed instructions on how to get the camera working?

@veritas06
Copy link
Author

Can you give detailed instructions on how to get the camera working?

Let me see what info I can grab on that. I didn't have a problem with the camera on mine with either build. I just needed to get the rotation configured.

@TheCreepy31
Copy link

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 !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment