Guide in Porting Mediatek Devices
WORKS FOR:
Only for ICS To ICS & JB To JB(also works with 4.1 to 4.2)~~MT6589 To MT6577~~
~~MT6582 To MT6572~~
~~MT6577 To MT6575~~
Requirements:
- PC(Windows XP/7/8)
- 7-zip
- Notepad++
- Bootimg Unpack/Repack Tools for Windows
- Brain
- Patience
- Coffee?
Now?
Porting for the same SoCs(Like MT6572 To MT6572)
~Replace these from your STOCK to the ROM(Call it Port) u want to port!
Files For Replacing
*system/vendor*system/usrmodules *system/lib*system/lib//hw*system/lib/libncurses.sotc/vold.fstab *syste*system/etc/firmware*system/em/etc/vold.fstab.nand*system/etc/bluetooth
For Fixing Problems
*system/etc/permissions
*system/etc/security
ystem/etc/wifi
*s
*system/etc/audio
*
system/lib/drm
em/lib/soundfx
*system/lisys
t
*system/etc/permissions
*system/etc/security
ystem/etc/wifi
*s
*system/etc/audio
*
system/lib/drm
em/lib/soundfx
*system/lisys
t
* Now Replace the Stock Boot.img to Port ROM!
* Now Open The Port ROM folder and go to META-INF/google/android and open updater-script in Notepad++
* Do the same for the Stock ROM
* Now In the Port ROM's Updater Script, find a line that starts with this...
format(".......
and only replace the mmcblk0p.. with the stock one!
* Do the same for this line...
mount("...
Example:
This is the PORT one!!!
* Now Open The Port ROM folder and go to META-INF/google/android and open updater-script in Notepad++
* Do the same for the Stock ROM
* Now In the Port ROM's Updater Script, find a line that starts with this...
format(".......
and only replace the mmcblk0p.. with the stock one!
* Do the same for this line...
mount("...
Example:
This is the PORT one!!!
format("ext4", "EMMC", "/dev/block/mmcblk0p5", "0", "/system");mount("ext4", "EMMC", "/dev/block/mmcblk0p5", "/system");
This is the Stock one!!
format("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system");mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system");
Now just Replace the "mmcblk0p3" from STOCK to PORT!!
It should look like this:
It should look like this:
format("ext4", "EMMC", "/dev/block/mmcblk0p3", "0", "/system");mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system");
DO NOT REPLACE THE WHOLE LINE!
* Now go back to the Folder of Port ROM and You'll see 2 folders & 1 file named
-META-INF
-system
-boot.img
* Now Select these three and Click Right Mouse Button and Click on 7-Zip ->> Add to Archive
* Now a dialouge box should appear!
* Configure the Format like This:
* Now go back to the Folder of Port ROM and You'll see 2 folders & 1 file named
-META-INF
-system
-boot.img
* Now Select these three and Click Right Mouse Button and Click on 7-Zip ->> Add to Archive
* Now a dialouge box should appear!
* Configure the Format like This:
Archive format: ZIP
Compression Level : Normal
Compression Method: Deflate
Dictoioany Size: 32k
Word Size 32
* Now Start Zipping and Push the ZIP to your Memory Card
* Go to Recovery >> Install ZIP & Wipe Data
Finished!!
Now was that so hard?? Its a Really Easy thing to d0!!
Now Come to the Hard Part!!
Porting From Different SoCs ( Ex: MT6582 to MT7572 )
Read this carefully & apply the way i say!
* Take the ROM u want to port & name it PORT!
* Take your Stock ROM & Name it Stock
* Now Replace These files from Stock to PORT--
Compression Level : Normal
Compression Method: Deflate
Dictoioany Size: 32k
Word Size 32
* Now Start Zipping and Push the ZIP to your Memory Card
* Go to Recovery >> Install ZIP & Wipe Data
Finished!!
Now was that so hard?? Its a Really Easy thing to d0!!
Now Come to the Hard Part!!
Porting From Different SoCs ( Ex: MT6582 to MT7572 )
Read this carefully & apply the way i say!
* Take the ROM u want to port & name it PORT!
* Take your Stock ROM & Name it Stock
* Now Replace These files from Stock to PORT--
*system/vendor *system/usr *system/lib/modules *system/lib/hw *system/lib/libncurses.so *system/etc/firmware *system/etc/vold.fstab *system/etc/vold.fstab.nand *system/etc/bluetooth
* Now Open build.prop in notepad++ & Search for this line
Code:
ro.mediatek.platform=MT65xx
Now Replace this (MT65xx) with your CPU!!
For Example
Code:
ro.mediatek.platform=MT6572
* Now Go To META-INF/google/android and open updater-script in notepad++
* Add this line between the lines of "set_perm"
Code:
set_perm(0, 0, 0644, "/system/vendor/lib/hw/gralloc.mt65xx.so");
[Replace the mt65xx with your cpu]
Example:
Code:
set_perm(0, 0, 0644, "/system/vendor/lib/hw/gralloc.mt6572.so");
* Now Go back to the Rom folder and Take the boot.img and decompile it with any bootimg-unpack tool!
* Now delete the zimage and rename boot.img-ramdisk to PORT-Ramdisk
* Now Do the Same for Stock boot.img and open the folder named PORT-ramdisk and copy all the fil PORT-[QUOTE]ramdisk to boot.img-ramdisk of your Stock boot.img
* Now Go to boot.img-ramdisk and open init.rc
* Now find these lines and replace with your cpu
Code:
#Create Chip Property on early_property:ro.hardware=mt6582 setprop ro.mtk.hardware mt6589 on early_property:ro.hardware=mt6589 setprop ro.mtk.hardware mt6589
example :
Code:
#Create Chip Property on early_property:ro.hardware=mt6582 setprop ro.mtk.hardware mt6572 on early_property:ro.hardware=mt6589 setprop ro.mtk.hardware mt6572
* Now Compile your New boot.img and Pack your New ROM and Flash!!
Cheers!!!!
Porting Lewa OS5 ROM:
* Replace These files from Stock to LeWa OS5 ROM
Code:
*system/vendor *system/usr *system/lib/modules *system/lib/hw *system/etc/firmware *system/etc/vold.fstab *system/etc/vold.fstab.nand *system/etc/bluetooth
* Replace Stock boot.img to Lewa OS5 ROM
* Unpack boot.img
* Open init.rc
* Find these lines
Code:
on early_property:ro.build.type=user write /proc/bootprof "INIT: user build setting" export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/mediatek-common.jar:/system/framework/mediatek-framework.jar:/system/framework/secondary-framework.jar:/system/framework/CustomProperties.jar:/system/framework/mediatek-telephony-common.jar:/system/framework/mediatek-op.jar on early_property:ro.build.type=userdebug write /proc/bootprof "INIT: userdebug build setting" export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/mediatek-common.jar:/system/framework/mediatek-framework.jar:/system/framework/secondary-framework.jar:/system/framework/CustomProperties.jar:/system/framework/mediatek-telephony-common.jar:/system/framework/mediatek-op.jar on early_property:ro.build.type=eng write /proc/bootprof "INIT: eng build setting" export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/mediatek-common.jar:/system/framework/mediatek-framework.jar:/system/framework/secondary-framework.jar:/system/framework/CustomProperties.jar:/system/framework/mediatek-telephony-common.jar:/system/framework/mediatek-op.jar:/system/framework/emma.jar
* Now Add this line in the end of 1t and 3rd line
:/system/framework/lewa-framework.jar
Example:
Code:
on early_property:ro.build.type=user write /proc/bootprof "INIT: user build setting" export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/mediatek-common.jar:/system/framework/mediatek-framework.jar:/system/framework/secondary-framework.jar:/system/framework/CustomProperties.jar:/system/framework/mediatek-telephony-common.jar:/system/framework/mediatek-op.jar:/system/framework/lewa-framework.jar on early_property:ro.build.type=userdebug write /proc/bootprof "INIT: userdebug build setting" export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/mediatek-common.jar:/system/framework/mediatek-framework.jar:/system/framework/secondary-framework.jar:/system/framework/CustomProperties.jar:/system/framework/mediatek-telephony-common.jar:/system/framework/mediatek-op.jar on early_property:ro.build.type=eng write /proc/bootprof "INIT: eng build setting" export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/mediatek-common.jar:/system/framework/mediatek-framework.jar:/system/framework/secondary-framework.jar:/system/framework/CustomProperties.jar:/system/framework/mediatek-telephony-common.jar:/system/framework/mediatek-op.jar:/system/framework/emma.jar:/system/framework/lewa-framework.jar
* Now Compile the new boot.img and Repack your New Lewa OS5 ROM
Porting MiUI ROM
Replace These files from Stock to MiUI ROM
Code:
*system/vendor *system/usr *system/lib/modules *system/lib/hw *system/etc/firmware *system/etc/vold.fstab *system/etc/vold.fstab.nand *system/etc/bluetooth
* Replace Stock boot.img to Lewa OS5 ROM
* Unpack boot.img
* Open init.rc
* Find these lines
Code:
on early_property:ro.build.type=user write /proc/bootprof "INIT: user build setting" export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/mediatek-common.jar:/system/framework/mediatek-framework.jar:/system/framework/secondary-framework.jar:/system/framework/CustomProperties.jar:/system/framework/mediatek-telephony-common.jar:/system/framework/mediatek-op.jar on early_property:ro.build.type=userdebug write /proc/bootprof "INIT: userdebug build setting" export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/mediatek-common.jar:/system/framework/mediatek-framework.jar:/system/framework/secondary-framework.jar:/system/framework/CustomProperties.jar:/system/framework/mediatek-telephony-common.jar:/system/framework/mediatek-op.jar on early_property:ro.build.type=eng write /proc/bootprof "INIT: eng build setting" export BOOTCLASSPATH /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/mediatek-common.jar:/system/framework/mediatek-framework.jar:/system/framework/secondary-framework.jar:/system/framework/CustomProperties.jar:/system/framework/mediatek-telephony-common.jar:/system/framework/mediatek-op.jar:/system/framework/emma.jar
* Do the Same as Lewa and add this line in the end of 1st and 3rd line.
Code:
:/system/framework/miui-framework.jar
* Compile the New Boot.img and Repack your new ROM and FLash!!
Cheers!!
Enjoy your New ROM and Give Credits to me for if I Helped you!
For Advanced Users:
PORTING FIX:
Framework:
* decompile framework.jar
* Go to
Code:
\smali\com\mediatek
* Replace All Files from STOCK to this Folder
* Now go to
Code:
\smali\com\android\server
* Replace All Files from STOCK to this Folder
* Compile framework.jar and Push to Device!
* This Should FIX Bootloop, Mms.apk, Phone.apk, Settings.apk, Contacts.apk Force Close
* Fixing Other Problems:
Files related to Specific hardware:
* Replace if Not Working!!
* Camrea:
Code:
\system\lib\libcamalgo.so \system\lib\libmhaldrv.so \system\lib\libcamera_client.so \system\lib\libcameracustom.so \system\lib\libcameraprofile.so \system\lib\libcameraservice.so
* GPS:
Code:
/system/xbin/libmnlp
* Bluetooth & Wifi:
Code:
/system/lib/libbluetooth_mtk.so /system/lib/libbluetoothem_mtk.so
* Radio:
Code:
\system\lib\libaudio.a2dp.default.so \system\lib\libaudio.primary.default.so \system\lib\libaudiocompensationfilter.so \system\lib\libaudiocustparam.so \system\lib\libaudioeffect_jni.so \system\lib\libaudioflinger.so \system\lib\libaudiosetting.so \system\lib\libfmar1000.so \system\lib\libfmcust.so \system\lib\libfmjni.so \system\lib\libfmmt6616.so \system\lib\libfmmt6620.so \system\lib\libfmmt6626.so \system\lib\libfmmt6628.so
* For Fixing Wifi & FM-Radio do this!
(NOT NEEDED IN MT6572)
Code:
fmradio.driver.chip=1
(Change it to 3 if yours is MT6628)
Code:
mediatek.wlan.chip=MT6620
(Replace mediatek.wlan.chip=MT6620 to your WLAM Chip Type Ex: mediatek.wlan.chip=MT6628 for MT6628)
Code:
mediatek.wlan.module.postfix=_mt6620
(Replace mediatek.wlan.module.postfix=_mt6620 to your WLAM Chip Type Ex: mediatek.wlan.module.postfix=_mt6628 for MT6628)
* Now open updater-script and Find this line or ADD a New one(If Not Found)!!
symlink("wlan_mt6620.ko", "/system/lib/modules/wlan.ko")
(Replace wlan_mt6620.ko to your WLAM Chip Type Ex: wlan_mt6628.ko for MT6628)
Thanks to @yuweng for The Tutorial on MTK ROM Porting
Walang komento:
Mag-post ng isang Komento