GerdaOS recovery.img port to Jio Phone F120b Qualcomm Model

1,265 views
Skip to first unread message

saveNgo

unread,
Mar 20, 2019, 5:41:04 AM3/20/19
to comp.mobile.nokia.8110
(modified recovery.img + boot.img of Jio Phone F120b Qualcomm)

My humble regards to 'Luxferre' and all other concern members of GerdaOS/bananahackers group for their efforts. Rom porting procedure for Qualcomm devices is taken from available tutorials on internet and specifically from XDA forum.

The method can be used for all KaiOS mobiles as long as file-system integrity (boot-chain) verification is disabled. If not, you will experience boot-loop after flashing modified boot.img and recovery.img.

Ready-made-[For F120b Model]:
This is a Proof of Concept that boot.img and recovery.img of different mobiles with same chipset can be port.(here qualcomm 8905/9: pin-to-pin compatible).

Stock recovery of Jio Phone F120b is naive and it's GUI is not suitable for 240x320 display (search youtube videos). Also, adb in recovery is not available (except in the form of sideload) and stock recovery doesn't support flashing custom update.zip due to signature verification.
It is being confirmed that the updated KaiOS v2.5 has removed file-system integrity (boot-chain) verification on most of Jio Phone variants. Taking advantage of this, custom recovery is created. Stock Recovery and boot image is taken from Jio Phone F120b. Require volunteers to test the same concept on other Jio Phone Qualcomm variants (if possible as it is!!.).
In order to provide solid back-support, boot.img is modified by changing adb related entries on default.prop and /sbin/adbd insecure.

Before proceeding, usual but highly important warning/reminder for user/tester:
......I'm not responsible for any data lost or device brick. Back up before proceeding!
......Stock boot and Recovery is taken from Jio Phone F120b Qualcomm. Modify them for your Phone if you can.
......Anything wrong while unpacking/modifying/re-packing boot.img and recovery.img will cause boot-loop or worse......
....**Apply your tweak, hack, mod that involves /system partition modification - on your own risk! Because.....
....**Even a small change on the /system partition will prevent you to get future official updates (can't download / can't apply).

Features:
- Graphics and fonts are suitable for 240x320. It makes recovery process and logs readable on tiny screen.
- adb in recovery with root access (adb shell)
- Apply custom update from SDCard: possible to flash Zip package signed by testkeys.pem and testkey.pk8
- Apply custom update from adb sideload.
- *** Flashing his recovery does not break Update.
- Mounting and dumping partitions, add/delete/modifying files is now possible due to adb in recovery with root access.
- Possible to use almost every tweak/hack that Nokia 8110 users can apply... :)

*** Well, according to my testing, It is possible to download updates .... means update does not break.... but...
 /res/keys in boot and recovery is change by '"Test" version, hence stock 'update.zip' while flashing through recovery (even automatically) shows "Signature Invalid" error.
 Solution: Re-Flash stock recovery.img and boot.img when update is available. This will not alter your existing system and data partition. Your userdata and settings will be preserved. Better to flash stock-recovery than entire stock-system or data to acquire updates.
 
** - further testing is required to find the limitations of this port.

This tutorial is for Windows users. (suitably applicable for other OS).
Requirements:
- Windows PC
- Qualcomm QDLoader Driver: QUD.WIN.1.1 Installer-10040.5.exe (get from Internet)
- universal adb drivers (get from Internet)

Use QFIL_v1.0.0.3.zip provided below to flash boot.img and recovery.img (to avoid Sahara-Protocol-Failed error):
It includes: QFIL, prog_emmc_firehose_8909_ddr.mbn, patch0.xml, rawprogram_unsparse.xml.

- Extract QFIL_v1.0.0.3.zip
- Install Qualcomm Driver: QUD.WIN.1.1 Installer-10040.5.exe (Restart your PC if necessary).
- Open QFIL.exe - In Select Programmer --> Programmer Path --> Browse... (Click on it)
  and choose prog_emmc_firehose_8909_ddr.mbn file from extracted QFIL_v1.0.0.3 folder --> Open.
