• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

TWRP build for Ulefone Armor 8 Pro

Search This thread

vonpupp

Member
Sep 4, 2018
7
0
Hello,

I would like to install TWRP on an Ulefone Armor 8 I just got (Android 11, Mediatek MT6771 Helio P60, Octa-core Cortex-A73, Mali-G72 MP3). The closest I could find are the files from the Armor 6 model. The phone is almost the same, I even opened an issue on github to see if it is feasible to port those configs to the Armor 8 Pro model.

Is there an unofficial or easy way to build TWRP for this model?

My ultimate goal is to replace stock with TWRP + de-googled LineageOS. I am willing to provide feedback to help official support of both projects on this phone, I need some guidance though, I have never done this.

Any help would be amazing. Thank you very much.
 
Last edited:
D

Deleted member 1890170

Guest
You cann compile TWRP at your own


or ask here for help:


 

vonpupp

Member
Sep 4, 2018
7
0
You cann compile TWRP at your own


or ask here for help:


Thank you very much. You put me into the right track. I will dig more into that.

I am very concerned if something goes wrong. If I break recovery, I will probably brick the phone. Is there a way to backup the recovery partition and "force" a recovery to that original recovery stock if needed?
 
D

Deleted member 1890170

Guest
If device's Android is rooted, and if ADB got enabled, then you can backup the Recovery partition by means of Android's dd command which is part of any Android distribution ( ToolBox, ToyBox ) and if needed, replay it with the same command.
 

vonpupp

Member
Sep 4, 2018
7
0
Thank you. Yes, the device is rooted. I tried that but I couldn't find what is the recovery partition to dump with dd since I don't know how are mapped the devices.

These are the partitions:

Code:
Armor_8_Pro:/ # cat /proc/partitions                                     
major minor  #blocks  name


   1        0       4096 ram0
   1        1       4096 ram1
   1        2       4096 ram2
   1        3       4096 ram3
   1        4       4096 ram4
   1        5       4096 ram5
   1        6       4096 ram6
   1        7       4096 ram7
   1        8       4096 ram8
   1        9       4096 ram9
   1       10       4096 ram10
   1       11       4096 ram11
   1       12       4096 ram12
   1       13       4096 ram13
   1       14       4096 ram14
   1       15       4096 ram15
   7        0      85068 loop0
   7        8       1776 loop1
   7       16     111332 loop2
   7       24        888 loop3
   7       32      24668 loop4
   7       40       5156 loop5
   7       48       3920 loop6
   7       56        980 loop7
   7       64      85068 loop8
   7       72        264 loop9
   7       80       8680 loop10
   7       88       5436 loop11
   7       96       1776 loop12
   7      104       4700 loop13
   7      112        368 loop14
   7      120     111332 loop15
254        0    4346084 zram0
   8        0       4096 sda
   8       16       4096 sdb
   8       32  124960768 sdc
   8       33       3072 sdc1
   8       34       1024 sdc2
   8       35        512 sdc3
   8       36      20480 sdc4
   8       37       1024 sdc5
   8       38      32768 sdc6
   8       39      65536 sdc7
   8       40      23144 sdc8
   8       41      32768 sdc9
   8       42       8192 sdc10
   8       43      16248 sdc11
   8       44       8192 sdc12
   8       45      49152 sdc13
   8       46       2048 sdc14
   8       47      65536 sdc15
259        0       8192 sdc16
259        1       8192 sdc17
259        2       8192 sdc18
259        3      14336 sdc19
259        4     102400 sdc20
259        5       1024 sdc21
259        6       6144 sdc22
259        7       1024 sdc23
259        8      15360 sdc24
259        9      15360 sdc25
259       10      15360 sdc26
259       11      16384 sdc27
259       12       1024 sdc28
259       13      32768 sdc29
259       14      65536 sdc30
259       15       8192 sdc31
259       16       5120 sdc32
259       17       8192 sdc33
259       18       8192 sdc34
259       19       9216 sdc35
259       20     102400 sdc36
259       21       1024 sdc37
259       22       6144 sdc38
259       23       1024 sdc39
259       24      15360 sdc40
259       25      15360 sdc41
259       26      15360 sdc42
259       27      16384 sdc43
259       28       1024 sdc44
259       29      32768 sdc45
259       30      65536 sdc46
259       31       8192 sdc47
259       32       6144 sdc48
259       33    6291456 sdc49
259       34  117642208 sdc50
259       35      44032 sdc51
259       36      16384 sdc52
253        0    1834036 dm-0
253        1     515812 dm-1
253        2    1354168 dm-2
253        3      95220 dm-3
   7      128        888 loop16
   7      136       7832 loop17
   7      144        604 loop18
   7      152       6920 loop19
   7      160       4812 loop20
   7      168      24668 loop21
   7      176       5088 loop22
   7      184       5156 loop23
   7      192       2476 loop24
   7      200       4824 loop25
   7      208      19328 loop26
