[GUIDE]Porting TWRP without source

Search This thread

peshmarga

Member
Jan 12, 2016
12
1
Erbil
Redmi K20 Pro
great tutorial I ported successfully for my device but i have a problem with it
when i try to enter twrp recovery it works good but it says
Failed to mount '/data' (Invalid argument)
Unable to mount Storage

please help me with this problem
and (Internal Storage shows (0MB) )
 
Last edited:

eginugraham

Senior Member
May 6, 2017
61
3
So, i kept getting messages about device has failed verification whenever i tried to boot into my recovery. I am new to this so i dont know whad needs to be done.
Do i need to disable dm verity, by modifying boot.img? If thats the case how do i remove verity from it? Because i tried to search something like that, the tutorial said to remove something like "wait, verify" but there are none of that line in my boot image. Could anyone give insight on what i should do? Would be appreciated thanks.
 

Attachments

  • IMG_20190722_054034.jpg
    IMG_20190722_054034.jpg
    258.6 KB · Views: 157

eginugraham

Senior Member
May 6, 2017
61
3
@Alecxs
Unfortunately i don't have root access

*edit

I see, you can use magisk app to patch it, thanks

Edit**
After i manage to patch boot.img, then i flashed it using sp flash tool, reboot, same result, still can't verify

**
Im not sure if my device bootloader already unlock or not
 

Attachments

  • Untitledd.png
    Untitledd.png
    10.9 KB · Views: 181
Last edited:

rajeshca911

Senior Member
Mar 12, 2014
123
32
Vizag
Samsung M40 Recovery port issue

Dear Dev
Im using Samsung M405f aka M40 [ soc :Snap Dragon 675 and Res: 1080x2340 px, 409 PPI] same as Xiaomi Redmi Note 7 Pro

Stock-M405F Recovery
Redmi-Note-7-TWRP

I have followed your steps and to my surprise, I did not find fstab.xxx in my stock recovery. I skipped the step 16.B since i did not have any fstab files except recovery.fstab later I repacking my recovery.img and converted into recovery.img.tar using 7zip to make it odin flashable. after Successfully flashing I rebooted into recovery by pressing Vol+ and power button and to my surprise it boot into stock recovery which I have not expected.
I request you to inspect both the official twrp of another device and my stock recovery , so that there would be a clear picture of things to consider while building twrp for my device which would very help for script buddies like me
 

lboriginaltattoo

New member
Sep 12, 2019
1
0
Help walmarts onn tablet is frp locked

im kinda fresh to flashing and have not really used twrp to alter any devices OS. I tried following along with this guild in hopes that id find a soulution in getting passed this frp. but to no avail im still looking at a high-tech paper weight. could maybe someone help me. I don't know what version android it is running and when I try to factory reset it I get a menu written in my guess would be maybe Korean. model number is ona19tB007
 

tanjir.h

Senior Member
Mar 14, 2018
98
23
Khulna
Dear @Augustoandro Sir,
Successfully ported a TWRP from Redmi Note 5 Pro to my MI 8 SE. Everything pretty much works flawlessly but only issue I've got is that my PC detects my device as Redmi Note 5 Pro and not as MI 8 SE when in TWRP recovery mode. Any way to fix that? Thanks.
 
Last edited:

Jjc1492

New member
Oct 22, 2019
1
0
Twrp for vivo y15 2019

Can anyone make a flashable twrp(to be installed using sp flashtool) for my device? please...
 
Hi @Augustoandro, is there anything specific about the twrp.img's you have linked in OP that makes them more usable than others ? I'm asking because I need to find an img that has FBE support. The forced encryption disabler is not disabling file based encryption,at least not for me anyway. Device is a Huawei MediaPad T3 8 KOB-W09, any suggestions on working with FBE while porting ?
 

Augustoandro

Senior Member
Jun 20, 2017
569
266
Pune
Micromax IN Note 1
Hi @Augustoandro, is there anything specific about the twrp.img's you have linked in OP that makes them more usable than others ? I'm asking because I need to find an img that has FBE support. The forced encryption disabler is not disabling file based encryption,at least not for me anyway. Device is a Huawei MediaPad T3 8 KOB-W09, any suggestions on working with FBE while porting ?
The devices in the OP are Nexus device TWRPs which give the least number of errors while porting, according to my experience.
There is only forced encryption disabler zip in my knowledge so I can't provide you with any other way.
Also, the Nexus device TWRPs are able to remove forced encryption by using the forced encryption disabler zip, it never failed in my case.

HIT THANKS IF FOUND USEFUL
 
The devices in the OP are Nexus device TWRPs which give the least number of errors while porting, according to my experience.
There is only forced encryption disabler zip in my knowledge so I can't provide you with any other way.
Also, the Nexus device TWRPs are able to remove forced encryption by using the forced encryption disabler zip, it never failed in my case.

HIT THANKS IF FOUND USEFUL

