Posted 20 Jul 2015 | by Unknown
Step by step tutorial on how to port any MTK6589 chipset ROM to Spice Mi-535

In this post I will tell you that how to port any MTK6589M/6589/6589T ROM to our Spice Mi-535. 
But before porting the ROMs you should know that what exactly porting is.

What is Porting ? 

Porting is the process of adapting software ( in this case any ROM of different phone having chipset MTK6589M/6589/6589T )  in an environment ( phone's hardware ) for which it was not originally written or intended to execute in. The term is used interchangeably when referring to the changes made to hardware when it has to be made compatible with other environments.

Due to the difference in the hardware of the both the phones ( from phone it is extracted and to phone it is now going to install i.e. in this case Spice Mi-535 ) except Chipset , we need to replace/edit/add some system files from the stock ROM of our device ( Spice Mi-535 ) with the system files of the ROM which we want to port.   

Requirements for porting the ROM to our device ( Spice Mi-535 ) are 


1. Android Kitchen 

Go to this link to download and install Android Kitchen in your PC. 

2. Notepad ++

Download the Notepad ++ from this link.

3. Stock ROM and Downloaded ROM ( ROM which you want to Port ).

Download the Stock ROM of Spice Mi-535 from this link. Use this link to extract the System.img of the stock ROM. You can use this or this ROM also in the place of Stock ROM. You can also use any other ROM i.e. ported for our device ( Spice Mi-535 ) in the place of Stock ROM. But better will be the above options.

You can download different MTK6589M/6589/6589T ROMs from the websites like , , XDA Forum. There are many other websites also but I am giving you the link of famous websites.   

# Steps for Porting the ROM to our Device ( Spice Mi-535 ) #

1. Copy the two ROMs ( Stock ROM and the ROM you want to port ) to

2. Now Run Andriod kitchen & select 1.

3. Select Stock ROM and give the Folder name i.e. WORKING_Stock. Now ROM will  be extracting. After this , Keep updater-script (Edify) format.

4.  Again select 1 option and extract the ROM ( that you want to port ). Give this Folder name i.e WORKING_Port. Again keep updater-script (Edify) format.

5. NOW you will be  having two extracted ROMs i.e. WORKING_Stock ( C/cygwin/home/Username/Kitchen/original_update ) and WORKING_Port ( C/cygwin/home/Username/Kitchen )

Copy/Replace the necessary files from Stock ROM to the ROM you want to port 

Now open two ROMs in separate windows.

1. Delete the folder firmware folder from " WORKING_Port \system\etc " & Copy firmware folder from " WORKING_Stock\system\etc " to " WORKING_Port\system\etc ". Fix gps.conf ( WORKING_Port\system\etc ) by changing the first line to in.xxxxxxxxx or just simply replace/add this gps.config file.

2. Copy all files from " WORKING_Stock\system\lib\hw " and replace with the "  WORKING_Port\system\lib\hw ".

3. Copy all libaud*.so  files from " WORKING_Stock\system\lib " and replace with the " WORKING_Port\system\lib ".

4. Replace and files from " WORKING_Stock\system\lib\" and replace to " WORKING_Port\system\lib\"

5. Copy mtk_stp_wmt.ko and mtk_fm_drv.ko file from " WORKING_Stock\system\lib\modules " and replace with the " WORKING_Port \system\lib\modules ".

Do some necessary changes in build.prop and updater-script

1. Open the WORKING_Port ROM build.prop and make changes to these lines as given below. 

ro.product.model=Spice Mi-535
ro.product.device= Mi-535
ro.product.board: Mi-535 

ro.sf.lcd_density=240 (If this line is not present , then leave this)
(You can change this xyz to anything , but sometimes it creates issues as some ROMs are having OTA support. By changing this , you can face issues regarding OTA update )

2. Open the updater-script using notepad++ from " WORKING_Port \META-INF\com\google\android and verify that system should be mounted in "/dev/block/mmcblk0p5" & /data should be mounted in "/dev/block/mmcblk0p7".

For more information on updater-script go to this site.
If you want to add Aroma-Installer , then go to this and this site

Now some changes in boot.img ( Very Important )

1. In Android Kitchen select "0" and "12" and "w" (It will extract boot.img from WORKING_Port to Kitchen\BOOT-EXTRACTED)

2. Now select "a" and then copy the boot.img from "WORKING_Stock" to "Kitchen\bootimg_mmddyy_hhmmss" 

3. Now copy zlmage from "Kitchen\bootimg_mmddyy_hhmmss" & paste to "Kitchen\BOOT-EXTRACTED"

4. Go to the init.rc file inside extracted boot.img and find (ctrl+F) “cam”. Add more lines (If present) related to camera from stock boot.img init.rc to WORKING_Port ROM boot.img init.rc.

5. Now select "b" option in Android Kitchen (It will build boot.img from BOOT-EXTRACTED).

Now everything is in place , its time to build the ROM

1. Select "99" option and then select "2". You can select "1" also but option "2" will make ROM automatically (including naming of the ROM zip). By option "1" , you can set your desired name.

2. It will automatically create ROM in "Kitchen\OUTPUT_ZIP" after 3-6 mins.



Without the help , guides of these persons , forums etc this guide was not possible. Hats off to them. I have only extended their guides with some my knowledge. Full credits to all of them.

1. Md Rajaul
2. Ansuman Mahapatra
3. Rohan Taneja
4. Mahmood Ali Khan
5. Kannan Rangarajan
6. XDA

7. Google

Very Sorry if I have left anybody's name. Tell me. Will add yours too.


Now if you are facing some issues after porting the ROM , then you can follow these additional steps to fix them

Replace the given files from stock ROM (WORKING_Stock) , 

For Network Related Issues (3G)
Replace from /etc folder, mddb then replace agps_profiles_conf, apns-conf,epo_conf, spn-conf, virtual-spn-conf-by-efpnn, virtual-spn-conf-by-efspn, virtual-spn-conf-by-imsi

For WIFI Toggle Problem
Replace wide-dhcpv6, wifi in /etc folder , system/lib/modules/mtk_wmt_wifi.ko

For Internal/External Memory Not Mount Problem
Replace vold.fstab from /etc folder
In the framework-res.apk of your ported ROM , replace /res/xml/storage_list.xml from stock one.

For Camera Not Connected Issue / Camera Green / Camera Focus Problem
Replace first and check if not success then replace from /lib

For Audio Not Coming In Loudspeaker Mode
Replace from /lib
If still sound related problem:
Replace all libaud*.so
Sometimes replacing all audio files give you a boot loop in that case replace only ,

For Flashlight Not Coming Issue
Replace from /lib

To Fix GPS
Replace from /lib/module folder mtk_stp_gps.ko and xbin/libmnlp

To Fix Compass
Replace from /lib

To Fix Video Showing Pixels And Glitches
Replace , from /lib

For Green Camera
Replace from lib folder

Problem With 2G/3G Switch
Open Dialer and type *#*#4636#*#*
If a Pop Up appears go to Phone Information and choose your preferred network type.

Resolution Problem
Add this line to build.prop ,

But sometimes , adding this doesn't solve the problem. Then in that case you have to resize all the pngs inside the apks and also have to edit the smali files. 

Some Keys Not Working
Replace keylayout folder under usr

Touch Screen Problem
Sometimes screen behaves weird , means for example if you touch bottom left effect on top right almost opposite response .Replace from /system/lib folder.

WiFi Tethering Problem
Replace dnsmasq , wpa_supplicant from /bin folder.

Screen upside Down
In build.prop find this line ,
change the value 0 to 180.

Problem With Proximity Sensor
Replace,, from /lib

Fixing Sdcard or Internal memory not showing Problem 
Replace from /bin folder following files vold. If still not fixed then replace ,


Weird Boot Logo (Distorted or Of High Resolution)
Go to this link. Follow the procedure. Select the ported ROM logo.bin and resize all the pngs inside it to 540 X 960 (Our phone's resolution). Then make logo and then use that new logo.bin.

USB Not Mounting In PC
Replace init.usb.rc from stock rom boot.img to ported rom.

Low Loudspeaker Volume
Replace or edit AudioService.smali in framework.jar of ported ROM. Replace all stream type of sound with 0xf or 0x1e.

Problem With Bluetooth
Replace from system/lib/ ,

This article is submitted by Mr. Gurpreet Singh

Liked This Page. Spare a while to share it.

About The Admin Of This Blog:

Author Of This Article

I am a passionate and experienced Full Stack Web Developer having 4+ years of experience in Web Development using Laravel, React, WordPress, Angular, Vue, Bootstrap, Tailwind CSS, Saas, ES6, etc. I like to explore and learn about new technologies whenever I get any chance.

Stay Connected With Me On GooglePlus, Facebook And Twitter


x ²
x ²
x !



Popular Posts

Total Blog Views