- In Download --> Load XML... (Click on it)
  and choose rawprogram_unsparse.xml --> Open --> patch0.xml --> Open.
- Turn-Off JioPhone. Remove battery, Re-insert Battery.
  Press key combinations to enter into EDL mode (different for different variants e.g. For F120b: Press '*' and '#' button simultaneously)
  and plug-in data cable to phone.
- QFIL should detect COM port with name "Qualcomm HS-USB QDLoader 9008"
- Click Download to start flashing.
- After flashing completes(around 5 to 10 seconds), phone will restart. If not, Power On manually.
- To boot into Recovery Mode:
  Switch off mobile. Press key combinations to enter into recovery mode (different for different variants e.g. For F120b: Press '*' and 'Power ON' button simultaneously)
  Release Power-ON-key when KaiOS Reliance Logo shows up.
  
Custom recovery screen shows:
"Gerda Recovery
Use navigation/power keys"
With normal stock recovery options like: "Reboot system now, Power off, Apply update from........"

Congratulations!!

Connect phone to PC with data cable. open cmd (Command-Prompt).
Type: adb devices
If adb drivers are already insalled in your PC then you can see something like below on cmd screen:
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
43808560        recovery
Type: adb boot
'adbd is already running as root'
Type: adb shell
It should show: / # or root@msm8009/#

Bingo!!

saveNgo

unread,
Mar 20, 2019, 5:47:11 AM3/20/19
to comp.mobile.nokia.8110
I will post detailed porting guide soon so that other JioPhone variants can take advantage from it....

Jashan Grover

unread,
Mar 20, 2019, 6:56:57 AM3/20/19
to comp.mobile.nokia.8110
Hii port this one also for lf-2403n

Jashan Grover

unread,
Mar 20, 2019, 6:57:37 AM3/20/19
to comp.mobile.nokia.8110

J2ME

unread,
Mar 20, 2019, 7:21:38 AM3/20/19
to comp.mobile.nokia.8110
Successful successful thanks saveNgo

Jashan Grover

unread,
Mar 20, 2019, 8:13:03 AM3/20/19
to comp.mobile.nokia.8110
Congrats bro

J2ME

unread,
Mar 20, 2019, 8:36:00 AM3/20/19
to comp.mobile.nokia.8110
I can not flash busybox,telnet,omnijb with this recovery.

Jashan Grover

unread,
Mar 20, 2019, 8:50:13 AM3/20/19
to comp.mobile.nokia.8110
From Gerda's ???

Jashan Grover

unread,
Mar 20, 2019, 8:51:02 AM3/20/19
to comp.mobile.nokia.8110
What's the error @j2me
Message has been deleted

J2ME

unread,
Mar 20, 2019, 9:57:12 AM3/20/19
to comp.mobile.nokia.8110
After flashing doesn't see omnisd in phone menu

saveNgo

unread,
Mar 20, 2019, 11:13:25 AM3/20/19
to comp.mobile.nokia.8110
Hi J2ME. It is strange to hear that custom signed zips are not working for you. Can you share error message about it from recovery log? Is adb as root working? What computer cmd says for commands:
adb devices
adb shell

As per my experience, There should not be any problem for OmniJB installation. Try Following:
Reboot Phone (as usual)
In recover, Wipe cache partition. And then reboot to system.

