[Miscellaneous Android Development] Xtreme.Ornob:
HOW to Port ROMs...

For Begineers & Advanced Users

Almost Any Device to Any Device!

ONLY FOR MEDIATEK SoCs

In This Guide You'll Learn..

How to Port ROMs of the Same CPU

And Also..

HOW TO PORT ROM FROM A DIFFERENT SoC ;)

Works for-

MT6589 to MT6577

MT6582 to MT6572

MT6577 to MT6575

Only ICS to ICS & JB to JB

May also work with 4.1 to 4.2

No Need of Source Code

No Need of Kernel Source

No Need of **ANDROID KITCHEN

No Need of LINUX... :D

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

For Fixing Problems...

*system/etc/permissions
*system/etc/security
*system/etc/audio
*system/etc/wifi
*system/lib/drm
*system/lisystem/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: 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

ro.mediatek.platform=MT65xx

Now Replace this (MT65xx) with your CPU!!

For Example

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"

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