Thanks, what I'm running into is an issue with FBE that keeps coming back. File-Based-Encryption is becoming harder for me to stop than Full-Disk-Encryption was. It's only /userdata that is encrypted so I was thinking /etc/fstab but it's not there. Guessing it has to be in one of the defaults that recovery calls for or possibly an init file. Looks like I've got some studying to do.
 

Garlayn toji

New member
Apr 10, 2019
1
0
TWRP - j5xnlte - TWRP not working

Hi, I have a big problem. I ported TWRP for j5xnlte. I know there is an official TWRP recovery for this phone, but I wanted to port TWRP for Port training.

Now, none of the TWRP functionalities. I can't select USB OTG or external SD when I can, as the Install, Backup or Restore function. I can't boot into system, I can boot only in recovery and Bootloader. However, Bootloader doesn't work. Using Odin is not possible to flash another recovery, because Odin doesn't see my phone when connected to my computer. When I launch ADB Sideload, I return in the TWRP main menu. Terminal is useless.

I'm out of ideas. My phone is currently out of service. Please help me. There is a photo of the logs when I click on the bottom right button.
view


Edit : If you can't see the picture, contact me on Discord (Garlayn toji#7270). To prevent flood, I will not post my e-mail adress here.

Edit 2 : Here are the logs :
Can not create '/usb-otg' folder (Permission denied)
Can not create '/external_sd' folder (Permission denied)
Can not create '/efs' folder (Permission denied)
Can not create '/persdata' folder (Permission denied)
Can not create '/preload' folder (Permission denied)
E: Error creating fstab

Updating partition details...
Error opening: '/data' (Permission denied)
Failed to mount '/efs' (No such file or directory)
Failed to mount '/preload' (No such file or directory)

...done
E: Error creating fstab
E: uevent not root

Full SELinux support is present.
E:
MTP Enabled

