[General Questions and Answers] Ferchito:
BLU Life One X3 Rooted :D

Hi guys,

Yesterday I saw 20+ posts in the thread and figured some progress had been made....only to realize it was an epic internet battle between two productive members of this community... :eek:

But to the point - I noticed on romprovider.com someone had ported TWRP for the Blu Life One X3 and even though it is (at this point) pretty much broken, it was good enough to allow installing SuperSU on the BLOX3 and rooting it!

The link from that site contains a "guide" which it is total BS. I guess they write it automatically as soon as someone ports a new TWRP for any device, because it assumes you will be able to unlock the bootloader, flash with fastboot, etc. etc. which we already know doesn't work with this phone (the "ignored Volume UP" issue). Still, what matters is the link to the (broken but still useful TWRP) mentioned in the guide...

This is what you will need:

**XDA doesn't allow me to post outside links so I had to get creative, sorry**

1) SP Flash Tools (versions 5.16 and 5.18 both worked for me) to copy TWRP to the device (instead of using fastboot)

[search XDA to get it. I had it already and don't quite remember from where]

2) The scatter.txt file needed by SP Flash Tools to know where the discovery partition is and put TWRP there.

[I will paste the text file here at the end of the post]

3) The (broken) TWRP that somebody "ported" to the BLOX3.

[ https^^basketbuild.com^uploads^devs^yshalsager^TwrpBuilder^blu^life_one_x3^TWRP-3.2.3-life_one_x3-20180918.img ]

[ if it doesn't work get it from the guide: {Mod edit: Link to paid services website removed. Oswald Boelcke, Senior Moderator}]

4) The fantastic SuperSU tool

[ This version worked wonderfully: https^^download.chainfire.eu^1220^SuperSU^SR5-SuperSU-v2.82-SR5-20171001224502.zip ]

5) Adb installed on the computer

STEPS:

1) Get your BLU Life One X3 updated normally to the latest firmware version (so you get the latest security updates rolled out by google)

2) Go in Developer Options and Enable USB Debugging

3) Once you are on the latest which mine shows as BLU_L0150WW_V7.0.04.10_GENERIC 24-08-2018 11:09, go in Developer Options and disable "Automatic System Updates" just so you have some control on whether you want to take new updates later or not.

4) Save a text file with the scatter info I attached below and name it something you remember later, like "blox3-scatter.txt"

5) Turn the phone OFF.

6) Launch SP Flash Tools and go to the Download tab (it's the default tab). It should already point to a file in the "Download Agent" entry - Don't touch it.

On the "Scatter-loading File" entry, choose the text file you saved above, "blox3-scatter.txt" or whatever.

7) Click on the "Location" part of the row named "recovery" and choose the TWRP image file you saved in Requirement #3.

8) Make sure that ONLY the check box next to "recovery" is selected. Go ahead and click the Download button with the green down arrow (Yes, with the phone OFF and NOT PLUGGED to the computer yet)

9) It will grey out as if it is working (it's actually waiting for you to connect the phone which REMAINS OFF). Half a second after you plug it in, you should see a RED progress bar on the bottom (copying the download agent to the phone) and then a YELLOW progress bar which is copying TWRP. Then you should see the confirmation box in green and TWRP is already on the phone :D At this point you can close SP Flash Tools.

10) Turn on the phone in Recovery Mode by SIMULTANEOUSLY long-pressing POWER and VOLUME UP. When it vibrates and the BLU logo appears, release the POWER button ONLY, and 2-3 seconds later release the Volume UP. The phone should enter TWRP recovery welcome screen.

[if you mess up the buttons and the phone starts normally, it will overwrite TWRP with the stock recovery and you will have to turn it OFF again and go back to STEP 6.]

If we had a working TWRP now it would be just copying over the SuperSU file and using the Install option of TWRP to find it on the phone storage and run it, but this TWRP does not map the partitions correctly so the real /system and /data partitions of the phone are inaccessible even though TWRP is up and running. You will install SuperSU by manually fixing a couple things first and then using the Sideload option of TWRP.

11) Open a command prompt and issue

c:> adb shell

You will get a shell console on the phone. On the shell, issue these commands

#> mount -o rw /dev/block/mmcblk0p20 /system

Now if you run

#> ls -l /system

it will show the real /system partitions with a bunch of folders (before mounting it would show an empty folder with just a bin subfolder)

#> ln -s /dev/block/platform/mtk-msdc.0 /dev/block/platform/mtk-msdc.0/11230000.msdc0

this will create a symbolic link to mimic a folder structure that is expected by the Sideload command

#> exit

Exit the shell and go back to the command prompt.

