Unihertz Jelly2

Still waiting for /e/ for the Poco F2 pro I found another phone instead. The Poco sometimes is too big at work. I will not replace it. But sometimes tiny is more useful…
So I found the really small unihertz Jelly2. It’s biggest fail so far is that there fits no micro SD while using two SIMs and another launcher ist needed to show more symbols in a row and get a usefull “Desktop” without the mass of icons…

But without google it would be even better…
The Atom L (4" rugged phone) and Atom XL (same but with additional DMR) would be interesting to. But I tried the smallest… (less expensive and with IR-Remote funktion…)
As they all offer 6/128GB they should be nice with a longer support without google. :wink:

Hope others would be interested in using it with /e/…

3 Likes

Yes, I would love the Jelly 2 on /e/ !

The newly-released official GSI works just fine on the Jelly 2, aside from VoLTE.

For the beginners here, what does GSI mean? Does that mean /e/os can work on the Jelly 2?

Yep! It does. You can find some more general info here in the /e/
developer blog post titled “Introducing /e/ OS Generic System Images
(GSI)”.

But, to skip to the end, what I did to install it was:

  1. Enable developer options in Settings.

  2. Choose “Allow OEM unlocking” and enable “USB debugging” in the same
    place.

  3. Install Android Debug Bridge and plug phone into computer.

  4. Run: adb reboot bootloader

  5. Run: fastboot flashing unlock (and accept prompt on phone)

  6. Run: fastboot reboot fastboot

  7. Download the official firmware from Unihertz and grab “vbmeta.img”
    out of the zip file:
    https://drive.google.com/drive/folders/1PNL1x0I2vsLoofGzOhTPwx97GpnNJA_t

  8. Run: fastboot flash --disable-verity --disable-verification vbmeta
    vbmeta.img

  9. Follow (roughly) the directions here from
    https://doc.e.foundation/how-tos/install-GSI (you need Arm64 A/B),
    abridged as follows:
    a. Download the ARM64 A/B image from the install guide linked above.
    b. Open the zip file
    c. Run: fastboot flash system system.img
    d. Run: fastboot -w (this will delete everything on your phone, so
    back up first)

  10. Reboot the phone

If you need to install updates – /e/ isn’t providing OTA updates yet –
just repeat steps 9 and 10 with the newer version of the OS. Steps 1-8
are one-time things related to installing a non-stock OS. If you want to
go back to the stock firmware (I didn’t), there is a guide on Unihertz’s
website.

Enjoy!

2 Likes

Thanks a lot for that. Having done it, how does it run on the phone? I’m thinking specifically about it have a lower resolution than most other phones, has that caused an issue? I would be interested in seeing some pictures or screenshots of it if is not too much trouble.

Don’t have any screenshots or photos handy right now. It works fine, with no real trouble from the small screen. I replaced the launcher with a different one, though. The keyboard is a little small, but that’s a general issue with the phone and on-screen keyboards.

The only major issue is that VoLTE does not work – I’ve reported a separate issue for that and am hopeful it gets resolved soon, as it seems to be just a minor bug in the build rather than a serious long-term problem.

1 Like

I bought this phone thinking I’d be able to load a custom ROM without Gapps.

However, I’m now reading that GSI and other custom ROMs lack the magic needed for Verizon.

Anyone know if GSI works with Verizon (US Mobile)?

when you did this, did you get a message on boot saying ‘orange state, your device has been unlocked and can’t be trusted’?

Also, google play protect is uncertified?

Yes, you get that message every time. It’s basically harmless. I haven’t used any apps that want Google Play Protect, so no clue there unfortunately.

I tried to flash the Jelly2 but always got an error:

toni@toni:~/Downloads$ fastboot flash system system.img
target reported max download size of 134217728 bytes
sending sparse ‘system’ 1/22 (131068 KB)…
OKAY [ 4.119s]
writing ‘system’ 1/22…
FAILED (remote: This partition doesn’t exist)
finished. total time: 4.119s
meldung:~/Downloads$

Is it possible that missing partition is somehow locked?
Or what else could I have done wrong?

You only show us the failure message, but do not mention basic data such as …

  • system.img (from which GSI, version)
  • stock firmware, version

You’ve to tell us what you have done so far, otherwise we can only guess what you might have done wrong.

Sorry, did not really know that makes a big difference. Thought more on more switches to change in general…

First I found the way to Unlock the Bootloader at https://droidwin.com/unlock-bootloader-jelly-2/
“So head over to Settings > About Phone > Tap on Build Number around 10 times > Go back to Settings > System > Advanced > Developer Options > Enable USB Debugging and OEM Unlocking.”

Like written here by “nwforum” in 21 I flashed the “vbmeta.img” from the Unihertz System I found: 2023010417_g55v71c2k_dfl_tee.zip before. (So far it seemed to work.)

Then I tried to flash the latest version I found:
IMG-e-1.17-q-20231110351091-dev-treble_arm64_bvN.zip

The firmware on the phone was the latest automatic updated (Should be Android 11) with last available Security Pack. But that’s not really fresh…

Does that help to find the Problem?

This error message occurs if the system.img file is not flashed to the correct partition.


Physical partition table layout when converting to dynamic partitions


Jelly2 works with Android Dynamic Partitions. Several files (system, product, vendor) are combined in one super.img file.

So if you want to install a GSI system.img on the Jelly2, you have to (over)write it to the physical partition super.img. In Android, these dynamic partitions can be accessed via fastboot reboot fastboot (= fastboot ‘D’ mode).

After changing to this input:

…:~/Downloads$ fastboot flash super system.img
target reported max download size of 134217728 bytes
sending sparse ‘super’ 1/22 (131068 KB)…
OKAY [ 4.113s]
.
.
.
OKAY [ 0.854s]
finished. total time: 144.016s


It seemed to work fine. But entering


…:~/Downloads$ fastboot -w
wiping userdata…
Invalid erase-block-size 0: must be a power of 2 and at least 4096.
mke2fs 1.45.5 (07-Jan-2020)
/tmp/TemporaryFile-Hwy61p: Nicht implementierte Ext2-Bibliotheksfunktion beim Erstellen des Superblocks
/usr/lib/android-sdk/platform-tools/mke2fs failed with status 1
mke2fs failed: 1
error: Cannot generate image for userdata


And trying to reboot the phone leads to endless reboots with warning:


Orange State
Your device has been uplocked and can’t be trusted
Your device will boot in 5 seconds


This seems to go on until Battery is empty…
Found no way to stop it…

I found a hint to press Volume up and Power…
If done in the right moment (right when display goes black) it takes longer to restart and leads to a follow up screen with the open android robot and No command…
Here pressing Power should lead into another menu but doesn’t…

So the only difference is it just goes into a dark screen after some time und going back to No command after pressing any key except for bringing it into the endless restart mode again…

I tried to folow instruction from nwforum may (2021) :
./fastboot flashing unlock
OKAY [ 12.572s]
Finished. Total time: 12.572s
./fastboot reboot fastboot
Rebooting into fastboot OKAY [ 0.007s]
./fastboot flash --disable-verity --disable-verification vbmeta vbmeta.img
Warning: skip copying vbmeta image avb footer (vbmeta partition size: 0, vbmeta image size: 4096).
Rewriting vbmeta struct at offset: 0
Sending ‘vbmeta’ (4 KB) OKAY [ 0.002s]
Writing ‘vbmeta’ FAILED (remote: ‘No such file or directory’)

Does this error comes from a rung option on the phone before to sent the command ?
Thanks in advance