Edit 3 : My bootloader wasn't broken. So I flashed Samsung official firmware and flashed the official TWRP for the j5xnlte.
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 41
    Yes, I know XDA is filled with such guides.
    But you can only port a TWRP if you implement parts of all the guides.
    This guide is a summation of all those guides.

    NOTE:
    I would be using AIK-Linux in this tutorial, since I don't recommend Windows for all this, who knows what problems you will get into.

    REQUIREMENTS:
    1.Download these TWRP recoveries in accordance with your screen resolution.
    A. If your screen resolution is 480x850, 480x854; download
    https://twrp.me/lg/lgnexus4.html
    B. If your screen resolution is 720x1280, 800x1280 or 720xsomething; download
    https://twrp.me/asus/asusnexus720123g.html
    C. If your screen resolution is 1080x1920, download
    https://twrp.me/motorola/motorolanexus6.html
    2. Download Android Image Kitchen-Linux from this thread:
    https://xdaforums.com/showthread.php?t=2073775

    LET'S BEGIN:
    1. Unzip Android Image Kitchen zip file.
    3. Now, navigate to the unzipped folder of AIK (Android Image Kitchen).
    4. Just Right Click and select "Open Terminal here".
    5. Copy and paste your stock recovery.img and paste it in AIK folder.
    6. In the terminal, type the command
    Code:
    su
    Enter your root password, then type
    Code:
    ./unpackimg.sh
    7. This will unpack your stock recovery.img. Do not close the terminal.
    8. Cut the new folders, ramdisk and split_img, and paste them somewhere outside of AIK folder.
    9. Remove the stock recovery.img in AIK folder.
    10. Now, copy and paste the twrp_recovery.img according to your screen resolution in the AIK folder.
    11. Now, revert back to the terminal and type
    Code:
    ./unpackimg.sh
    12. This will unpack your twrp_recovery.img
    13. Delete all the files in the new split_img folder we got by unpackimg twrp_recovery.img
    14. Copy and paste all the files in stock split_img folder to the new split_img folder.
    15. Delete following files from new ramdisk folder.
    A. default.prop
    B. fstab.devicename_or_chipsetname
    C. ueventd.rc
    D. Any other file like ueventd.devicename.rc
    16. Copy and paste these files from stock ramdisk folder to new ramdisk folder.
    Code:
    default.prop
    fstab.devicename
    ueventd.rc
    17. Now go into stock ramdisk/etc folder and copy recovery.fstab
    18. Paste the recovery.fstab file in new ramdisk/etc folder.
    19. Edit the twrp.fstab file according to the newly pasted recovery.fstab
    20. You will have to replace"/sdcard" with "/external_sd" and "/usb" with "/usb-otg".
    21. If the partitions stated above are not available in your fstab files then add these lines. Order may change on the format in which the files are written.
    Code:
    /external_sd          vfat         /dev/block/mmcblk1p1  flags=removable;storage;display="SDCARD"
    /usb-otg                auto         /dev/block/sda1    flags=removable;storage;display="USB-OTG"
    22. Edit the following lines as shown in default.prop
    Code:
    ro.secure=0
    ro.adb.secure=0
    security.perf_harden=0
    ro.debuggable=1
    persist.sys.usb.config=adb,mtp
    23. Now, come out of the ramdisk folder and open the terminal.
    24. Type
    Code:
    ./repackimg.sh
    25. Your new TWRP img would be generated and named as image-new.img by default. You may change the name later.

    When you have successfully built the TWRP, or if you want to request one instead of creating yourself, contact me on this thread:
    https://xdaforums.com/android/general/unofficial-twrps-devices-source-code-t3833338


    SPECIAL INSTRUCTIONS FOR MEDIATEK DEVICES:
    1. The recovery.fstab you will get after unpacking your stock recovery.img would be flawed in most cases. I believe OEMs do this deliberately.
    2. In order to know which partition is mounted at which location and at which device, you'll need DiskInfo (Install it from Play Store) and a root explorer.
    3. Enable the following Diskinfo settings:
    Code:
    Show mount path
    Show partition name
    Show file system
    Expert mode
    Unmounted partitions
    Device Mapper partitions
    Temporary filesystems

    4. Use the root explorer to find the path of your partitions. They would be located under /dev (mtk devices have bootimg and recovery here generally) and some other partitions like /system, /cache would be deeper inside.
    5. You can trace their exact locations by navigating within the /dev directory for partition names like mmcblk0p5.


    SPECIAL INSTRUCTIONS FOR DEVICES THAT DON'T HAVE RECOVERY.FSTAB WITHIN STOCK RECOVERY.IMG
    1. In the ramdisk/etc folder, there might be a dummy recovery.fstab file with the symbol of link on it.
    2. Right click on the file and select "Show Target". You'll get to know the path of original recovery.fstab file. It might be within the unpacked recovery or inside some other partition on your phone.
    For example: Honor 7C devices have their recovery.fstab in /vendor/etc folder.

    TROUBLESHOOTING INSTRUCTIONS:
    1. If you get a dm-verity error or facing an encryption problem, go to this thread and flash the "dm-verity and forceencrypt disabler zip".
    https://xdaforums.com/android/software/universal-dm-verity-forceencrypt-t3817389
    2. If you encounter a bootloop while booting into your new TWRP, please consult post #20 of this thread.
    3. At times, the path of partitions during recovery boot is not the same as those during normal boot. That's why you may get errors like
    Code:
    Updating partitions details...
    Failed to mount '/cache' (Invalid argument)
    Failed to mount '/system' (Invalid argument)
    Failed to mount '/data' (Invalid argument)
    Failed to mount '/metadata' (Invalid argument)
    ...done
    Unable to mount storage
    Failed to mount '/data' (Invalid argument)
    To resolve this, in your TWRP terminal type the following command
    Code:
    find /dev/block -name by-name
    Replace the paths of the partitions in your fstab files with the ones you get as output using the command above (only the partitions which failed to mount).

    If there are some bugs or you need some assistance in porting TWRP, contact me by mentioning in your post, for example @Augustoandro, we'll work on it to make it bug-free.

    Special thanks to @aIecxs for his troubleshooting instructions of bootloop, "Failed to mount /partition_name (invalid argument)" error and also @inguna for guiding me on how to fix the "SDCARD not detected by the TWRP" problem and also fixing the MTP, ADB not working issue.
    Another thanks to @seanybiker and @avirus for their troubleshooting instructions on "DM-Verity and forceencrypt" errors.

    CREDITS:
    @HostZero for his porting guide.
    @osm0sis for his awesome Android Image Kitchen
    @Zackptg5 for his "DM-Verity and Forceencrypt disabler zip".
    4
    Can't find fstab.devicename in stock ramdisk folder. btw phone is samsung a41 (sm-a415f) @Augustoandro
    This happens sometimes. Some devices directly reference the recovery.fstab file instead of fstab.devicename.
    Edit the rest of the files and proceed further.

    HIT THANKS IF FOUND USEFUL
    3
    @JLowe
    I apologize for the delay in replying.

    1. The topmost part
    Code:
    #<src> <mnt_point> <type> <mnt_flags>
    has already been commented out by "#", so leave it as it is.
    2. For listing the system partition in fstab files, always use "/system".
    3. Always include all entries from the stock recovery.fstab in your TWRP recovery.fstab and edit your twrp.fstab in accordance with it.
    4. Whatever partititon is not available in your stock, never include it in your TWRP fstab (applies to both recovery.fstab and twrp.fstab). If you can't find a partition neither in your stock fstab nor via DiskInfo , it just means those partitions don't exist on your device.
    5. Never include files not available in your stock recovery to your TWRP.

    HIT THANKS IF FOUND USEFUL
    2
    Thanks a lot @Augustoandro! IMHO this is by far the easiest guide for porting TWRP to unsupported devices. Keep it up!
    2
    Hi I tried to Port a Recovery for my H96 Max RK3399 TV Box .
    I used TWRP From My RK3328 TVBox.
    I can Boot in Recovery, but its not Mounting any Partition (everywhere 0MB)
    I Think the problem is in .Fstab File but I am Not sure.
    I would appreciate help

    Sorry for my poor English
    Partitions not being recognized means the problem is in fstab files. Both recovery.fstab and twrp.fstab need to be edited.
    I am sure of it.

    HIT THANKS IF FOUND USEFUL