Biyernes, Hulyo 10, 2015

[GUIDE]PORTING MEDIATEK DEVICES

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/usr
modules *system/lib
*system/lib
//hw
*system/lib/libncurses.so
tc/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

* 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!!!

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:

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:

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--

 *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

Huwebes, Hulyo 9, 2015

Obsidian v4

Obsidian v4.2
Updated: April 5, 2015

Created by Siong

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Proyecto™ Inova
Click Here!
Proyecto™ Inova FB
Click Here!

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


*Basic Features
 -Rooted
 -Deodexed
 -Debloated
 -init.d Enabled

*Main
-Lollipop
-Jelly Bean User Interface/Framework

*Not Completely
-Material Apps
-Smooth Perfomance
-Clean to use
-Additional Apps
-Updated Google Play Services and Store
-OthersLollipop User Interface/Framework
-Notification Panel/Quick Settings

*From FMD devs
-Status Bar Tint

*From FMD devs
-Launcher
-Easter Egg
-Extended Power Menu (Hot Boot, Download, Recovery, Shutdown)
-Custom Framework Backgrounds (Holo Dark/White)
-Other parts

*Why not completely Lollipop UI? Let's just be different.Material Apps

*Updated
-Calculator
-Calendar
-Clock

*From Lollifox
-Phonebook/Dialer
-File Manager
-Flashlight
-Gallery
-Messenger
-Music Player

*Smooth Performance
-Light Tweaking
-Battery
-Kernel
-CPU
-Net Speed
-A total of 550 VRAM Tweak from Cache, Data, and System
-Clean To Use
-No dirts
-Light Looking

*Additional Apps
-Greenify
-Titanium Backup
-Terminal Emulator

*Updated Google Play Services and Store
-As of April 5, 2015

*Others
-Dolby Digital Plus
-Obsidian Wallpapers (Lollipop Wallpapers)
-Lollipop Boot Animation

































  1. Boot to recovery.
  2. No wipes, just install the ROM.
  3. After the first boot up, reboot to recovery.
  4. Download the patch HERE and install.
  5. When booted up, wait for SuperSU Grant to appear, just press grant.
  6. Titanium Backup will start to restore the default settings.
  7. When finished, reboot.
  8. There you go, Obsidian 4 is now ready to use.
  9. If you want to enable Lollipop Lockscreen, go to Settings>Misc>Custom Lockscreen.