253        4       4092 dm-4
253        5       4092 dm-5
253        6  117642208 dm-6

And this are the mappings:

Code:
Armor_8_Pro:/ # ls -la /dev/block/by-name/                                                                                                                                                     
total 0
drwxr-xr-x 2 root root 1300 2021-06-22 20:36 .
drwxr-xr-x 6 root root 2280 2021-06-22 20:36 ..
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 boot_a -> /dev/block/sdc29
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 boot_b -> /dev/block/sdc45
lrwxrwxrwx 1 root root   15 2021-06-22 20:36 boot_para -> /dev/block/sdc2
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 cam_vpu1_a -> /dev/block/sdc24
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 cam_vpu1_b -> /dev/block/sdc40
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 cam_vpu2_a -> /dev/block/sdc25
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 cam_vpu2_b -> /dev/block/sdc41
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 cam_vpu3_a -> /dev/block/sdc26
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 cam_vpu3_b -> /dev/block/sdc42
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 dtbo_a -> /dev/block/sdc31
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 dtbo_b -> /dev/block/sdc47
lrwxrwxrwx 1 root root   15 2021-06-22 20:36 expdb -> /dev/block/sdc4
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 flashinfo -> /dev/block/sdc52
lrwxrwxrwx 1 root root   15 2021-06-22 20:36 frp -> /dev/block/sdc5
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 gz_a -> /dev/block/sdc27
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 gz_b -> /dev/block/sdc43
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 lk_a -> /dev/block/sdc28
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 lk_b -> /dev/block/sdc44
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 logo -> /dev/block/sdc16
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 md1img_a -> /dev/block/sdc20
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 md1img_b -> /dev/block/sdc36
lrwxrwxrwx 1 root root   15 2021-06-22 20:36 md_udc -> /dev/block/sdc8
lrwxrwxrwx 1 root root   15 2021-06-22 20:36 metadata -> /dev/block/sdc9
lrwxrwxrwx 1 root root   15 2021-06-22 20:36 nvcfg -> /dev/block/sdc6
lrwxrwxrwx 1 root root   15 2021-06-22 20:36 nvdata -> /dev/block/sdc7
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 nvram -> /dev/block/sdc15
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 otp -> /dev/block/sdc51
lrwxrwxrwx 1 root root   15 2021-06-22 20:36 para -> /dev/block/sdc3
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 persist -> /dev/block/sdc13
lrwxrwxrwx 1 root root   23 2021-06-22 20:36 preloader_a -> /dev/block/mmcblk0boot0
lrwxrwxrwx 1 root root   23 2021-06-22 20:36 preloader_b -> /dev/block/mmcblk0boot1
lrwxrwxrwx 1 root root   30 2021-06-22 20:36 preloader_emmc_a -> /dev/block/by-name/preloader_a
lrwxrwxrwx 1 root root   30 2021-06-22 20:36 preloader_emmc_b -> /dev/block/by-name/preloader_b
lrwxrwxrwx 1 root root   15 2021-06-22 20:36 preloader_raw_a -> /dev/block/dm-4
lrwxrwxrwx 1 root root   15 2021-06-22 20:36 preloader_raw_b -> /dev/block/dm-5
lrwxrwxrwx 1 root root   30 2021-06-22 20:36 preloader_ufs_a -> /dev/block/by-name/preloader_a
lrwxrwxrwx 1 root root   30 2021-06-22 20:36 preloader_ufs_b -> /dev/block/by-name/preloader_b
lrwxrwxrwx 1 root root   15 2021-06-22 20:36 proinfo -> /dev/block/sdc1
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 protect1 -> /dev/block/sdc10
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 protect2 -> /dev/block/sdc11
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 scp_a -> /dev/block/sdc22
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 scp_b -> /dev/block/sdc38
lrwxrwxrwx 1 root root   14 2021-06-22 20:36 sda -> /dev/block/sda
lrwxrwxrwx 1 root root   14 2021-06-22 20:36 sdb -> /dev/block/sdb
lrwxrwxrwx 1 root root   14 2021-06-22 20:36 sdc -> /dev/block/sdc
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 sec1 -> /dev/block/sdc14
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 seccfg -> /dev/block/sdc12
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 spmfw_a -> /dev/block/sdc21
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 spmfw_b -> /dev/block/sdc37
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 sspm_a -> /dev/block/sdc23
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 sspm_b -> /dev/block/sdc39
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 super -> /dev/block/sdc49
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 tee_a -> /dev/block/sdc32
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 tee_b -> /dev/block/sdc48
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 userdata -> /dev/block/sdc50
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 vbmeta_a -> /dev/block/sdc17
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 vbmeta_b -> /dev/block/sdc33
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 vbmeta_system_a -> /dev/block/sdc18
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 vbmeta_system_b -> /dev/block/sdc34
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 vbmeta_vendor_a -> /dev/block/sdc19
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 vbmeta_vendor_b -> /dev/block/sdc35
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 vendor_boot_a -> /dev/block/sdc30
lrwxrwxrwx 1 root root   16 2021-06-22 20:36 vendor_boot_b -> /dev/block/sdc46