12) In TWRP, go to Advanced and launch Sideload. It should show that it is waiting for the sideload process to start (from the computer). Ignore some messages in read that are from when TWRP started and couldn't find the partitions...

13) On the computer, locate the SUperSU zip you downloaded in Requirement #4 and issue the adb sideload command on the prompt, passing the zip file as argument.

c:> adb sideload SR5-SuperSU-v2.82-SR5-20171001224502.zip (or whatever path and name you gave it)

At this point you will see the SuperSU install script running on the phone and doing its magic (like patching the boot and system images to make the change permanent).

14) That's it. If the script finishes successfully you have a rooted BLU Life One X3! (I have two of them :D )

Optionally, you can remove all the crap installed by BLU. I for example chose to delete all these:

15) make sure you still have /system accessible by

adb shell

#> ls -l /system

if it is gone just mount it again with

#> mount -o rw /dev/block/mmcblk0p20 /system

and then copy and paste all this in the shell (you can do it in one copy-paste):

rm -rf /system/app/BluHTMLViewer

rm -rf /system/app/CalculatorGoogle

rm -rf /system/app/CalendarGoogle

rm -rf /system/app/YouTube

rm -rf /system/app/talkback

rm -rf /system/app/PreinstallProvider-blu

rm -rf /system/app/Photos

rm -rf /system/app/Maps

rm -rf /system/app/Messages

rm -rf /system/app/Music2

rm -rf /system/app/MusicFX

rm -rf /system/app/JapaneseIME

rm -rf /system/app/GoogleTTS

rm -rf /system/app/Gmail2

rm -rf /system/app/Drive

rm -rf /system/app/Duo

rm -rf /system/app/EasterEgg

rm -rf /system/app/DeskClockGoogle

rm -rf /system/app/GFManager

rm -rf /system/app/OfAv46u1-arm7-APIlevel16-22

rm -rf /system/app/NextRadio-5.0.2351-release

rm -rf /system/app/Videos

rm -rf /system/app/GooglePrintRecommendationService

rm -rf /system/priv-app/appcloud_oobe_blu-release_V3.8.2

rm -rf /system/priv-app/aura_care_blu-release-V3.5.1-174-production

rm -rf /system/priv-app/TagGoogle

rm -rf /system/priv-app/Velvet

16) Now just go ahead and reboot the phone into system with the corresponding TWRP option. The first boot will take longer and will loop a couple times bu that's part of the process. After booting, to verify you have root connect the phone again to the computer and do

adb shell (you will get a non-root shell with $ prompt, then run "su" to get a root shell)

$ su

# (you will get a prompt on the phone asking you to authorize the root shell)

That's it. Enjoy your rooted, BLU-crap-less Blu Life One X3! :laugh:

Common issues:

- SP Flash Tools doesn't do anything when you connect the phone (which should be OFF):

This is about the drivers, I have Windows 10 and Ubuntu 18 and in both the tool worked without installing specific drivers. If you have issues try installing specific MTK65xx drivers available on XDA.

- You managed to delete the main launcher when cleaning the crap (I did, haha) so you can't launch any app.

From an adb shell, root# or not$, issue the command

am start com.android.vending

Which will launch the Play Store and you can download another lancher :D My favorite is the Nova launcher.

If I remember any other mistake I made when trying the first time I will add it here.

Good luck! (Scatter file below)

############ Scatter file begins here (copy from line below) ###############

############################################################################################################

#

# General Setting

#

############################################################################################################

- general: MTK_PLATFORM_CFG

info:

- config_version: V1.1.2

platform: MT6753

project: kon6753_e3_65_53_n

storage: EMMC

boot_channel: MSDC_0

block_size: 0x20000

############################################################################################################

#

# Layout Setting

#

############################################################################################################

- partition_index: SYS0

partition_name: preloader

file_name: preloader_kon6753_e3_65_53_n.bin

is_download: true

type: SV5_BL_BIN

linear_start_addr: 0x0

physical_start_addr: 0x0

partition_size: 0x40000

region: EMMC_BOOT_1

storage: HW_STORAGE_EMMC

boundary_check: true

is_reserved: false

operation_type: BOOTLOADERS

reserve: 0x00

- partition_index: SYS1

partition_name: pgpt

file_name: NONE

is_download: false

type: NORMAL_ROM

linear_start_addr: 0x0

physical_start_addr: 0x0

partition_size: 0x80000

region: EMMC_USER

storage: HW_STORAGE_EMMC

boundary_check: true

is_reserved: false

operation_type: INVISIBLE

reserve: 0x00

- partition_index: SYS2

partition_name: proinfo

file_name: NONE

is_download: false

type: NORMAL_ROM