Even if this does not solve your problem, there are couple of methods to install OmniJB on F120b:
(1) Use Long method that is explained in following thread by ivan: (https://groups.google.com/forum/m/#!msg/bananahackers/pvhHR8pzQAA/oliE0bnUHQAJ)
Insted of using localhost, use following commands:

mount -t ext4 -o rw /dev/block/bootdevice/by-name/userdata /data
mount -t vfat -o rw /dev/block/mmcblk1p1 /sdcard
cp /data/local/webapps/webapps.json /sdcard

Now you can see the webapps.json file on your sd card.
Edit the file manually adding this (just copy/paste all on a "},"):.......follow rest of the tutorial as directed.

(2) Use short method posted by Jashan: (https://groups.google.com/forum/m/#!topic/bananahackers/Q9-0HmTUZKs)
As per my experience, his userdata.img file is suitable for Jio Phone F120b than other available userdata.img qualcomm files.

All the best for installing OmniJB using above method. And post error messages from recovery log for future reference.

saveNgo

unread,
Mar 20, 2019, 11:20:31 AM3/20/19
to comp.mobile.nokia.8110
Hi Jashan, I will try to make gerdaOS recovery port for your Jio Phone lf-2403n but not soon... It is festival time... You know... Best wishes...
I am posting detailed porting guide after some time. You could try to use it...

J2ME

unread,
Mar 20, 2019, 11:23:50 AM3/20/19
to comp.mobile.nokia.8110
Sir, adb comment are working and app pull down comment are also working. But i can not flash anything.

saveNgo

unread,
Mar 20, 2019, 12:15:52 PM3/20/19
to comp.mobile.nokia.8110
recovery and boot Rom porting procedure for Jio Phone Qualcomm Variants.
This is proof of concept that recovery.img of different mobiles with same chipset can be port.
(Qualcomm msm8905 and mas8909 are pin-to-pin compatible)
That is: Almost same hardware Processor, GPU, RAM, Chipset, etc and screen resolution (THIS IS VERY IMPORTANT).

The method can be used for all KaiOS mobiles as long as file-system integrity (boot-chain) verification is disabled. If not, you will experience boot-loop after flashing modified boot.img and recovery.img.

This tutorial is for Windows users. (suitably applicable for other OS).
Requirements:
- Stock Rom of your model from internet. From it: recovery.img
- GerdaOS recovery.img from GerdaOS website. https://gerda.tech
- AIK.v3.4-Win32.zip Android Image Kitchen for boot.img and recovery.img extraction.
(For Linux users, use abootimg utility.)
- Notepad++ (get from Internet)
- MELD - visual diff and merge tool (not mandatory) (http://meldmerge.org/)
- QFIL_v1.0.0.3.zip ( to flash *.img into phone)

Procedure:[A] For recovery.img
**For Beginner (Noobs?) ;-)**
- Create following folders in suitable location (say Desktop): Base-Rom_Jio, Port-Rom-Gerda and Custom-Rom_Jio. Extract AIK.v3.4-Win32.zip on same location for simplicity.
- Place GerdaOS recovery.img in AIK folder and execue unpackimg.bat.
Move ramdisk and split_img folders into Port-Rom-Gerda folder.
- Place Stock ROM recovery.img in AIK folder and execute unpackimg.bat.
Move ramdisk and split_img folders into Base-Rom_Jio folder.
- copy all files from Port-Rom_Jio/split_img to Custom-Rom_Jio/split_img
- copy all files from Port-Rom_Jio/ramdisk to Custom-Rom_Jio/ramdisk
- see and compare files from Base-Rom-Gerda/split_img and Custom-Rom_Jio/split_img
Following two files are important from Base-Rom: recovery.img-ramdisk.cpio.gz and recovery.img-zImage (and recovery.img-dtb if exists).
(few tutorials on internet advices to edit the content of recovery.img-ramdisk.cpio.gz; some says editing it is not so important but I have not touched it during mod).
so, copy recovery.img-ramdisk.cpio.gz and recovery.img-zImage from Base-Rom to Custom-Rom_Jio/split_img.
If there are any extra files in Port-Rom-Gerda/split_img, open it in Notepad++, see it's content, similarities and base on your knowledge; include that file in Custom-Rom_Jio/split_img; if necessary. (here in our case, let's include: recovery.img-avbtype and recovery.img-sigtype)
- copy and replace Base-Rom Default.prop to Custom-Rom Default.prop and Compare it with Port-Rom-Gerda (add values from Port-Rom to Custom-Rom appropriately).
Now edit Custom-Rom_Jio/ramdisk/default.prop (replaced one) using Notepad++: to add-replace-edit following lines:
ro.secure=0
security.perf_harden=0
ro.allow.mock.location=1
ro.debuggable=1
ro.adb.secure=0
persist.sys.usb.config=adb
#Set composition for USB
persist.sys.usb.config=diag,serial_smd,rmnet_qti_bam,adb
#Set read only default composition for USB
ro.sys.usb.default.config=diag,serial_smd,rmnet_qti_bam,adb
service.adb.root=1

(You can edit required parts of build.prop to reflect the brand, model no. etc. according to your preference.)

- copy and replace Base-Rom_Jio/ramdisk/fstab.qcom to Custom-Rom_Jio/ramdisk/fstab.qcom
(Try to find similarities and extra entries between Port-Rom-Gerda and Base-Rom_Jio. I find those are same. Use MELD or Notepad++ for comparing. I have personally used MELD)
- copy and replace Base-Rom_Jio/ramdisk/init.qcom.rc to Custom-Rom_Jio/ramdisk/init.qcom.rc
This file is generally used to ensure the detection of External SDCard.
(Again, try to find similarities and extra entries between Port-Rom-Gerda and Base-Rom_Jio. and use them in port. You may also need to add some lines if missing in the port init.qcom.rc for better results.)
- Similar approach has to be done for following files as well: (compare --> Add extra but suitable lines from Port-Rom --> Replace in Custom-Rom folder)
ramdisk --> init.rc
ramdisk --> init.target.rc (fixing camera, led, sensors)
ramdisk --> ueventd.qcom.rc (will fix sensor issue)
ramdisk --> ueventd.rc
ramdisk --> file_context

- Special care has to be taken for ramdisk --> verity_key. Make sure that you are replacing Custom-Rom varity_key with
Base-Rom varity_key.
- Now look the folder structure inside ramdisk folder.
Copy and replace following file from Base-Rom to Custom-Rom:
ramdisk --> etc --> recovery.fstab

- Copy and replace following files from Port-Rom to Custom-Rom in appropriate folder:
ramdisk --> res --> keys (This must be generic Test Key. It is included in gerdaOS recovery)
ramdisk --> res --> images --> Replace with Caution. See the names of .png images of Base-Rom and Port-Rom. First replace similar name image files then add extra images.

ramdisk --> sbin --> adbd (This must be insecure adbd file. It is included in gerdaOS recovery)
ramdisk --> sbin --> busybox (This is extra and included in gerdaOS recovery)

- If all these steps are followed with caution then:
copy Custom-Rom_Jio/ramdisk folder and Custom-Rom_Jio/split_img folder into AIK directory.
- In AIK folder execute repackimg.bat to repack recovery.img. In AIK folder you will find image-new.img.
- Rename it to recovery.img and flash to your phone using suitable method.
For JioPhone, use QFIL_v1.0.0.3 or QFIL_v2.0.0.1 software (windows) with nulled patch0.xml file and recovery entry only rawprogram_unsparse.xml. (Reference is given in QFIL_v1.0.0.3.zip)

- To fix other issues use your common sense. (Don't take this sentence in Hard way. This is standard stuff written in almost all porting threads... ;-) ...)

[B] For boot.img
Follow the same procedure mentioned above. Just instead of recovery.img, use boot.img.
It is to be noted that: boot.img and recovery.img shares same file structure but of-course their functions are different.
boot.img contains few files more than recovery.img in /ramdisk folder:
and these are required to replace in port rom from base rom:(Use these files from original Base-Rom, compare them with Port-Rom and then use them in final Custom-Rom):
init.qcom.rc (fixing external sd-card)
init.target.rc (fixing camera, led, sensors)
init.trace.rc
init.usb.configfs.rc
init.usb.rc
init.zygote32.rc
ueventd.qcom.rc (will fix sensor issue)
ueventd.rc
file_context
.
.

Regards....

saveNgo

unread,
Mar 20, 2019, 12:20:10 PM3/20/19
to comp.mobile.nokia.8110
If few tool links are missing, please get them from following thread named 'Procedure to get only adb-root in recovery and during boot for JioPhone.':
https://groups.google.com/forum/m/#!topic/bananahackers/jNrz5gquOwQ

Apologies for Lazy-ness.

My future plan is to port Non-Touch version of CWM recovery and TWRP recovery to Jio Phone. Once upon a time, Nayam and AdvancedHacker was working on it but No progress about it has shown in this forum. Well, it is possible that someone might release these ports even before me. Very All-The-Best for it....

Ivan

unread,
Mar 20, 2019, 1:49:55 PM3/20/19
to comp.mobile.nokia.8110
@saveNgo link me the exact things i must re-uploading on bananahackers website instead of what i have write yesterday evening...i'll copy/paste all to prevent mistakes, thank you

Jashan Grover

unread,
Mar 20, 2019, 2:23:46 PM3/20/19
to comp.mobile.nokia.8110
adb is working and recovery is flashing zips

saveNgo

unread,
Mar 22, 2019, 12:46:43 AM3/22/19
to comp.mobile.nokia.8110
Well, that is good to hear Jashan.
This method is simple to follow with basic knowledge of rom editing. It will definitely useful for all KaiOS phone users who are unable to get adb-root access normally.

Jashan Grover

unread,
Mar 22, 2019, 4:58:06 AM3/22/19
to comp.mobile.nokia.8110
sorry you misunderstood the thing i was tawlking about mine recovery. yours recovery and boot giving me bootloop , tried many times.

saveNgo

unread,
Mar 22, 2019, 5:54:16 AM3/22/19
to comp.mobile.nokia.8110
@Jashan I think you are using Jio Phone LF-2403n and I have posted a ported rom for Jio Phone F120b. In boot.img as well as in recovery: /ramdisk/default.prop
file contains "ro.bootimage.build.fingerprint" parameter. Actually this checks whether boot or recovery is running on correct hardware or not. If this parameter mismatches then user will experience boot-loop on startup. This is exactly why, while porting from one rom to other rom, default.prop file has to be modified with proper care to avoid malfunction.

Veera B

unread,
Jun 21, 2019, 4:59:35 PM6/21/19
to comp.mobile.nokia.8110
I tried all the steps on f120b. When enter into recovery after this, it shows jio logo. Any help?

Ajaykumar

unread,
Jan 18, 2020, 4:18:32 AM1/18/20
to comp.mobile.nokia.8110
Please make the custom recovery for jio phone lf2403n model

Please

Ivan Alex HC

unread,
Jan 18, 2020, 8:27:34 AM1/18/20
to comp.mobile.nokia.8110
exists a guide for this https://sites.google.com/view/bananahackers/root/recovery-mode read and learn more there

Ajaykumar

unread,
Jan 18, 2020, 8:57:42 AM1/18/20
to comp.mobile.nokia.8110
I am window users so you give guide on window users.


Please

Ajaykumar

unread,
Jan 18, 2020, 9:18:17 AM1/18/20
to comp.mobile.nokia.8110
Please anyone who give me guide on windows users

Ivan Alex HC

unread,
Jan 18, 2020, 12:19:37 PM1/18/20
to comp.mobile.nokia.8110
if you're Windows user you can use the Command Prompt. You can download Abootimg from the link in the guide. The commands are the same, from linux shell or from Windows Prompt, then you can use it.

Ajaykumar

unread,
Feb 7, 2020, 11:06:06 AM2/7/20
to comp.mobile.nokia.8110
I have modified my phone LF 2403n jiophone custom recovery but its Graphics and font is very big and not readable, can you tell me how to modify graphics and fonts?

Ivan Alex HC

unread,
Feb 7, 2020, 11:50:58 AM2/7/20
to banana...@googlegroups.com
I don't know how to do this, sorry

ProgrammAbel

unread,
Feb 7, 2020, 12:58:38 PM2/7/20
to comp.mobile.nokia.8110
What custom recovery did you use? If it's Philz Touch Recovery, make sure you have the latest version from Huy Minh Bui - he seems to have fixed this problem...

Ajaykumar

unread,
Feb 7, 2020, 10:46:58 PM2/7/20
to comp.mobile.nokia.8110
No, I use simple recovery only, have replaced it with keys and adbd Gerda recovery. But the resolution of recovery of my phone is already bad. So I want to fix the resolution of Recovery can you tell me the method of Gerda recovery given above properly.

jhon steve

unread,
Mar 24, 2020, 3:01:04 AM3/24/20
to comp.mobile.nokia.8110
Will this method also works on jio phone spreadtrum models like my f271i?
Reply all
Reply to author
Forward
0 new messages