introduction
I got this unihertz jelly star as a low stakes test bench to learn how to root android phones. The following is my experience and a aggregate of multiple guides for getting my computer setup to root my phone. If you want to read more about the process of writing the guide, stick around for the post-mortem writeup
“guide/walk through”
I followed these guides and will be quoting the instructions with my own experiences on fedora 39. This guide assumes no responsibility for any bricked phones. If you aren’t certain, ask a language model to explain what the commands are doing, or look what the commands do.
Note some of these commands might need to be run with sudo. I have intentionally left them out so that you can review the commands before running them.
These two guides helped in writing the overall guide
getting my computer and phone setup
Fedora does not natively have adb installed, we’ll need to install adb and enable fastboot.
These guides were helpful in writing this section
- install android tools
-
dnf install android-tools
-
- download the android-udev-rules from this repository. follow the instructions
-
enable fastboot
-
groupadd adbusers and sudo usermod -a -G adbusers $(whoami)
-
-
enable developer mode, usb debugging, and allow the computer usb debugging permissions on the phone
I reposted it here
Enabling USB Debugging on an Android Device
The steps to enable USB debugging depend on the version of Android running on the target device, as indicated in the following table:
Android Device Instructions Android 4.0 and newer (Jelly Bean) Enable the USB Debugging option under Settings > Developer options.For Android 4.2 and newer, Developer options is hidden by default; use the following steps:1. On the device, go to Settings > About .2. Tap the Build number seven times to make Settings > Developer options available.3. Then enable the USB Debugging option. Tip: You might also want to enable the Stay awake option, to prevent your Android device from sleeping while plugged into the USB port. For more information, see Unlocking Jelly Bean and Higher Devices Kindle Fire devices Select Settings > Security and set Enable ADB to On.For more information, see the Amazon documentation. If you are running Android 4.2.2 or later, you may see the following dialog when you connect your device to your PC running RAD Studio:
Click OK to allow USB debugging on your PC. If you accidentally click Cancel, disconnect your device from your PC and connect it back to make the dialog show up again on your device.
-
plug in your phone and verify that the device shows up when
adb devices
is run-
adb devices List of devices attached JELLYS0000010000 device
-
-
remove your sd card if one is installed
-
install magisk from the official github page onto your phone
rooting the phone
this section will help root the phone and prepare the images. Instructions adapted from the reddit post linked above
- start by build version using adb
-
adb shell "'getprop' | grep -e 'ro.build.flavor'" [ro.build.flavor]: [sys_mssi_g58v89c2k_dfl_tee-user]
- note the version: in my case it is
g58v89c2k_dfl_tee
-
- find the version on unihertz google drive and download it. For my phone, it is within the
None_EEA
folder. I searched forg58v89c2k
on the drive page - extract the zip and copy the following files (or note the file paths to the files):
boot.img
vbmeta.img
- copy
boot.img
to your phone - open magisk on your phone, navigate to the install portion, insert the file, and patch the boot.img
- insert select and patch file
- copy the patched file from your phone to the pc in a location that you can access. The filename will have a structure of
magisk_patched*.img
. I personally put it in mystock_root_images
folder with theboot.img
,vbmeta
and other img files - with the phone plugged in, run the
adb devices
command and verify that the device shows up. Sample output below-
adb devices List of devices attached JELLYS0000010000 device
-
- reboot to the bootloader using
adb reboot bootloader
- the unihertz logo should be pop up and stay frozen on the phone
- confirm the phone shows up in when
fastboot devices
shows up
flashing LineageOS
This section follows the guide “DeGoogle the Unihertz Jelly Star” written by Chris McWain. You will need to follow similar instructions to the previous sections getting developer mode enabled on the phone, and patching the boot and vbmeta images. If you already followed the previous steps, you can skip to step 8/9 of these instructions
- start by build version using adb
-
adb shell "'getprop' | grep -e 'ro.build.flavor'" [ro.build.flavor]: [sys_mssi_g58v89c2k_dfl_tee-user]
- note the version: in my case it is
g58v89c2k_dfl_tee
-
- find the version on unihertz google drive and download it. For my phone, it is within the
None_EEA
folder. I searched forg58v89c2k
on the drive page - extract the zip and copy the following files (or note the file paths to the files):
boot.img
vbmeta.img
- copy
boot.img
to your phone - open magisk on your phone, navigate to the install portion, insert the file, and patch the boot.img
- insert select and patch file
- copy the patched file from your phone to the pc in a location that you can access. The filename will have a structure of
magisk_patched*.img
. I personally put it in mystock_root_images
folder with theboot.img
,vbmeta
and other img files - with the phone plugged in, run the
adb devices
command and verify that the device shows up. Sample output below-
adb devices List of devices attached JELLYS0000010000 device
-
- reboot to the bootloader using
adb reboot bootloader
- the unihertz logo should be pop up and stay frozen on the phone
- confirm the phone shows up in when
fastboot devices
shows up - Download the latest LineageOS.
- note follow the naming rules on the readme before downloading.
-
命名规则 / Naming rules {arm|a64|arm64}_{a|b}{v|g}{N|S}-{signed|vndklite|secure|personal} | | | | | | | | | signed: Signed with maintainer's keys | | | | vndklite: For VNDKLite devices, | | | | or for read-writeable /system on regular devices | | | | personal: With personal mods, for reference | | | | secure: Superuser removed and system props spoofed | | | | | | | N: No Superuser | | | S: *Built* with PHH Superuser (app needed) | | | (Z): *Built* with eremitein's Dynamic Superuser (not offered here) | | | | | v: Vanilla, i.e. no GAPPS | | g: With regular GAPPS | | o: With Android Go GAPPS | | (f): With built-in MicroG and FLOSS replacements of GAPPS (not offered here) | | | a: "A-only", i.e. system-as-system (deprecated since Android 12) | b: "AB", i.e. system-as-root | arm: ARM 32-bit (deprecated since Android 12) a64: ARM 32-bit with 64-bit binder arm64: ARM 64-bit
- in my case I will be using the
bvN
file as I want theb: "AB", i.e. system-as-root
,v: Vanilla, i.e. no GAPPS
,N: No Superuser
. We will use magisk to root the phone
- Extract the LineageOS package. Place it within the same folder as your patched images
- run the following flashboot command while inside of your patched images
-
fastboot flashing unlock
-
fastboot flash vbmeta_a vbmeta.img
-
fastboot flash vbmeta_vendor_a vbmeta_vendor.img
-
fastboot reboot fastboot
-
fastboot -l devices
- note: we want this command to confirm that fastboot can still send commands to our phone
-
fastboot delete-logical-partition product
-
fastboot erase system_a
-
fastboot flash system_a <path to lineageOS.img>
- note: replace
<path to lineageOS.img>
with the actual path. In my case it islineage-20.0-20240818-UNOFFICIAL-arm64_bvN.img
- note: replace
-
fastboot --set-active=a
-
fastboot erase userdata
-
adb reboot bootloader
-
- LineageOS should now boot onto your phone, follow the setup and enter the system. Do not sign into any accounts as we will be adding microg, which involves flashing and rooting the phone again
- Transfer the latest
Magisk.apk
andboot.img
to your phone. If your phone is connected to your computer, just copy the files to a directory you can access on your phone - Install Magisk, and open the app. Within the app click the install button. when prompted, select the
boot.img
file from directory you placed it in in the previous step. Disconnect your phone from your pc and reconnect it. - With your phone reconnected, access the directory with your patched boot image, in my case it is
magisk_patched-27000_nUXhT.img
- note: your file might look different after the
-27000_nUXhT.img
that is uniquely generated. For the next step pick the file that ismagisk_patched-*
where * is the text after the -
- note: your file might look different after the
- Root the lineageos phone to install microg
-
fastboot devices
-
adb reboot bootloader
-
fastboot flash boot_a magisk_patched-27000_nUXhT.img
-
fastboot reboot
-
- Setup the phone and install microG. I installed f-droid to install microg.
Additional help/notes
help my device does not show up in fastboot
use this section if you get a empty output from fastboot devices
or fastboot -l devices
.
- start by getting
lsusb
. I have stripped out the usb to the relevant device-
lsusb ... Bus 001 Device 015: ID 0e8d:201d MediaTek Inc. Jelly Star ...
- note down the id in my case it is
0e8d
- note down the id in my case it is
-
- add a entry to udev
-
sh -c "echo '# MediaTek Inc. Jelly Star' >> /etc/udev/rules.d/51-android.rules" sh -c "echo 'SUBSYSTEM==\"usb\", ATTR{idVendor}==\"0e8d\", MODE=\"0666\", GROUP=\"plugdev\"' >> /etc/udev/rules.d/51-android.rules"
-
- reload udev
-
udevadm control --reload-rules udevadm trigger
-
help I’m stuck in orange state
No worries my friend, stay calm, you can still recover from this
- power down your phone. If you are stuck in a boot loop follow these instructions to enter recovery mode, which includes options you can use to power down the device
I've copied the instructions here in case the post gets deleted
- Download and install SP Flash Tool V6, the instructions have been adapted from this reddit guide also linked above Jelly Star Rooted link
Using the instructions from reddit
- Launch SP Flash Tool V6. Instructions adapted from the flashing stock rom section of How to use the SP Flash Tool for MTK based devices.