linear_start_addr: 0x80000

physical_start_addr: 0x80000

partition_size: 0x300000

region: EMMC_USER

storage: HW_STORAGE_EMMC

boundary_check: true

is_reserved: false

operation_type: PROTECTED

reserve: 0x00

- partition_index: SYS3

partition_name: nvram

file_name: NONE

is_download: false

type: NORMAL_ROM

linear_start_addr: 0x380000

physical_start_addr: 0x380000

partition_size: 0x500000

region: EMMC_USER

storage: HW_STORAGE_EMMC

boundary_check: true

is_reserved: false

operation_type: BINREGION

reserve: 0x00

- partition_index: SYS4

partition_name: protect1

file_name: NONE

is_download: false

type: EXT4_IMG

linear_start_addr: 0x880000

physical_start_addr: 0x880000

partition_size: 0xa00000

region: EMMC_USER

storage: HW_STORAGE_EMMC

boundary_check: true

is_reserved: false

operation_type: PROTECTED

reserve: 0x00

- partition_index: SYS5

partition_name: protect2

file_name: NONE

is_download: false

type: EXT4_IMG

linear_start_addr: 0x1280000

physical_start_addr: 0x1280000

partition_size: 0xa00000

region: EMMC_USER

storage: HW_STORAGE_EMMC

boundary_check: true

is_reserved: false

operation_type: PROTECTED

reserve: 0x00

- partition_index: SYS6

partition_name: lk

file_name: lk.bin

is_download: true

type: NORMAL_ROM

linear_start_addr: 0x1c80000

physical_start_addr: 0x1c80000

partition_size: 0x80000

region: EMMC_USER

storage: HW_STORAGE_EMMC

boundary_check: true

is_reserved: false

operation_type: UPDATE

reserve: 0x00

- partition_index: SYS7

partition_name: para

file_name: NONE

is_download: false

type: NORMAL_ROM

linear_start_addr: 0x1d00000

physical_start_addr: 0x1d00000

partition_size: 0x80000

region: EMMC_USER

storage: HW_STORAGE_EMMC

boundary_check: true

is_reserved: false

operation_type: INVISIBLE

reserve: 0x00

- partition_index: SYS8

partition_name: boot

file_name: boot.img

is_download: true

type: NORMAL_ROM

linear_start_addr: 0x1d80000

physical_start_addr: 0x1d80000

partition_size: 0x1000000

region: EMMC_USER

storage: HW_STORAGE_EMMC

boundary_check: true

is_reserved: false

operation_type: UPDATE

reserve: 0x00

- partition_index: SYS9

partition_name: recovery

file_name: recovery.img

is_download: true

type: NORMAL_ROM

linear_start_addr: 0x2d80000

physical_start_addr: 0x2d80000

partition_size: 0x1000000

region: EMMC_USER

storage: HW_STORAGE_EMMC

boundary_check: true

is_reserved: false

operation_type: UPDATE

reserve: 0x00

- partition_index: SYS10

partition_name: logo

file_name: logo.bin

is_download: true

type: NORMAL_ROM

linear_start_addr: 0x3d80000

physical_start_addr: 0x3d80000

partition_size: 0x800000

region: EMMC_USER

storage: HW_STORAGE_EMMC

boundary_check: true

is_reserved: false

operation_type: UPDATE

reserve: 0x00

- partition_index: SYS11

partition_name: expdb

file_name: NONE

is_download: false

type: NORMAL_ROM

linear_start_addr: 0x4580000

physical_start_addr: 0x4580000

partition_size: 0xa00000

region: EMMC_USER

storage: HW_STORAGE_EMMC

boundary_check: true

is_reserved: false

operation_type: INVISIBLE

reserve: 0x00

- partition_index: SYS12

partition_name: seccfg

file_name: NONE

is_download: false

type: NORMAL_ROM

linear_start_addr: 0x4f80000

physical_start_addr: 0x4f80000

partition_size: 0x80000

region: EMMC_USER

storage: HW_STORAGE_EMMC

boundary_check: true

is_reserved: false

operation_type: INVISIBLE

reserve: 0x00

- partition_index: SYS13

partition_name: oemkeystore

file_name: NONE

is_download: false

type: NORMAL_ROM

linear_start_addr: 0x5000000

physical_start_addr: 0x5000000

partition_size: 0x200000

region: EMMC_USER

storage: HW_STORAGE_EMMC

boundary_check: true

is_reserved: false

operation_type: INVISIBLE

reserve: 0x00

- partition_index: SYS14

partition_name: secro

file_name: secro.img

is_download: true

type: NORMAL_ROM

linear_start_addr: 0x5200000

physical_start_addr: 0x5200000

