Code:
disclaimer
/*
* Your warranty is... still valid?
*
* I am not responsible for bricked devices, dead SD cards,
*/
Hello
This Guide to make Dual-Boot for P20 lite that keep Stock rom untouched and install any GSI. It allows two Android os installed at the same time and switch between them using SHRP Recovery for dual boot.
This method tested and worked on P20 lite (ANE LX1), Watch this video
Spoiler: General information
This done by creating a new system partition using Parted (shrink userdata partition and creat the new system partition)
To Boot from the new system partition: change the name of the new system partition to "system" and the name of old system partition to any name e.g. "system-b"
To Boot from the old system partition: change the name of the old system partition to "system" and the name of new system partition to any name e.g. "system-b"
Dual boot for P20 lite - demonstration video (I am using SHRP RECOVERY (like TWRP) with tweaks to change boot partition easily, instead of writing terminal commands. This a video shows the dual boot process)
Requirements
TWRP/SHRP
Parted (attached arm64, unzip the file)
Latest fastboot and ADB commands installed
Backup all your data because you will make a factory reset and format data partition
Steps:
Boot to TWRP/SHRP
Run the following commands
Code:
adb push /path/to/parted /sbin/parted
adb shell
chmod 777 /sbin/parted
parted /dev/block/mmcblk0
p free
3- it will show the list of partition "save this you may use it later". remember the number of old system partition which is in my case "52"
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
4- remove "userdata" partition which in my case number 59 using the following command
Code:
rm 59
5- create the new system partition (partition number 59 in my case ) using the following command
Code:
mkpart name fs_type start end
name: name of new partition e.g "system-b"
fs_type: file system type e.g "ex4"
start: the end value in MB of the previous partition, in my case "7153MB"
end: equal to start + size where size will be the size of the target partition. in my case in need 4GB partition so end=7153MB + 4GB =11153MB
In my case I'll type:
Code:
mkpart system-b ext4 7153MB 11153MB
set 59 msftdata on
name 59 system-b
6- create the "userdata" partition (partition number 60 in my case, start= 11153MB )
In my case I'll type:
Code:
mkpart userdata ext4 11153MB 31.3GB
set 60 msftdata on
name 60 userdata
7- get the new partition list
Code:
p free
8- exit
Code:
quit
9- format userdata and the new system partition using "mkfs.type /dev/block/mmcblk0pxx" (in my case partition number 59 and 60). you may need to reboot to stock recovery to make factory reset
Code:
adb push /path/to/mkfs.ext4 /sbin/mkfs.ext4
adb shell
chmod 777 /sbin/mkfs.ext4
mkfs.ext4 /dev/block/mmcblk0p59
mkfs.f2fs /dev/block/mmcblk0p60
10- You can now switch between two systems using either of these two methods
Spoiler: Using SHRP Recovery
SHRP is a beautiful TWRP-based recovery with modern UI, custom layout, useful functions, and more.
In this method you must have "System" and "System-b" partitions, other names not accepted
1- Download SHRP Recovery for DUAL Boot from here
2- Flash it on recovery_ramdisk or erecovery_ramdisk
3- from the main screen choose tweaks
A- Active new system partition and new data profile
(Important Note: Now "System partition" is the new created partition and "System-b partition" is the default system partition)
B- Active default system partition and default data profile
(Important Note: Now "System partition" is the default system partition and "System-b partition" is the new created partition)
Reboot before make any change
Spoiler: manually
A- To Boot from your new system partition > boot to twrp and run the following command
Code:
adb push /path/to/parted /sbin/parted
adb shell
chmod 777 /sbin/parted
parted /dev/block/mmcblk0
name 52 system-b
name 59 system
or from TWRP terminal write the following
Code:
parted -s /dev/block/mmcblk0 name 52 system-b
parted -s /dev/block/mmcblk0 name 59 system
change the number 52 and 59 according to your partition list (in my case 59: new system partion, 52 old system partition ). Then reboot TWRP and flash your new android os
B- To Boot from your old system partition > boot to twrp and run the following command
Code:
adb push /path/to/parted /sbin/parted
adb shell
chmod 777 /sbin/parted
parted /dev/block/mmcblk0
name 59 system-b
name 52 system
or from TWRP terminal write the following
Code:
parted -s /dev/block/mmcblk0 name 59 system-b
parted -s /dev/block/mmcblk0 name 52 system
change the number 52 and 59 according to your partition list (in my case 59: new system partion, 52 old system partition ). Then reboot
-------------------------------------------------------
Google Chrome may lag on the new data profile use this method to solve this problem
Abdelhay.ali said:
Code:
disclaimer
/*
* Your warranty is... still valid?
*
* I am not responsible for bricked devices, dead SD cards,
*/
Hello
This Guide to make Dual-Boot for P20 lite that keep Stock rom untouched and install any GSI. It allows two Android os installed at the same time and switch between them using SHRP Recovery for dual boot.
This method tested and worked on P20 lite (ANE LX1), Watch this video
Spoiler: General information
This done by creating a new system partition using Parted (shrink userdata partition and creat the new system partition)
To Boot from the new system partition: change the name of the new system partition to "system" and the name of old system partition to any name e.g. "system-b"
To Boot from the old system partition: change the name of the old system partition to "system" and the name of new system partition to any name e.g. "system-b"
Dual boot for P20 lite - demonstration video (I am using SHRP RECOVERY (like TWRP) with tweaks to change boot partition easily, instead of writing terminal commands. This a video shows the dual boot process)
Requirements
TWRP/SHRP
Parted (attached arm64, unzip the file)
Latest fastboot and ADB commands installed
Backup all your data because you will make a factory reset and format data partition
Steps:
Boot to TWRP/SHRP
Run the following commands
Code:
adb push /path/to/parted /sbin/parted
adb shell
chmod 777 /sbin/parted
parted /dev/block/mmcblk0
p free
3- it will show the list of partition "save this you may use it later". remember the number of old system partition which is in my case "52"
View attachment 5781191
4- remove "userdata" partition which in my case number 59 using the following command
Code:
rm 59
5- create the new system partition (partition number 59 in my case ) using the following command
Code:
mkpart name fs_type start end
name: name of new partition e.g "system-b"
fs_type: file system type e.g "ex4"
start: the end value in MB of the previous partition, in my case "7153MB"
end: equal to start + size where size will be the size of the target partition. in my case in need 4GB partition so end=7153MB + 4GB =11153MB
In my case I'll type:
Code:
mkpart system-b ext4 7153MB 11153MB
set 59 msftdata on
name 59 system-b
6- create the "userdata" partition (partition number 60 in my case, start= 11153MB )
In my case I'll type:
Code:
mkpart userdata ext4 11153MB 31.3GB
set 60 msftdata on
name 60 userdata
7- get the new partition list
Code:
p free
View attachment 5781193
8- exit
Code:
quit
9- format userdata and the new system partition using "mkfs.type /dev/block/mmcblk0pxx" (in my case partition number 59 and 60). you may need to reboot to stock recovery to make factory reset
Code:
adb push /path/to/mkfs.ext4 /sbin/mkfs.ext4
adb shell
chmod 777 /sbin/mkfs.ext4
mkfs.ext4 /dev/block/mmcblk0p59
mkfs.f2fs /dev/block/mmcblk0p60
10- You can now switch between two systems using either of these two methods
Spoiler: Using SHRP Recovery
SHRP is a beautiful TWRP-based recovery with modern UI, custom layout, useful functions, and more.
In this method you must have "System" and "System-b" partitions, other names not accepted
1- Download SHRP Recovery for DUAL Boot from here
2- Flash it on recovery_ramdisk or erecovery_ramdisk
3- from the main screen choose tweaks
View attachment 5781195
A- Active new system partition and new data profile
View attachment 5781197
(Important Note: Now "System partition" is the new created partition and "System-b partition" is the default system partition)
B- Active default system partition and default data profile
View attachment 5781199
(Important Note: Now "System partition" is the default system partition and "System-b partition" is the new created partition)
Reboot before make any change
Spoiler: manually
A- To Boot from your new system partition > boot to twrp and run the following command
Code:
adb push /path/to/parted /sbin/parted
adb shell
chmod 777 /sbin/parted
parted /dev/block/mmcblk0
name 52 system-b
name 59 system
or from TWRP terminal write the following
Code:
parted -s /dev/block/mmcblk0 name 52 system-b
parted -s /dev/block/mmcblk0 name 59 system
change the number 52 and 59 according to your partition list (in my case 59: new system partion, 52 old system partition ). Then reboot TWRP and flash your new android os
B- To Boot from your old system partition > boot to twrp and run the following command
Code:
adb push /path/to/parted /sbin/parted
adb shell
chmod 777 /sbin/parted
parted /dev/block/mmcblk0
name 59 system-b
name 52 system
or from TWRP terminal write the following
Code:
parted -s /dev/block/mmcblk0 name 59 system-b
parted -s /dev/block/mmcblk0 name 52 system
change the number 52 and 59 according to your partition list (in my case 59: new system partion, 52 old system partition ). Then reboot
-------------------------------------------------------
Click to expand...
Click to collapse
Hi.
I see from the video that you have riceos and evolution. How can I get these roms for the p20 lite. Also how are these roms?
ancient12 said:
Hi.
I see from the video that you have riceos and evolution. How can I get these roms for the p20 lite. Also how are these roms?
Click to expand...
Click to collapse
From here
Android 13 for P20 lite (Tested GSIs)
Here are recent A13 GSIs that booted and worked on my P20 lite Hi6250 Requirements: You can flash SHRP recovery that have all the requirements to make Android 13 boot normally (including permissive kernel, decrypt data, selinux fix, AIO fix and...
forum.xda-developers.com
Hi,
Is it possible to enable the A/B system updates feature on our devices with this method?
art0001 said:
Hi,
Is it possible to enable the A/B system updates feature on our devices with this method?
Click to expand...
Click to collapse
I think you have to implement it from the scratch like "OTA update" by phh. The new update should be flashed to the new system partition "system-b" then change it's name to "system"
Related
Hi
this is from the BoardConfig.mk
Code:
# fix this up by examining /proc/mtd on a running device
BOARD_BOOTIMAGE_PARTITION_SIZE := 0x105c0000
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 0x105c0000
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 0x105c0000
BOARD_USERDATAIMAGE_PARTITION_SIZE := 0x105c0000
BOARD_FLASH_BLOCK_SIZE := 131072
I want to find the actual size partition adb shell cat /proc/mtd" or "adb shell cat /proc/emmc" or "adb shell cat /proc/dumchar_info" doesn't work !
Steps:
*root your device;
*install TWRP or CWM for your device ;
*install busybox tools ( Busybox Free Goolge Play);
After this, enter to recovery mode. Mount /system into TWRP or CWM.
Plug USB cabe, and in your computer input these commands:
adb devices --> verify if device is connected
Now, install parted into /system/bin:
adb push <path-to-file>/parted /system/bin
Now, insert this command:
parted /dev/block/mmcblk0 unit B print
The output is similar :
Code:
~ # parted /dev/block/mmcblk0 unit B print
Model: MMC 008GE0 (sd/mmc)
Disk /dev/block/mmcblk0: 7818182656B
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 4194304B 6291455B 2097152B MRD
2 6291456B 8388607B 2097152B MRD_BK
3 8388608B 10485759B 2097152B MEP2
4 10485760B 31457279B 20971520B ext4 EFS
5 31457280B 46137343B 14680064B Reserved
6 46661632B 48234495B 1572864B LOKE_2ND
7 48758784B 50331647B 1572864B LOKE_1ST
8 50331648B 67108863B 16777216B PARAM
9 67108864B 83886079B 16777216B RECOVERY
10 83886080B 100663295B 16777216B KERNEL
11 100663296B 125829119B 25165824B MODEM
12 125829120B 142606335B 16777216B ext4 NVM
13 142606336B 352321535B 209715200B ext4 HIDDEN
14 352321536B 713031679B 360710144B ext4 CACHE
15 713031680B 2307915775B 1594884096B ext4 SYSTEM
16 2307915776B 7817134079B 5509218304B ext4 USER
Use the column size to fill in the BoardConfig values.
The first column it refers to the mount point.
Ex.: the kernel partition has 16.777.216 bytes mounted in /dev/block/mmcblk0p10
Links references:
http://forum.xda-developers.com/showthread.php?t=2450045
http://stackoverflow.com/questions/...ormation-for-android-device/15639867#15639867
http://forum.xda-developers.com/attachment.php?attachmentid=2397268&d=1384688569
naufragoweb said:
Now, install parted into /system/bin:
adb push <path-to-file>/parted /system/bin
Click to expand...
Click to collapse
Path to.. what file?
Nicofisi said:
Path to.. what file?
Click to expand...
Click to collapse
Path to the "parted" file in your PC
Ultimate Guide to Re-partition Nokia X/XL
(Increase System & Data size)
Code:
#include
/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*/
Disclaimer:
By doing this, of course your warranty is now void, This method is VERY ADVANCED, I don't recommend newbies & beginners to do it, You may BRICK your device !
FIRST read to the end then do it !! I am not responsible for the "BRICKs".
If you have any question before doing this method i'll be happy to answer you in comments below.
Before doing anything make sure to do FULL DD Backup of your mobile, to restore it if anything went wrong.
Check @mdfzhi Guide Here
Part 1: Information:
Nokia X/XL have 3.9 GB EMMC Storage (26 Partition), System is 560 MB , Data is 1.1 GB and Internal Storage is 1.2 GB.
Nokia X Partitions & Blocks:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Nokia XL Partitions & Blocks:
by looking to this table, we don't know about These Partitions (p1-p2-p4-p5-p6-p7-p8-p9-p10-p11-p12-p13-p15-p20-p24-p26) Mounts, So before doing anything YOU HAVE TO BACKUP Them.
The Main idea of Re-partitioning:
Increasing some partitions size by decreasing some others, WITHOUT dealing with any partition we don't know.
So you can control size of: System - Cache -Data - Storage - Preload
Open my Partitions Table Here and look:
Choose your mobile then Read
I have two MODs:
1- 2.30 GB Data With 150MB.
2- 950 MB System + 2.30 GB Data With 150MB.
In these MODs i didn't changed any partition size except ones i have marked.
How to Calculate Size of Any partition?
End - Start = Total (Number of blocks)
Total * 8 = Blocks (Size in Blocks)
Blocks / 1024 = Size in MB
Editing Partitions Sizes:
In order to edit any partition size you need to delete all partitions before it.
Ex. To edit Storage (p21) i have to delete partitions from p26 to p21.
Then you'll create them again with modified sizes.
The next step is set each partition ID like table (YOU CAN'T CHANGE ANY ID)
Final step is Syncing Partitions table & Apply changes.
Lets GO !
You'll need to:
- Many spare times to read and follow this tutorial.
- Your phone with battery not below 50%.
- Any Custom Recovery as long as it can unmount all partitions & use adb (Make Sure Recovery won't reboot suddenly)
I have done it with TWRP 3.0.2-0 Recovery - I think Miui Recovery is good choice also.
Download Miui Recovery Here
- A reliable PC with Nokia X/XL Drivers & ADB installed.
Drivers on Windows/Linux/Mac Here
Download ADB & Fastboot Here
- A reliable USB cable.
- About 700 MB Free space in SD Card.
- Choose MOD you'll do as you like. (But READ the two before DOING ANYTHING)
Part 2: Re-Partitioning:
Copy All Commands & Sizes From My Excel Sheet
MOD 1: Increase System To 950 MB & Data Size to 2.30 GB (The Best !)
Nokia XL
Nokia X
http://i.imgur.com/EYcizum.png
We'll Re-partition all partitions from p18 to p26) with sizes in above picture, to make System 950 MB - Data 2.30 GB - Internal Storage 150 MB & Preload 30 MB - Check Page 3 in Partition Table.
A-Preparing:
1- Copy whole data from Internal Storage to SD Card or PC
2- Boot to Custom Recovery then Unmount all partitions except SD Card.
3- Connect phone to PC via USB cable then open ADB tools (Shift + Right Click in ADB Folder - select Open CMD.
4- Type
Code:
adb shell
you'll see # sign, Now type
Code:
fdisk -l /dev/block/mmcblk0
5- You'll see your partitions table, make sure it's like "First Page in Partition Table"
Nokia XL
Nokia X
B-Backing Up Unknown Partitions :
1- Backup Partitions from 23 to 26, type:
Code:
dd if=/dev/block/mmcblk0p20 of=/sdcard/mmcblk0p20.img
dd if=/dev/block/mmcblk0p23 of=/sdcard/mmcblk0p23.img
dd if=/dev/block/mmcblk0p24 of=/sdcard/mmcblk0p24.img
dd if=/dev/block/mmcblk0p25 of=/sdcard/mmcblk0p25.img
dd if=/dev/block/mmcblk0p26 of=/sdcard/mmcblk0p26.img
2- Make sure this backup stored in SD Card not Internal Storage.
C-Re-Partitioning-Deleting Partitions:
1- Continue in ADB, type:
Code:
busybox fdisk /dev/block/mmcblk0
2- We'll use "d" command to delete partitions from 26 to 21
Type each line command below then hit enter after every command
Code:
d
26
d
25
d
24
d
23
d
22
d
21
d
20
d
19
d
18
D-Re-Partitioning-Creating New Partitions:
1- Now we'll use "n" command to create new partitions with modified sizes, command usage:
n - Enter: To start creating new partition.
Start block - Enter: First cylinder of partition.
End block- Enter: Last cylinder of partition.
2- Continue in ADB After last command, type:
Code:
n
16931
134688
n
134690
147487
n
147489
147491
n
147493
166690
n
166692
452514
n
452516
464674
n
464676
465954
n
465956
469794
n
469796
477184
E-Re-Partitioning-Set New Partitions Type:
1- Now we'll use "t" command to set new partitions type as (Original Partition Table) with modified sizes, command usage:
t - Enter: Start Partition Type Modification.
Partition Number - Enter: Choose Partition.
Type ID - Enter: Set Partition ID.
2- Continue in ADB After last command, type:
Code:
t
18
83
t
19
83
t
20
4c
t
21
c
t
22
83
t
23
83
t
24
7d
t
25
83
t
26
83
F-Re-Partitioning-Apply Modifications And Saving:
Till now we haven't done any real changes, you can cancel these changes by Closing ADB Window.
To Apply Changes:
1- use "p" command to sync new partitions to table, type:
Code:
p
then press Enter.
2- You'll see Modified Partition Table, Make sure all changes is OK.
3- Type
Code:
w
to save New Partition Table, then Wait till changes.
G-Restoring Unknown Partitions Backup:
We are finished Re-Partitioning, it's time to restore backup we made in step "b".
1- Type:
Code:
dd if=/sdcard/mmcblk0p20.img of=/dev/block/mmcblk0p20
dd if=/sdcard/mmcblk0p23.img of=/dev/block/mmcblk0p23
dd if=/sdcard/mmcblk0p24.img of=/dev/block/mmcblk0p24
dd if=/sdcard/mmcblk0p25.img of=/dev/block/mmcblk0p25
dd if=/sdcard/mmcblk0p26.img of=/dev/block/mmcblk0p26
2- Now Exit ADB, type:
Code:
exit
then
Code:
adb reboot
H-The last step:
In order to use New Partitions we need to wipe it through Custom Recovery.
Boot to Custom Recovery and Wipe all partitions except SD Card.
Congratulations ! you have done it successfully, Now Flash any ROM / Restore Custom Recovery Backup to use your phone.
MOD 2: Increase Data Size to 2.30 GB
We'll Re-partition (p21 & p22) with sizes in above picture, to make Data 2.30 GB & Internal Storage 150 MB - Check Page 2 in Partition Table.
A-Preparing:
1- Copy whole data from Internal Storage to SD Card or PC
2- Boot to Custom Recovery then Unmount all partitions except SD Card.
3- Connect phone to PC via USB cable then open ADB tools (Shift + Right Click in ADB Folder - select Open CMD.
4- Type
Code:
adb shell
you'll see # sign, Now type
Code:
fdisk -l /dev/block/mmcblk0
5- You'll see your partitions table, make sure it's like "First Page in Partition Table"
Nokia XL
Nokia X
B-Backing Up Unknown Partitions :
1- Backup Partitions from 23 to 26, type:
Code:
dd if=/dev/block/mmcblk0p23 of=/sdcard/mmcblk0p23.img
dd if=/dev/block/mmcblk0p24 of=/sdcard/mmcblk0p24.img
dd if=/dev/block/mmcblk0p25 of=/sdcard/mmcblk0p25.img
dd if=/dev/block/mmcblk0p26 of=/sdcard/mmcblk0p26.img
2- Make sure this backup stored in SD Card not Internal Storage.
C-Re-Partitioning-Deleting Partitions:
1- Continue in ADB, type:
Code:
busybox fdisk /dev/block/mmcblk0
2- We'll use "d" command to delete partitions from 26 to 21
Type each line command below then hit enter after every command
Code:
d
26
d
25
d
24
d
23
d
22
d
21
D-Re-Partitioning-Creating New Partitions:
1- Now we'll use "n" command to create new partitions with modified sizes, command usage:
n - Enter: To start creating new partition.
Start block - Enter: First cylinder of partition.
End block- Enter: Last cylinder of partition.
2- Continue in ADB After last command, type:
Code:
n
101413
120613
n
120613
406437
n
406437
418597
n
418597
419877
n
419877
469797
n
469797
477184
E-Re-Partitioning-Set New Partitions Type:
1- Now we'll use "t" command to set new partitions type as (Original Partition Table) with modified sizes, command usage:
t - Enter: Start Partition Type Modification.
Partition Number - Enter: Choose Partition.
Type ID - Enter: Set Partition ID.
2- Continue in ADB After last command, type:
Code:
t
21
c
t
22
83
t
23
83
t
24
7d
t
25
83
t
26
83
F-Re-Partitioning-Apply Modifications And Saving:
Till now we haven't done any real changes, you can cancel these changes by Closing ADB Window.
To Apply Changes:
1- use "p" command to sync new partitions to table, type:
Code:
p
then press Enter.
2- You'll see Modified Partition Table, Make sure all changes is OK.
3- Type
Code:
w
to save New Partition Table, then Wait till changes.
G-Restoring Unknown Partitions Backup:
We are finished Re-Partitioning, it's time to restore backup we made in step "b".
1- Type:
Code:
dd if=/sdcard/mmcblk0p23.img of=/dev/block/mmcblk0p23
dd if=/sdcard/mmcblk0p24.img of=/dev/block/mmcblk0p24
dd if=/sdcard/mmcblk0p25.img of=/dev/block/mmcblk0p25
dd if=/sdcard/mmcblk0p26.img of=/dev/block/mmcblk0p26
2- Now Exit ADB, type:
Code:
exit
then
Code:
adb reboot
H-The last step:
In order to use New Partitions we need to wipe it through Custom Recovery.
Boot to Custom Recovery and Wipe all partitions except SD Card.
Congratulations ! you have done it successfully, Now Flash any ROM / Restore Custom Recovery Backup to use your phone.
Video Tutorial
Notes:
1- If you get "Warning" Error in Step F-3. Check Partitions using "p" command, if changes can't be done then Change Custom Recovery then do Steps again.
2- If Custom Recovery rebooted suddenly, don't worry do Steps again.
3- If TWRP couldn't wipe New Partitions, boot to ClockWorkMod Recovery 6.0.4.8 and Wipe them.
4- Nokia X doesn't have p26 partition.
Final Result
- Data Only:
Thanks:
netware @ 4pda For helping me doing this on Nokia XL
@ani00 For testing on Nokia X
Me For Testing and writing this guide
Don't Forget To make BACKUP And Hit Thanks :good:
With this good news in hand, will there be any rom development coming on Nokia X/XL?
veez21 said:
With this good news in hand, will there be any rom development coming on Nokia X/XL?
Click to expand...
Click to collapse
I am still trying with MM but till now build can't complete
YSH ALSAGER said:
I am still trying with MM but till now build can't complete
Click to expand...
Click to collapse
Can you share the link if there is any, i wanna have a look.:good:
veez21 said:
Can you share the link if there is any, i wanna have a look.:good:
Click to expand...
Click to collapse
Link for what?
YSH ALSAGER said:
Link for what?
Click to expand...
Click to collapse
Source code
veez21 said:
Source code
Click to expand...
Click to collapse
See my github.com repository
You Are Useng PAC Rom On Your Phone Did The Hotspot Work And Ring With Vibration Too And What Is The Clock Speed
Please Tell me How You Fix It
Sofiane omega said:
You Are Useng PAC Rom On Your Phone Did The Hotspot Work And Ring With Vibration Too And What Is The Clock Speed
Please Tell me How You Fix It
Click to expand...
Click to collapse
I've Nokia XL, so everything works perfectly
YSH ALSAGER said:
I've Nokia XL, so everything works perfectly
Click to expand...
Click to collapse
Can You Fix The Patch For X And What I Need To Send You From The Logcat To Fix Wifi Hotspot
Sofiane omega said:
Can You Fix The Patch For X And What I Need To Send You From The Logcat To Fix Wifi Hotspot
Click to expand...
Click to collapse
On Nokia X everything works expect hotspot, try to grab adb logcat and send it to me
YSH ALSAGER said:
On Nokia X everything works expect hotspot, try to grab adb logcat and send it to me
Click to expand...
Click to collapse
Not Every Think I Test Ring With Vibration And It Doesn't Work And The Over clock Speed Is Lock To 122MHz And He Should Be 245MHz And For The Logcat I Send You It All
Sofiane omega said:
Not Every Think I Test Ring With Vibration And It Doesn't Work And The Over clock Speed Is Lock To 122MHz And He Should Be 245MHz And For The Logcat I Send You It All
Click to expand...
Click to collapse
122Mhz is the minimum frequency because it uses null kernel or another kernel that was based on it,
Guide has been updated !
Add Nokia X Partitions & Instructions
Thanks @ani00
I just lost mmcplk0p20 and mmcplk0p25. Now my pc only show unknown device when i plug in. Any suggest
vatva69 said:
I just lost mmcplk0p20 and mmcplk0p25. Now my pc only show unknown device when i plug in. Any suggest
Click to expand...
Click to collapse
You Forgot to make them or what??
YSH ALSAGER said:
Guide has been updated !
Add Nokia X Partitions & Instructions
Thanks @ani00
Click to expand...
Click to collapse
Yeah, i was waiting for it.
Sent from my ASUS_X014D using Tapatalk
YSH ALSAGER said:
You Forgot to make them or what??
Click to expand...
Click to collapse
I make them, but i forget to backup
vatva69 said:
I make them, but i forget to backup
Click to expand...
Click to collapse
Why man! You shouldn't have done this!
Sorry but I think you lost your iemi
I have a mmcplk0 backup but cannot restore because my pc dont detect my phone
I wanted to create a thread so as to report any unique findings from the internet realm and my own discoveries surrounding the Vernee Apollo Phone. The aim is to bring resources together to encourage development and to release utilities and roms.
Please post your own discoveries and updates!!!
This is NOT a "Vernee Apollo Lite" nor a "Vernee Apollo X" thread even though some information maybe relevant.
Device Name and Specs
Vernee Apollo.
Device Model =K15TA_A
Official Product Website
Official Product Forum
http://www.devicespecifications.com/
Vernee Apollo - Antutu Benchmark v6.2.7.
Score 92,235.
3D: 19159
UX: 38097
CPU: 27535
RAM: 7444
Helio X25 MT6797 Family System on a Chip (SoC) Comparison
Vernee Apollo deploys a X25 MT6797T.
https://en.wikipedia.org/wiki/MediaTek#Octa-_and_deca-core
https://www.mediatek.com/products/smartphones/mt6797-helio-x20
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
ADB and FASTBOOT Modes
The Vernee Apollo's bootloader supports Fastboot. The Recovery mode supports the Android Debugging Bridge (ADB) . To access, perform the button sequence below. A menu will appear allowing you to cycle through option to either boot into the recovery partitio,n or to start the Fastboot service.
ADB service is also available also within the Android desktop if you enable USB Debugging in the revealed developers settings menu. You will most likely need to accept a signed key issued from the managing computer for the service to communicate!
Accessing Bootloader Menu
Buttons: [Top-Volume] + [Power-Button] for 8 Seconds.
When the phone is shutdown, hold both buttons at same time from for 8 seconds. The Bootloader menu will appear and then release buttons.
Using Bootloader Menu
Button: [Top-Volume] = Cycle selection.
Button: [Bottom-Volume] = Choose selected item.
With the high screen resolution it maybe hard to see the text-options. There should be three;
1. Recovery, (Boot into Recovery partition with ADB.)
2. Fastboot, (Start Fastboot server.)
3. Normal. (Proceed to boot normally.)
Using Recovery Mode and Menu
When you boot the Recovery partition you will be meet with a failed Android icon on the stock Vernee release rom. ADB will be accessible from here. Note: The Recover menu will cause the ADB server to fail. If you want to display the recovery menu options then perform the following during the failed Android icon screen.
Buttons: [Top-Volume] + [Power-Button] pulsing till the menu appears.
Fastboot
If you plan to develop on your Apollo or to install future community roms then it's advisable to unlock your storage partitions. Unlocking will allow you to change partitions but doing so will void software warranty clauses, and in the process scrub all your personal data from the phone so it's best to do it before installing personal content.
To unlock the phone issue the following command through Fastboot. You will be asked to confirm.
Code:
fastboot oem unlock
Engineering Mode
Enter the following phone number in Android desktop
Code:
Dial *#*#3646633#*#*
Phone Test Options
Alternatively there is a phone test mode available at low level with less options. Whilst the phone is shutdown, press the following.
Buttons: [Bottom-Volume] + [Power-Button] for 8 Seconds.
A test menu will appear and is in simplified Chinese.
SIMS
If your phone is not receiving data over 4G or 3G, Google on another computer "apn" "YOURMOBILEPHONEPROVIDER" "YOURNATION". Example;
Code:
"apn" "vodafone" "uk"
You should find links to technical settings for your data provider's access. Then enter them in by navigating to;
Settings>More>Mobile network settings>Access point names>CLICK-YOUR-LOCKED-ON-PROVIDER>THEN-CONFIRM-SETTINGS
USB
Device USB Coding
Code:
System Mode:
ID 0e8d:201d MediaTek Inc.
ADB Mode:
ID 0e8d:2008 MediaTek Inc.
Fastboot Mode
ID 0bb4:0c01 HTC (High Tech Computer Corp.) Dream / ADP1 / G1 / Magic / Tattoo
Microsoft Windows VCOM Drivers
On Microsoft systems you will need to have drivers installed so as to communicate with the Mediatek phone.
MediaTek DA USB VCOM (Android) Driver 3.0.1504.0 for Windows 7/Windows 8.1
MediaTek DA USB VCOM (Android) Driver 3.0.1504.0 for Windows 10
UART Ability?
I haven't opened the phone yet but if anyone does please capture images of the circuit board. If there are UART pins on the board it may have a root shell piped to the interface. A UART (universal asynchronous receiver/transmitter) in this sense is a device that couples serial communications port to USB to run a terminal over.
Vernee Official Rom Images & "Over The Air" Updates
Official Product Downloads/Support
VerneeX25_Recovery_OriginalStock_v1p0 (Thx to Relief66)
Download (2016-12) ROM "full_k15ta_a-ota-1482441792.zip"
Download (2017-01) ROM "full_k15ta_a-ota-1484567521.zip" (Creating .img from .dat files works!)
Download (2017-07) ROM "full_k15ta_a-ota-1499861676.zip"
Download (2017-07) OTA Patch "20170712201130-OTA.rar"
Note: "20170712201130-OTA.rar" is only designed to update "full_k15ta_a-ota-1482441792.zip" image.
Flashing Partitions
There are three main ways to flash;
1. using "Smart Phone Flash Tool",
2. Fastboot flash command,
3. via internal software like a root bash shell or routine from recovery.
Partition Table
Code:
system logical drive = 2621.44MB [= 2684354560 bytes = 5242880 x 512blocks]
recovery logical drive = 16.384MB
Scatter file from OTA
----------------------------
preloader 0x0
pgpt 0x0
recovery 0x8000
para 0x1008000
custom 0x1088000
expdb 0x13c88000
frp 0x14688000
nvcfg 0x14788000
nvdata 0x14f88000
metadata 0x16f88000
protect1 0x18f88000
protect2 0x19788000
seccfg 0x1a000000
oemkeystore 0x1a800000
proinfo 0x1aa00000
md1img 0x1ad00000
md1dsp 0x1c500000
md1arm7 0x1c900000
md3img 0x1cc00000
scp1 0x1d100000
scp2 0x1d200000
nvram 0x1d300000
lk 0x1d800000
lk2 0x1d880000
boot 0x1d900000
logo 0x1e900000
tee1 0x1f100000
tee2 0x1f600000
keystore 0x1fb00000
system 0x20800000
cache 0xc0800000
userdata 0xdb000000
flashinfo 0xFFFF0080
sgpt 0xFFFF0000
recovery.fstab
------------------
# mount point fstype device [device2]
/boot emmc boot
/cache ext4 /dev/block/mmcblk0p4
/data ext4 /dev/block/mmcblk0p5
/misc emmc misc
/recovery emmc recovery
/sdcard vfat /dev/block/mmcblk0p6
/system ext4 /dev/block/mmcblk0p3
live fstab via "cat /fstab.mt6797"
------------------------------------------
# 1 "vendor/mediatek/proprietary/hardware/fstab/mt6797/fstab.in"
# 1 "<built-in>"
# 1 "<命令行>"
# 1 "vendor/mediatek/proprietary/hardware/fstab/mt6797/fstab.in"
# 20 "vendor/mediatek/proprietary/hardware/fstab/mt6797/fstab.in"
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/system /system ext4 ro wait
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/userdata /data ext4 noatime,nosuid,nodev,noauto_da_alloc,discard wait,check,resize,encryptable=/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/metadata,
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/cache /cache ext4 noatime,nosuid,nodev,noauto_da_alloc,discard wait,check
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/protect1 /protect_f ext4 noatime,nosuid,nodev,noauto_da_alloc,commit=1,nodelalloc wait,check,formattable
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/protect2 /protect_s ext4 noatime,nosuid,nodev,noauto_da_alloc,commit=1,nodelalloc wait,check,formattable
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/nvdata /nvdata ext4 noatime,nosuid,nodev,noauto_da_alloc,discard wait,check,formattable
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/nvcfg /nvcfg ext4 noatime,nosuid,nodev,noauto_da_alloc,commit=1,nodelalloc wait,check,formattable
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/custom /custom ext4 ro wait
/devices/mtk-msdc.0/11230000.msdc0* auto vfat defaults voldmanaged=sdcard0:auto
/devices/mtk-msdc.0/11240000.msdc1* auto auto defaults voldmanaged=sdcard1:auto,encryptable=userdata
/devices/soc/11270000.usb3_xhci* auto vfat defaults voldmanaged=usbotg:auto
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/frp /persistent emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/nvram /nvram emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/proinfo /proinfo emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/lk /bootloader emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/lk2 /bootloader2 emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/para /misc emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/boot /boot emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/recovery /recovery emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/logo /logo emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/expdb /expdb emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/seccfg /seccfg emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/tee1 /tee1 emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/tee2 /tee2 emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/scp1 /scp1 emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/scp2 /scp2 emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/md1img /md1img emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/md1dsp /md1dsp emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/md1arm7 /md1arm7 emmc defaults defaults
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/md3img /md3img emmc defaults defaults
Raw block partition label and user/group
-----------------------------------------------------
/dev/block/platform/mtk-msdc\.0/[0-9]+\.msdc0/by-name/proinfo u:object_r:nvram_device:s0
/dev/block/platform/mtk-msdc\.0/[0-9]+\.msdc0/by-name/nvram u:object_r:nvram_device:s0
/dev/block/platform/mtk-msdc\.0/[0-9]+\.msdc0/by-name/nvdata u:object_r:nvdata_device:s0
/dev/block/platform/mtk-msdc\.0/[0-9]+\.msdc0/by-name/frp u:object_r:frp_block_device:s0
/dev/block/platform/mtk-msdc\.0/[0-9]+\.msdc0/by-name/expdb u:object_r:expdb_block_device:s0
/dev/block/platform/mtk-msdc\.0/[0-9]+\.msdc0/by-name/misc2 u:object_r:misc2_block_device:s0
/dev/block/platform/mtk-msdc\.0/[0-9]+\.msdc0/by-name/logo u:object_r:logo_block_device:s0
/dev/block/platform/mtk-msdc\.0/[0-9]+\.msdc0/by-name/para u:object_r:para_block_device:s0
/dev/block/platform/mtk-msdc\.0/[0-9]+\.msdc0/by-name/tee1 u:object_r:tee_block_device:s0
/dev/block/platform/mtk-msdc\.0/[0-9]+\.msdc0/by-name/tee2 u:object_r:tee_block_device:s0
/dev/block/platform/mtk-msdc\.0/[0-9]+\.msdc0/by-name/seccfg u:object_r:seccfg_block_device:s0
/dev/block/platform/mtk-msdc\.0/[0-9]+\.msdc0/by-name/userdata u:object_r:userdata_block_device:s0
/dev/block/platform/mtk-msdc\.0/[0-9]+\.msdc0/by-name/cache u:object_r:cache_block_device:s0
/dev/block/platform/mtk-msdc\.0/[0-9]+\.msdc0/by-name/recovery u:object_r:recovery_block_device:s0
/dev/block/platform/mtk-msdc\.0/[0-9]+\.msdc0/by-name/protect1 u:object_r:protect1_block_device:s0
/dev/block/platform/mtk-msdc\.0/[0-9]+\.msdc0/by-name/protect2 u:object_r:protect2_block_device:s0
/dev/block/platform/mtk-msdc\.0/[0-9]+\.msdc0/by-name/keystore u:object_r:keystore_block_device:s0
/dev/block/platform/mtk-msdc\.0/[0-9]+\.msdc0/by-name/oemkeystore u:object_r:oemkeystore_block_device:s0
/dev/block/platform/mtk-msdc\.0/[0-9]+\.msdc0/by-name/boot u:object_r:boot_block_device:s0
/dev/block/platform/mtk-msdc\.0/[0-9]+\.msdc0/by-name/persist u:object_r:persist_block_device:s0
/dev/block/platform/mtk-msdc\.0/[0-9]+\.msdc0/by-name/system u:object_r:system_block_device:s0
/dev/block/platform/mtk-msdc\.0/[0-9]+\.msdc0/by-name/nvcfg u:object_r:nvcfg_block_device:s0
/dev/block/platform/mtk-msdc\.0/[0-9]+\.msdc0/by-name/md1img u:object_r:md_block_device:s0
/dev/block/platform/mtk-msdc\.0/[0-9]+\.msdc0/by-name/md1dsp u:object_r:dsp_block_device:s0
/dev/block/platform/mtk-msdc\.0/[0-9]+\.msdc0/by-name/md1arm7 u:object_r:md_block_device:s0
/dev/block/platform/mtk-msdc\.0/[0-9]+\.msdc0/by-name/md3img u:object_r:md_block_device:s0
On my rooted phone I can check the UUID of the partitions. (You may need BusyBox installed to use blkid command!).
Code:
adb shell
su
blkid
displays;
Code:
/dev/block/loop0: LABEL="iAmCdRom" TYPE="iso9660"
/dev/block/loop1: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" TYPE="ext4"
/dev/block/zram0: TYPE="swap"
/dev/block/mmcblk0p3: LABEL="custom" UUID="0f1095f4-0ece-e656-b6ac-e2ce104d5722" TYPE="ext4"
/dev/block/mmcblk0p6: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" TYPE="ext4"
/dev/block/mmcblk0p7: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" TYPE="ext4"
/dev/block/mmcblk0p9: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" TYPE="ext4"
/dev/block/mmcblk0p10: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" TYPE="ext4"
/dev/block/mmcblk0p28: LABEL="system" UUID="da594c53-9beb-f85c-85c5-cedf76546f7a" TYPE="ext4"
/dev/block/mmcblk0p29: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" TYPE="ext4"
/dev/block/mmcblk0p30: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" TYPE="ext4"
/dev/block/mmcblk1p1: UUID="0508-0E13" TYPE="vfat"
Modifying Partitions
Modify partitions often means Users hacking the commercial roms and that means extracting out the important files to work with. The most important blocks are the system-partition which holds the operating system, then the recovery-partition which pole vaults Users with low level tools and abilities, like startup phone root powers. Noting many modern phone root modes, deploy on the recovery-partition rather than modify the system-partition, so as to retain full compatibility and retention of abilities, when conducting "Over the Air" / OTA updates from the manufacturer.
There are two popular platforms to hack on. 1. on native Linux including the phone itself, and 2. on a Microsoft Windows platform with Linux style utilities.
To ready a partition, to then modify it, and to then save it for flashing has many steps. One should obtain the manufacturer's rom or OTA update, to seek out the latest images and files to utilise.
In this example of hacking an official rom, we will be using "full_k15ta_a-ota-1484567521.zip". Utility executables are readily available in repositories related to your Linux distribution, like AUR on Archlinux.
Linux - ACCESSING SYSTEM IMAGE TO MODIFY
1.) Extract the zip file to a new folder. The directory should be something like this structure.
Code:
.../tinysys-scp.bin
.../logo.bin
.../lk.bin
.../md1rom.img
.../system.patch.dat
.../type.txt
.../custom.new.dat
.../custom
.../custom/cip-build.prop
.../custom/app-res
.../custom/app-res/quicksearchbox-res
.../custom/app-res/quicksearchbox-res/quicksearchbox-res.apk
.../custom/app-res/android-res
.../custom/app-res/android-res/android-res.apk
.../custom/app-res/browser-res
.../custom/app-res/browser-res/browser-res.apk
.../custom/app-res/launcher3-res
.../custom/app-res/launcher3-res/launcher3-res.apk
.../custom/media
.../custom/media/audio
.../custom/media/audio/notifications
.../custom/media/audio/notifications/Leaf.ogg
.../custom/media/audio/notifications/Pure.ogg
.../custom/media/audio/notifications/Triumph.ogg
.../custom/media/audio/notifications/Vernee_n002.ogg
.../custom/media/audio/notifications/The_time_tunne.ogg
.../custom/media/audio/notifications/Jump.ogg
.../custom/media/audio/notifications/Whisper.ogg
.../custom/media/audio/notifications/Vernee_n001.ogg
.../custom/media/audio/notifications/Cuckoo.ogg
.../custom/media/audio/notifications/Cleverer.ogg
.../custom/media/audio/notifications/Meteor.ogg
.../custom/media/audio/notifications/Bongo.ogg
.../custom/media/audio/notifications/Ripples.ogg
.../custom/media/audio/notifications/Whistle.ogg
.../custom/media/audio/notifications/Gift.ogg
.../custom/media/audio/alarms
.../custom/media/audio/alarms/ClassicAlarm.ogg
.../custom/media/audio/alarms/Waltz.ogg
.../custom/media/audio/alarms/Vernee_a001.ogg
.../custom/media/audio/alarms/GoodLuck.ogg
.../custom/media/audio/alarms/Foredawn.ogg
.../custom/media/audio/alarms/Vernee_a002.ogg
.../custom/media/audio/alarms/MorningSunShine.ogg
.../custom/media/audio/alarms/Walking_in_the_rain.ogg
.../custom/media/audio/ringtones
.../custom/media/audio/ringtones/Call_of_love.ogg
.../custom/media/audio/ringtones/Spring.ogg
.../custom/media/audio/ringtones/New_life.ogg
.../custom/media/audio/ringtones/Menuet.ogg
.../custom/media/audio/ringtones/Vernee_r004.ogg
.../custom/media/audio/ringtones/Heartbeat.ogg
.../custom/media/audio/ringtones/Vernee_r005.ogg
.../custom/media/audio/ringtones/Technology.ogg
.../custom/media/audio/ringtones/Longing.ogg
.../custom/media/audio/ringtones/Vernee_r002.ogg
.../custom/media/audio/ringtones/Vernee_r003.ogg
.../custom/media/audio/ringtones/Westlake.ogg
.../custom/media/audio/ringtones/Vernee_r001.ogg
.../custom/media/audio/ringtones/Progress.ogg
.../custom/media/audio/ringtones/Journey.ogg
.../custom/media/audio/ringtones/GuitarPop.ogg
.../custom/media/audio/ringtones/Cloud.ogg
.../custom/media/audio/ringtones/Capriccioso.ogg
.../custom/media/audio/ringtones/IceWorldPiano.ogg
.../custom/plugin
.../custom/plugin/FwkPlugin
.../custom/plugin/FwkPlugin/FwkPlugin.mpinfo
.../custom/plugin/FwkPlugin/FwkPlugin.apk
.../custom/plugin/Signatures
.../custom/plugin/Signatures/mplugin_guard.xml
.../custom/etc
.../custom/etc/resources.xml
.../custom/bootani
.../custom/bootani/shutanimation.zip
.../custom/bootani/bootanimation.zip
.../custom/customprop
.../custom/customprop/custom.prop
.../system.new.dat
.../custom.patch.dat
.../md1arm7.img
.../md3rom.img
.../preloader_k15ta_a.bin
.../md1dsp.img
.../scatter.txt
.../custom.transfer.list
.../file_contexts
.../boot.img
.../META-INF
.../META-INF/CERT.SF
.../META-INF/MANIFEST.MF
.../META-INF/CERT.RSA
.../META-INF/com
.../META-INF/com/android
.../META-INF/com/android/metadata
.../META-INF/com/android/otacert
.../META-INF/com/google
.../META-INF/com/google/android
.../META-INF/com/google/android/update-binary
.../META-INF/com/google/android/updater-script
.../trustzone.bin
.../system.transfer.list
.../sdat2img.py
2.) the images we are looking for are either the system-partition or the recovery-partition to modify. In this case there is only the system and it's held in the file "system.new.dat", a 1.6 gigabyte file. We know from the partition tables above that the system-partition is 2.6GB wide, so this image is either compressed or short. Most partitions deployed on Android for updating are compressed in what's called a sparse format.
We need to uncompress any sparse file before we can work with it or mount it, but the issue in this case is the image is also in "dat" structure, which means we need to unsparse using structured data held in "system.transfer.list". Here we use "sdat2img" executable to create the file "system_fullsize.img";
Code:
sdat2img system.transfer.list system.new.dat system_fullsize.img
Alternatively if the file was not a dat format, we could simply unsparse using;
Code:
simg2img system.img system_fullsize.img
3.) Now that we have the full image we can mount it as a file-system to tinker with it. Example of making a mount point and mounting it;
Code:
sudo mkdir /system
sudo mount -t ext4 -o loop ./system_fullsize.img /system/
You can now modify the image simply by changing the files in the directory mounted on. After changes you can save out and attempting to flash it back to the phone for your custom system.
Linux - CAPTURING THE MOUNT BACK TO AN IMAGE FILE
1.) After we have modified the mounted system-partition we need to save it back out for flashing if you want to see your changes live on the phone.
Labelling (If desired). We can name the mount to enforce block-labels. In this case the loop device was "loop0" used to mount the image. (Check which loop-device was used when performing this. eg: lsblk) Here we are going to label it "system"..
Code:
e2label /dev/loop0 system
It maybe important to set the partition UUID the same as the manufacturer uses so the the mounting process finds the correct partition to mount at boot. We know the system partitions UUID from the above discovery details;
Code:
UUID="da594c53-9beb-f85c-85c5-cedf76546f7a"
We can set the mounted image's UUID to suit the original before creating a new;
Code:
sudo tune2fs /dev/loop0 -U da594c53-9beb-f85c-85c5-cedf76546f7a
Here we capture out the device to an "ext4" format file-system image. The length option, being 2684354560 bytes. Labelling option "-a" with name "system".
Code:
sudo make_ext4fs -s -l 2684354560 -a system system_modded.img /system/
2.) To flash your image, Android's recent "fastboot" utility will allow for unsparse and sparsed images to be flashed. I have broken down the fastboot process into each step.
CAUTION: fastboot writes over your phone's partition blocks. If you are not skilled in this area of computing them research "fastboot" before use.
Note: current I have not found out why this process is incompatible with Vernee Apollo. The images I write back are not operational even though they flash properly. My hunch is that I may need to enforce an ISO/image UUID the same as the manufacturers, but I haven't tested this yet.
Code:
fastboot -w
fastboot format system
fastboot flash system ./system_modded.img
If we want to sparse the file before flashing;
Code:
img2simg system_modded.img system_modded_sparse.img
If we want to create a sparse dat structured image;
Code:
img2sdat ./system_modded.img
Linux - ACCESSING RECOVER IMAGE TO MODIFY
An Android recovery image is really three items in one image. There is a compressed kernel (zImage) used to run a recovery system, a ramdisk (initrd.img), and configuration file. The ramdisk "initrd.img" holds the operating system files used by the recovery kernel. Note the bootimage partition/image is a similar structure to a recovery-image.
If you need a similar development community then the Xiaomi Redmi Pro is a similar phone due to its Mediatek Helio x25 but it uses a different cameras, screen and sensors. Modifying and tweaking settings in their recovery images can work on your Vernee Apollo X25.
To extract the sub held files (bootimg.cfg, zImage, initrd.img);
Code:
abootimg -x recovery.img
To unpack a ramdisk "initrd.img";
Code:
mkdir initrd
cd initrd
sudo zcat ../initrd.img | cpio -idmv
To pack files whilst in your ramdisk directory ''/initrd";
Code:
find . | cpio -o -H newc | gzip > ../newramdisk.cpio.gz
To pack back up components into a recovery rom;
Code:
abootimg --create recovery_new.img -f bootimg.cfg -k zImage -r initrd.img
Alternatively;
Code:
mkbootimg --cmdline 'no_console_suspend=1 console=null' --kernel ./zImage --ramdisk ./newramdisk.cpio.gz -o recovery_new.img
Software
Chainfire SuperSU Release Announcement
F-Droid. Alternative App Store for public domain software.
.
Known Recovery Image Developers
Cleopatra Bianchi
https://forum.xda-developers.com/general/rooting-roms/vernee-apollo-helio-x25-twrp-root-t3554788
Known ROM Developers
Cleopatra Bianchi
https://forum.xda-developers.com/general/rooting-roms/vernee-apollo-helio-x25-roms-fix-t3561019
Vernee Apollo X25 General Resource Sites
http://www.needrom.com/ Vernee/ApolloX25
.
Hardware
Protective Covers
Silicone and more rigid covers are becoming available for the Vernee Apollo. Make sure you don't get a Lite version as it wont fit.
Those looking for more range and are willing to mod, the Lenovo K5 Note is very similar in dimensions to the Apollo X25, but the headphone jack, volume and power buttons are slightly off. Modding a K5 Note case will require cutting holes for the headphone jack, buttons, speaker holes, and possibly for the flash. Clear covers will allow the flash to work. Make sure the camera and finger scanner is a complete open section on any K5 cover!
https://www.aliexpress.com/item/Ver...-Shell-Back-Cover-For-Vernee/32799796884.html
TWRP Vernee Apollo Helio X25
Cleopatra Bianchi said:
Click to expand...
Click to collapse
http://bbs.vernee.cc/forum.php?mod=viewthread&tid=1721&extra=page%3D1
Cleopatra Bianchi said:
http://bbs.vernee.cc/forum.php?mod=viewthread&tid=1721&extra=page%3D1
Click to expand...
Click to collapse
I left it up to you to post. I hope people comment on what they think. I'm working on my own images so I can't install others at the moment to give an opinion. Readers please note I can't verify the security on this share. Do not take any compromising actions.
I'm super busy so not sure when I will have my own solutions.
How I wish I had more knowledge. This piece of Hw (Raw Hw?) has a lot of potential, but lacks interest of any developer adapt/adopt it....
The conditions are there (lets hope the owners free the code, as they have done with its small brother), and let's hope there are enough and good drivers for the chosen Hw.
Just to encourage your efforts.
Regards
I agree
lots of good hardware and poor software...I hope in this community
At the moment I found these "bad" things about this phone:
1) you can't choose to view the battery percentage in the upper bar
2) you have to set the APN manually or you can't use internet
3) you can't turn volume up or down if the screen is switched off
I've kind of hit a wall with modding the system image to root it. The system images I produce are just not compatible with flashing. They flash but no desktop runs on the phone. Tried both sparse and raws. and I've got the partition size correct. Mount point is set properly to "system" and they're ext4 images.
I'm building Chainfire's version of ext4_utils, specifically the make_ext4fs util. If that doesn't work then I'll build Google's version. Long process as you need SELinux headers which takes ages to install. There maybe a bug in older versions that's causing the trouble. Other thoughts, there maybe a different padding method or bit plane for storing file system nodes. I may need SELinux builds of executables just to get the job done as I did notice in a hex.diff that the original image has SELinux stamps in it. I need more investigation to know why that's so.
It would be nice if Cleopatra Bianchi chimed in if She knows the issue or has even been down this road before, so to speak.
Hi, E8
Do not know even if this could be valuable, but the sources of the lite version are there. I suppose they are taking the same engineering approaches with the big brother... or not...
but would check
Regards
jrotaetxe said:
Hi, E8
Do not know even if this could be valuable, but the sources of the lite version are there. I suppose they are taking the same engineering approaches with the big brother... or not...
but would check
Regards
Click to expand...
Click to collapse
I'll look into it as the scripts may indicate the process to image creation. Cheers.
TWRP and ROOT - successfully tested !
https://forum.xda-developers.com/general/rooting-roms/vernee-apollo-helio-x25-twrp-root-t3554788
Such a cool phone, but sending it back. Doesn't work with US carriers
Stock firmware in Flash Tool
Cleopatra Bianchi said:
TWRP and ROOT - successfully tested !
https://forum.xda-developers.com/general/rooting-roms/vernee-apollo-helio-x25-twrp-root-t3554788
Click to expand...
Click to collapse
I look forward to flash the stock firmware in Flash Tool. I foolishly made a phone of brick, all backups lost.
stock firmware
myextasy said:
I look forward to flash the stock firmware in Flash Tool. I foolishly made a phone of brick, all backups lost.
Click to expand...
Click to collapse
A working stock firmware will be here very soon.
Please be patient, I am working on that.
Cleopatra Bianchi said:
A working stock firmware will be here very soon.
Please be patient, I am working on that.
Click to expand...
Click to collapse
Anyway to unlock bands to get it working in US ???
myextasy said:
I look forward to flash the stock firmware in Flash Tool. I foolishly made a phone of brick, all backups lost.
Click to expand...
Click to collapse
You can easily restore the phone using the official zip rom. Place it on a micro sdcard and install via the Bootloader menu. Instructions are on the forst comment on how to get to the bootloader menu and then recovery. If you're destroyed your recovery partition but still have fastboot access then you can use the system image within the official rom to flash the system partition with a bit of modifications.
I've been super busy so I haven't had the time to work on my own version of the TWRP Recovery.
How can I find the drivers ? When I google search I only find the one for Apollo lite
Do not believe you can "unlock" US bands, as they differ from EU/ASIA system.
Anyway, trying is (almost) free. The worst thing can happen is a brick
Regards
I would appreciate if someone would do the following in a rooted adb shell session:
1: print the list of partitions tables via busybox parted applet (& paste it here)
Do so in both sectors & bytes by selecting "unit s" & "unit B" in parted.
2: dump (via dd) & upload all partitions to google drive.
system, boot, cache & userdata are not needed.
I'm specifically looking for the aboot/emmc_appsboot partition
If you need help, feel free to post logs here. For more discussions about Android 12/GSIs join the telegram group!!
*REQUIRED FOR GSI* Follow the guide I made here to increase your system partition.
Click to expand...
Click to collapse
Download Android 12 Stable (Pixel 4a) GSI here: Direct link.
You don't need Gapps, they are preloaded.
Click to expand...
Click to collapse
Make sure to use Android 11 as base before flashing the GSI.
After that, you can install any GSI/flash any size Gapps without issue.
Reboot into fastboot mode.
Wipe your data partition: fastboot format:ext4 userdata
Clean cache and factory reset: fastboot -w
flash the GSI: fastboot flash system_a path/to/system.img
flash the GSI in other slot: fastboot flash system_b path/to/system.img
Test boot.
If it doesn't boot, download vbmeta for your device and flash in fastboot mode.
fastboot flash vbmeta --disable-verity --disable-verification vbmeta.img
fastboot -w
Bugs:
No sound in call.
Some fixes:
Install GMS with adb install -r -d path/to/gms.apk to login to Google (not necessary anymore)
After flashing system image, don't reboot into system, immediately boot into TWRP and flash this file! This is necessary to disable encryption, so TWRP can boot successfully.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
download
@Dollscythe
Appreciate the resize guide, especially as i like a full GApps install
But the ROM is impossible to download it seems...
Note: Im able to download other files at SF
Update: Finally found a working mirror - for anyone else try the Gigenet mirror (Chicago), by clicking "Problems Downloading"
Dollscythe said:
If you need help, join the telegram group.
Follow the guide I made here to increase your system partition.
USE STOCK RECOVERY!!!!!!!!
After that, you can install any GSI/flash any size Gapps without issue.
Download Android 12 Beta 3.1 GSI here: Direct link
You don't need Gapps, they are preloaded.
Reboot into fastboot mode.
Wipe your data partition: fastboot format:ext4 userdata
Clean cache and factory reset: fastboot -w
flash the GSI: fastboot flash system_a path/to/system.img
flash the GSI in other slot: flash system_b path/to/system.img
Test boot.
If it doesn't boot, flash this file in fastboot mode.
fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
fastboot -w
View attachment 5371367View attachment 5371395View attachment 5371423View attachment 5371425View attachment 5371427View attachment 5371429View attachment 5371431View attachment 5371433
Click to expand...
Click to collapse
Be great to know who's working who no on this rom. Thank you
irmas5 said:
Be great to know who's working who no on this rom. Thank you
Click to expand...
Click to collapse
For now FP and calling is not working. Everything else is perfect. This rom is for those who want to test new theming etc.
I am working on a fix for fp and RIL.
Wait... Does it for Pixel 3 but not Pixel 2 XL?
123哆3 said:
Wait... Does it for Pixel 3 but not Pixel 2 XL?
Click to expand...
Click to collapse
This guide is for pixel 2xl.
the GSI is ported from pixel 3 android S beta 3.1, but it works on pixel 2xl and all A/B devices.
Dollscythe said:
For now FP and calling is not working. Everything else is perfect. This rom is for those who want to test new theming etc.
I am working on a fix for fp and RIL.
Click to expand...
Click to collapse
it's necessary resize system partition? i'm scared to brick phone.
irmas5 said:
it's necessary resize system partition? i'm scared to brick phone.
Click to expand...
Click to collapse
for android 12 and some GSI, yes.
Update! With GMS, overlay, and fingerprint sensor fixes. We are getting closer!
And the users that had unbootable slot error, it should be fixed too if you flash vbmeta. Make sure to follow the fixes section too.
EDIT: RIL is fine, SMS is fine, we can even accept and take calls. But there's no sound! Any devs can chime in and help?
Dollscythe said:
Update! With GMS, overlay, and fingerprint sensor fixes. We are getting closer!
And the users that had unbootable slot error, it should be fixed too if you flash vbmeta. Make sure to follow the fixes section too.
EDIT: RIL is fine, SMS is fine, we can even accept and take calls. But there's no sound! Any devs can chime in and help?
Click to expand...
Click to collapse
tryed repart and get a bootloop. deleting partition disconected phone from laptop, Tryed flash via deuces script. showing installed, restarting, but never not booting. stuck at google logo. Can you help me please?
irmas5 said:
tryed repart and get a bootloop. deleting partition disconected phone from laptop, Tryed flash via deuces script. showing installed, restarting, but never not booting. stuck at google logo. Can you help me please?
Click to expand...
Click to collapse
show me your new partition table
boot to twrp
Copy parted to /sbin.
adb push path/to/parted /sbin
Enter shell mode.
adb shell
Change permissions of parted.
chmod 777 /sbin/parted
then do parted /dev/block/sda
Dollscythe said:
show me your new partition table
boot to twrp
Copy parted to /sbin.
adb push path/to/parted /sbin
Enter shell mode.
adb shell
Change permissions of parted.
chmod 777 /sbin/parted
then do parted /dev/block/sda
Click to expand...
Click to collapse
PS C:\platform-tools> adb push "C:\Users\irmas\Desktop\Pixel 2 xl\parted"/sbin
2250 KB/s (470788 bytes in 0.204s)
PS C:\platform-tools> adb shell
taimen:/ # chmod 777 /sbin/parted
taimen:/ # parted /dev/block/sda
GNU Parted 3.2
Using /dev/block/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
(parted) p free
Model: SAMSUNG KLUCG4J1ED-B0C1 (scsi)
Disk /dev/block/sda: 62.5GB
Sector size (logical/physical): 4096B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
12.3kB 24.6kB 12.3kB Free Space
1 24.6kB 50.4MB 50.3MB laf_a
2 50.4MB 101MB 50.3MB laf_b
3 101MB 101MB 8192B ssd
4 101MB 134MB 33.6MB ext4 persist
5 134MB 135MB 1049kB misc
6 135MB 169MB 33.6MB ftm
7 169MB 2853MB 2684MB ext2 system_a
8 2853MB 5538MB 2684MB ext2 system_b
9 5538MB 5546MB 8389kB pstore
10 5546MB 5546MB 524kB aes_a
5546MB 62.5GB 57.0GB Free Space
(parted)
I fixed.
irmas5 said:
PS C:\platform-tools> adb push "C:\Users\irmas\Desktop\Pixel 2 xl\parted"/sbin
2250 KB/s (470788 bytes in 0.204s)
PS C:\platform-tools> adb shell
taimen:/ # chmod 777 /sbin/parted
taimen:/ # parted /dev/block/sda
GNU Parted 3.2
Using /dev/block/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
(parted) p free
Model: SAMSUNG KLUCG4J1ED-B0C1 (scsi)
Disk /dev/block/sda: 62.5GB
Sector size (logical/physical): 4096B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
12.3kB 24.6kB 12.3kB Free Space
1 24.6kB 50.4MB 50.3MB laf_a
2 50.4MB 101MB 50.3MB laf_b
3 101MB 101MB 8192B ssd
4 101MB 134MB 33.6MB ext4 persist
5 134MB 135MB 1049kB misc
6 135MB 169MB 33.6MB ftm
7 169MB 2853MB 2684MB ext2 system_a
8 2853MB 5538MB 2684MB ext2 system_b
9 5538MB 5546MB 8389kB pstore
10 5546MB 5546MB 524kB aes_a
5546MB 62.5GB 57.0GB Free Space
(parted)
Click to expand...
Click to collapse
You didnt finish the partitions.
there's supposed to be aes_b, and userdata, etc.
you didnt follow the tutorial properly
plus, from what you sent me, your system is still 2.6 GB. you didnt properly finish deleting the partitions with 'rm' command. you stopped at aes_b.
Dollscythe said:
plus, from what you sent me, your system is still 2.6 GB. you didnt properly finish deleting the partitions with 'rm' command. you stopped at aes_b.
Click to expand...
Click to collapse
I restarted again everything from begining and now goes well. Now flashed proton aosp and booting. now showing
PS C:\platform-tools> adb shell
taimen:/ # chmod 777 /sbin/parted
taimen:/ # parted /dev/block/sda
GNU Parted 3.2
Using /dev/block/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p free
Model: SAMSUNG KLUCG4J1ED-B0C1 (scsi)
Disk /dev/block/sda: 62.5GB
Sector size (logical/physical): 4096B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
12.3kB 24.6kB 12.3kB Free Space
1 24.6kB 50.4MB 50.3MB laf_a
2 50.4MB 101MB 50.3MB laf_b
3 101MB 101MB 8192B ssd
4 101MB 134MB 33.6MB ext4 persist
5 134MB 135MB 1049kB misc
6 135MB 169MB 33.6MB ftm
7 169MB 3269MB 3100MB ext2 system_a
3269MB 3269MB 459kB Free Space
8 3269MB 6369MB 3100MB ext2 system_b
9 6369MB 6379MB 9953kB pstore
10 6379MB 6380MB 999kB aes_a
11 6380MB 6381MB 999kB aes_b
12 6381MB 6391MB 9998kB align_parti
6391MB 6391MB 69.6kB Free Space
13 6391MB 62.5GB 56.1GB ext4 userdata
62.5GB 62.5GB 12.3kB Free Space
73sydney said:
@Dollscythe
Appreciate the resize guide, especially as i like a full GApps install
But the ROM is impossible to download it seems...
Note: Im able to download other files at SF
Update: Finally found a working mirror - for anyone else try the Gigenet mirror (Chicago), by clicking "Problems Downloading"
Click to expand...
Click to collapse
since opengapps is back, this guide is perfect to flash the highest gapps package possible. i have 4GB system partition XD
134|taimen:/ # parted /dev/block/sda
Warning: Device /dev/block/sda has a logical sector size of 4096. Not all parts
of GNU Parted support this at the moment, and the working code is HIGHLY
EXPERIMENTAL.
GNU Parted 1.8.8.1.179-aef3
Using /dev/block/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p free
p free
You found a bug in GNU Parted! Here's what you have to do:
Don't panic! The bug has most likely not affected any of your data.
Help us to fix this bug by doing the following:
Check whether the bug has already been fixed by checking
the last version of GNU Parted that you can find at:
http://ftp.gnu.org/gnu/parted/
Please check this version prior to bug reporting.
If this has not been fixed yet or if you don't know how to check,
please visit the GNU Parted website:
http://www.gnu.org/software/parted
for further information.
Your report should contain the version of this release (1.8.8.1.179-aef3)
along with the error message below, the output of
parted DEVICE unit co print unit s print
and the following history of commands you entered.
Also include any additional information about your setup you
consider important.
Error: SEGV_MAPERR (Address not mapped to object)
Aborted
What caused this????
make sure to push parted again and give it chmod perms (even if you did it before.)
This tutorial only applies to Taimen (2XL).
Can this operation not be performed in win10 environment