Monday, June 5, 2017

[Guide] [4.x.x] [JB] MTK ROM Porting

MT65xx Porting Guide

I will not be responsible for any damage to your device.

This guide is only for porting ROM of the same chipset. You can port any ROM which is made for your chipset.

MT6572 to MT6572
MT6582 to MT6582
MT6592 to MT6592
MT6577 to MT6577
MT6589 to MT6589

This guide can only be used to port ROMs for the same android version.

4.2.2 to 4.2.2
4.3 to 4.3

Guide :

ONLY FOR PERSONAL USE If you want to share please take permission, give proper credits and give link to this post

TO PORT TO YOUR DEVICE :

Replace files and folders from stock to port :

1. /system/vendor/
2. /system/usr/
3. /system/priv-app
4. /system/lib/modules (this might not be present in 4.4.2 ROMs)
5. /system/lib/hw
6. /system/etc/firmware
7. /system/etc/bluetooth
8. /boot.img
9. /system/etc/vold.fstab (for jellybean devices only)
10. /system/etc/vold.nand.fstab (for jellybean devices only)

To fix problems :


Replace files and folders from Stock to Port

1./system/etc.permissions/
*Note copy all files from /system/etc/permissions/ and paste them in Port ROM /system/etc/permissions/ replacing files, but do not delete any files
2. /system/etc/security
3. /system/etc/audio
4. /system/etc/wifi
5. /system/lib/drm
6. /system/lib/soundfx


Last Step :

This step is important because sometimes the device gets stuck in boot logo because the /system partition is not mounted properly1. Open Port ROM /META-INF/com/google/android/updater-script using Notepad++
2. Open MTK Droid Tools and connect your device
3. Select Blocks Map
4. Now in updater-script find a line that resembles this (Note it will not be the same)



format("ext4", "EMMC", "/data", "0");

format("ext4", "EMMC", "/system", "0");

mount("ext4", "EMMC", "/dev/block/mmcblk0p4", "/system");

mount("ext4", "EMMC", "/dev/block/mmcblk0p6", "/data");

5. In the Blocks Map you opened before find these :



6. Now just change the mount points accordingly

Example : 

*Note : Your updater-script and my updater-script will not be the same 

My Port ROM updater-script has these lines :

"format("ext4", "EMMC", "/cache", "0");

format("ext4", "EMMC", "/system", "0");" (These lines do not have any mount points you do not need to do anything)
"mount("ext4", "EMMC", "/dev/block/mmcblk0p8", "/system");
mount("ext4", "EMMC", "/dev/block/mmcblk0p10", "/data");" (The red colored numbers are the mount points)

My Blocks Map shows that /system is mounted in 5 and /data is mounted in 7 so I will edit it like this :


format("ext4", "EMMC", "/cache", "0");

format("ext4", "EMMC", "/system", "0");
mount("ext4", "EMMC", "/dev/block/mmcblk0p5", "/system");
mount("ext4", "EMMC", "/dev/block/mmcblk0p7", "/data");

To fix stuck on boot animation after flashing MIUI ROM :
Port the kernel using this guide : Port Kernel

To fix bootloop :

Replace files from Stock to Port
1. libandroid_runtime.so
2. libandroid_servers.so
3. libmedia_jni.so

To fix black screen, Or messed up boot screen :
Replace files from Stock to Port
1. /system/lib/libMali.so

To fix memory issues :
Replace files from Stock to Port
1. /system/bin/vold

To fix audio :
Replace files from Stock to Port
1. /system/lib/libaudio.primary.default.so

No comments:

Post a Comment