partition_size: 0x600000

region: EMMC_USER

storage: HW_STORAGE_EMMC

boundary_check: true

is_reserved: false

operation_type: UPDATE

reserve: 0x00

- partition_index: SYS15

partition_name: keystore

file_name: NONE

is_download: false

type: NORMAL_ROM

linear_start_addr: 0x5800000

physical_start_addr: 0x5800000

partition_size: 0x800000

region: EMMC_USER

storage: HW_STORAGE_EMMC

boundary_check: true

is_reserved: false

operation_type: INVISIBLE

reserve: 0x00

- partition_index: SYS16

partition_name: tee1

file_name: trustzone.bin

is_download: true

type: NORMAL_ROM

linear_start_addr: 0x6000000

physical_start_addr: 0x6000000

partition_size: 0x500000

region: EMMC_USER

storage: HW_STORAGE_EMMC

boundary_check: true

is_reserved: false

operation_type: UPDATE

reserve: 0x00

- partition_index: SYS17

partition_name: tee2

file_name: trustzone.bin

is_download: true

type: NORMAL_ROM

linear_start_addr: 0x6500000

physical_start_addr: 0x6500000

partition_size: 0x500000

region: EMMC_USER

storage: HW_STORAGE_EMMC

boundary_check: true

is_reserved: false

operation_type: UPDATE

reserve: 0x00

- partition_index: SYS18

partition_name: frp

file_name: NONE

is_download: false

type: NORMAL_ROM

linear_start_addr: 0x6a00000

physical_start_addr: 0x6a00000

partition_size: 0x100000

region: EMMC_USER

storage: HW_STORAGE_EMMC

boundary_check: true

is_reserved: false

operation_type: INVISIBLE

reserve: 0x00

- partition_index: SYS19

partition_name: nvdata

file_name: NONE

is_download: false

type: EXT4_IMG

linear_start_addr: 0x6b00000

physical_start_addr: 0x6b00000

partition_size: 0x2000000

region: EMMC_USER

storage: HW_STORAGE_EMMC

boundary_check: true

is_reserved: false

operation_type: INVISIBLE

reserve: 0x00

- partition_index: SYS20

partition_name: metadata

file_name: NONE

is_download: false

type: NORMAL_ROM

linear_start_addr: 0x8b00000

physical_start_addr: 0x8b00000

partition_size: 0x2500000

region: EMMC_USER

storage: HW_STORAGE_EMMC

boundary_check: true

is_reserved: false

operation_type: INVISIBLE

reserve: 0x00

- partition_index: SYS21

partition_name: system

file_name: system.img

is_download: true

type: EXT4_IMG

linear_start_addr: 0xb000000

physical_start_addr: 0xb000000

partition_size: 0x100000000

region: EMMC_USER

storage: HW_STORAGE_EMMC

boundary_check: true

is_reserved: false

operation_type: UPDATE

reserve: 0x00

- partition_index: SYS22

partition_name: cache

file_name: cache.img

is_download: true

type: EXT4_IMG

linear_start_addr: 0x10b000000

physical_start_addr: 0x10b000000

partition_size: 0x19000000

region: EMMC_USER

storage: HW_STORAGE_EMMC

boundary_check: true

is_reserved: false

operation_type: UPDATE

reserve: 0x00

- partition_index: SYS23

partition_name: userdata

file_name: userdata.img

is_download: true

type: EXT4_IMG

linear_start_addr: 0x124000000

physical_start_addr: 0x124000000

partition_size: 0x60000000

region: EMMC_USER

storage: HW_STORAGE_EMMC

boundary_check: true

is_reserved: false

operation_type: UPDATE

reserve: 0x00

- partition_index: SYS24

partition_name: flashinfo

file_name: NONE

is_download: false

type: NORMAL_ROM

linear_start_addr: 0xFFFF0084

physical_start_addr: 0xFFFF0084

partition_size: 0x1000000

region: EMMC_USER

storage: HW_STORAGE_EMMC

boundary_check: false

is_reserved: true

operation_type: RESERVED

reserve: 0x00

- partition_index: SYS25

partition_name: sgpt

file_name: NONE

is_download: false

type: NORMAL_ROM

linear_start_addr: 0xFFFF0004

physical_start_addr: 0xFFFF0004

partition_size: 0x80000

region: EMMC_USER

storage: HW_STORAGE_EMMC

boundary_check: false

is_reserved: true

operation_type: RESERVED

reserve: 0x00

############ Scatter file ends here (no need to include this line) ################

---------- Post added at 04:32 PM ---------- Previous post was at 04:26 PM ----------

See post #24, I got both my X3s rooted.... :D

Cheers