Unfortunately there is little information about this Armor 8 pro phone model. I tried to use virtualbox and windows to use the SP tool to get the mappings but I couldn't get it to work. Maybe since I am using virtualbox something is not working properly with the drivers. I use linux natively on my notebook.

My roadmap is:
- [X] Root the phone
- [ ] Backup the original recovery partition (in case something goes wrong)
- [ ] Build TWRP
- [ ] Test TWRP on the phone by booting to it first
- [ ] Install TWRP on the phone to replace stock recovery
- [ ] Backup original stock Android image
- [ ] Build LineageOS (Android 11)
- [ ] Install LineageOS
- [ ] Contribute back the build to the LineageOS community
 
Last edited:
D

Deleted member 1890170

Guest
By means of SP Flash Tool create a Scatter file from where you can derive location of recovery.img

Example output:
Code:
partition_index: SYS7
  partition_name: RECOVERY
  file_name: recovery.img
  is_download: true
  type: NORMAL_ROM
  linear_start_addr: 0xec0000
  physical_start_addr: 0x0
  partition_size: 0x600000
  region: NONE
  storage: HW_STORAGE_NAND
  boundary_check: true
  is_reserved: false
  operation_type: UPDATE
  d_type: 
  reserve: 0x00
 

Iwantrootpls

Member
Dec 5, 2021
13
0
I need to say that im pretty much a noob in this so theres no other way to do it with success. I have tried to find professional services without luck. I could even pay some money if that helps you help me.
 

lopestom

Senior Member
Nov 7, 2012
758
500
Archland - Narnia
mewe.com
the official rom download page from ulefone only has 6gb version in it. thats a big difference?
8gb and 128g version
We have stock ROM for 8G. May be the model about EU or Non-EU that's a doubt now.

The device must ALWAYS be handled with the bootloader unlocked!


I am not responsible for any wrong attitude or action of the user. Keep in mind to perform all backups of your device mainly of NvRam, NvData and NvCfg files so that in the future you don't have a headache.

If you want only ROOT: you need the boot.img from stock ROM. Install last magisk (I think is v23) and you can look about patch boot.img. The steps is easy because magisk pacth boot.img and create a new file like pacth_boot.img or other name.
You need flash the pacth_boot.img with fastboot or SPFT.
More info here orr here.

Other way but not principal is about Custom Recovery like TWRP so we have one but it's ALPHA testing.
 

Iwantrootpls

Member
Dec 5, 2021
13
0
We have stock ROM for 8G. May be the model about EU or Non-EU that's a doubt now.

The device must ALWAYS be handled with the bootloader unlocked!


I am not responsible for any wrong attitude or action of the user. Keep in mind to perform all backups of your device mainly of NvRam, NvData and NvCfg files so that in the future you don't have a headache.

If you want only ROOT: you need the boot.img from stock ROM. Install last magisk (I think is v23) and you can look about patch boot.img. The steps is easy because magisk pacth boot.img and create a new file like pacth_boot.img or other name.
You need flash the pacth_boot.img with fastboot or SPFT.
More info here orr here.

Other way but not principal is about Custom Recovery like TWRP so we have one but it's ALPHA testing.
how do find that out? about the phone says nothing about that
 

Iwantrootpls

Member
Dec 5, 2021
13
0
We have stock ROM for 8G. May be the model about EU or Non-EU that's a doubt now.

The device must ALWAYS be handled with the bootloader unlocked!


I am not responsible for any wrong attitude or action of the user. Keep in mind to perform all backups of your device mainly of NvRam, NvData and NvCfg files so that in the future you don't have a headache.

If you want only ROOT: you need the boot.img from stock ROM. Install last magisk (I think is v23) and you can look about patch boot.img. The steps is easy because magisk pacth boot.img and create a new file like pacth_boot.img or other name.
You need flash the pacth_boot.img with fastboot or SPFT.
More info here orr here.

Other way but not principal is about Custom Recovery like TWRP so we have one but it's ALPHA testing.
also i cant find my boot.img file that i need to patch later
 

lopestom

Senior Member
Nov 7, 2012
758
500
Archland - Narnia
mewe.com
product name= "Ulefone_Armor_8_Pro_8GB_EEA"
Maybe is there a chance i could do these steps with a second mobile phone (samsung s9) and an usb stick (without use of computer)?
Search: https://drive.google.com/drive/folders/1qT2jMCCTt9Q4PBkBlqU1tg5SeIiFvlqP


Update Official Ulefone Armor 8 Pro version: GQ3090RH5_KSXP60_Ulefone_EEA_20210826_V01 – X70HEWS88C7.GQU.Ulefone_EEA.HB.FHJ.AZVF.20210826.V3.01

full_k71v1_64_bsp-user 11 RP1A.200720.011 ( 8G Ram + 128G Rom )
 
Last edited: