port tutorial

Download Port Tutorial

If you can't read please download the document

Upload: santhosh-subramanian

Post on 28-Dec-2015

50 views

Category:

Documents


4 download

TRANSCRIPT

HOW TO PORT ROM FROM A DIFFERENT SoC!!!!!Works for-MT6589 to MT6577MT6582 to MT6572MT6577 to MT6575Only ICS to ICS & JB to JBMay also work with 4.1 to 4.2No Need of Source CodeNo Need of Kernel SourceNo Need of **ANDROID KITCHENNo Need of LINUX... [IMG]Requirements:* A Brain* Patience* Windows XP/7/8* 7-Zip* Notepad++* Bootimg Unpack/Repack Tools for Windows!* Stock ROM* And a Little Respect!!So now Lets Begin...PORTING For Same SoCs ( Ex: MT6572 to MT6572)* Replace these from your Stock ROM to the ROM u want to PORT!! Lets Call it "PORT"FILE LIST FOR REPLACING:*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/bluetoothFor Fixing Problems...*system/etc/permissions*system/etc/security*system/etc/audio*system/etc/wifi*system/lib/drm*system/lib/egl*system/lib/soundfx* 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: ZIPCompression Level : NormalCompression Method: DeflateDictoioany Size: 32kWord Size 32* Now Start Zipping and Push the ZIP to your Memory Card* Go to Recovery >> Install ZIP & Wipe DataFinished!!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 linero.mediatek.platform=MT65xxNow Replace this (MT65xx) with your CPU!!For Examplero.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"set_perm(0, 0, 0644, "/system/vendor/lib/hw/gralloc.mt65xx.so");[Replace the mt65xx with your cpu]Example: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 files from PORT-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#Create Chip Propertyon early_property:ro.hardware=mt6582setprop ro.mtk.hardware mt6589on early_property:ro.hardware=mt6589setprop ro.mtk.hardware mt6589example :#Create Chip Propertyon early_property:ro.hardware=mt6582setprop ro.mtk.hardware mt6572on early_property:ro.hardware=mt6589setprop 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*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 lineson early_property:ro.build.type=userwrite /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.jaron early_property:ro.build.type=userdebugwrite /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.jaron early_property:ro.build.type=engwrite /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.jarExample:on early_property:ro.build.type=userwrite /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.jaron early_property:ro.build.type=userdebugwrite /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.jaron early_property:ro.build.type=engwrite /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 ROMPorting MiUI ROMReplace These files from Stock to MiUI ROM*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 lineson early_property:ro.build.type=userwrite /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.jaron early_property:ro.build.type=userdebugwrite /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.jaron early_property:ro.build.type=engwrite /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.:/system/framework/miui-framework.jar* Compile the New Boot.img and Repack your new ROM and FLash!!ADVANCEDPORTING FIX:Framework:* decompile framework.jar* Go to\smali\com\mediatek* Replace All Files from STOCK to this Folder* Now go to\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:\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:/system/xbin/libmnlp* Bluetooth & Wifi:/system/lib/libbluetooth_mtk.so/system/lib/libbluetoothem_mtk.so* Radio:\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)fmradio.driver.chip=1(Change it to 3 if yours is MT6628)mediatek.wlan.chip=MT6620(Replace mediatek.wlan.chip=MT6620 to your WLAM Chip Type Ex: mediatek.wlan.chip=MT6628 for MT6628)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)Read more: http://www.guruslodge.com/index.php?threads/mediatek-rom-porting-guide.37054/#ixzz2zb7pD7ye