Mediatek to Snapdragon porting guide - Miscellaneous Android Development

Porting guide Credits to Dragos Andrei . facebook post credit to IACOB IONUT
You can port from MTK to MSM or from MSM to MTK
For LP :
MSM : Kernel - 3.10.54 to MTK : Kernel - 3.10.65
For MM
MSM : Kernel - 3.10.48 to MTK : Kernel - 3.18.19
First part Boot.Img
1.Replace kernel from stock to port
2.From init.rd all files need compared-named need to be same from stock bootimg and use your brain to change Mount points in init.rc(also init.qcom.rc)
3.Compare all and need to have some knowledge for this.No noobs or beginners.
Second part System
1.Apps.only if is something from mtk or snapdragon replace and delete all which is not for your chipset
2.Bin folder.Delete and replace with Stock.This is need because is different from mtk or snapdragon
3.Etc folder.Delete Firmware Wifi Bluetooth all folders which is like from aosp(for example amigo ui use special folders to boot their rom).Files for custom os need to be not changed.only which is for your soc.
4.Framework.For Snapdragon delete all which begin with mediatek-..... and replace from stock with qc... or qcom... and compare all which is from stock with port.Also fromm framework replace from framework-res.apk(res/xml)-storage.xml
5.All mtk...libs deleted and replace all which have same name in lib...so All which is not for porting os from port need to be deleted and not replaced from stock.(can cause bootloop)
6.Usr.Delete and replace this folder with stock.
7.Vendor.Nothing not need to be changed.Only lib need to be compared and changed if is needed.
8.Rfs.Delete and replace from stock
9.Build.prop.Change especially for your chipset
Final part.Meta Inf
Change only mount points.
For final you need to have some knowledge about all files from your socs......Also a second porting guide will be released for noobers.
Second porting guide
1.From stock delete only app priv-app media fonts tts build prop and framework(move to another dir)
2.Replace from port folders but framework delete mediatek or qc files but copy from
stock missing files and delete files which is in plus.
3.Lib.Delete qc or mtk and replace all which is desired from stock.
4.And all folders like from three step.
This guide is desired for devs which have some experience for porting.Also is not a officially guide can be unstable and not work but need to be tried.For mine worked to port amigo ui from mtk to msm & color os
Credit : DragosAndrei , IACOB IONUT
 @jashiovan

first of all i thought it was impossible !
thanks man for hope and tutorial <3
but i want to ask what about nougat kernel ?
am on redmi note 4 SD MIUI 8 N

Related

[Completed] [Q] pot a chinese tablet

hello, try to compile cm kk, on a Chinese tablet, the vendor doesnt give the sources, and I will have to create my own device, the main board is a k8028-v4 sun7i, I will not change the kernel, but I need to create mk's files , Where I can find how to do it?, I have the partitions, i extracted the boot.img from thetablet with dd, I extracted /system whit push, I have the build.prop from the tablet, information processor a20, I have a generic kernel suni7 3.3, compatible with stock, but when I build, I havent support for my tablet, so how I can create the device and vendor to compile, i must create mk files, but cannt find a detailed guide to do it, it's like port a new device, help
Tablet is a TechPad C981, sun7i allwinner a20 mp3 mali-400 gpu
a7 cortex 1Ghz dualcore cpu, vpu cedarx simd neon, hdmi cec
k8028-v4 mainboard. Extracted / system boot.img
when execute mkvendor.sh TechPad C981 ~ / boot.img in cm11
I do not work, only if I run mkvendor.sh techpadc981 ~ / boot.img
and creates the directories linux
as the device port
step by step guide
Olintonatiuh said:
hello, try to compile cm kk, on a Chinese tablet, the vendor doesnt give the sources, and I will have to create my own device, the main board is a k8028-v4 sun7i, I will not change the kernel, but I need to create mk's files , Where I can find how to do it?, I have the partitions, i extracted the boot.img from thetablet with dd, I extracted /system whit push, I have the build.prop from the tablet, information processor a20, I have a generic kernel suni7 3.3, compatible with stock, but when I build, I havent support for my tablet, so how I can create the device and vendor to compile, i must create mk files, but cannt find a detailed guide to do it, it's like port a new device, help
Tablet is a TechPad C981, sun7i allwinner a20 mp3 mali-400 gpu
a7 cortex 1Ghz dualcore cpu, vpu cedarx simd neon, hdmi cec
k8028-v4 mainboard. Extracted / system boot.img
when execute mkvendor.sh TechPad C981 ~ / boot.img in cm11
I do not work, only if I run mkvendor.sh techpadc981 ~ / boot.img
and creates the directories linux
as the device port
step by step guide
Click to expand...
Click to collapse
I see that you have already asked this in Cgef Central forum (http://forum.xda-developers.com/chef-central/android/help-help-compile-kernel-make-manifest-t2894423).
That's a good place to ask IMO.
You can find some general guides for porting CM ROM here:
1. Android Development and Hacking > Android Software Development > [GUIDE]How to port roms to your Device
2. Android Development and Hacking > Android Software Development > [GUIDE] How To Port Different Roms to Your Device - For CM, AOSP & AOKP
And there are some instructions on the CM website itself.
Maybe that can help you to port CM for your device.
Thread closed and thank you !

[GUIDE]How To Port a Custom Rom (Noob Friendly)

Well lots of people asked me here and on facebook to expain how i port custom roms for my device so i decided to make a Noob friendly thread for those who want to learn how to port custom rom for their device i use this method for porting samsung roms for my device but it may also work on any other device as well
I will make myself as clear and as simple as possible so anyone can understand what actually is happening in each part of the guide
The method i use for porting roms is as following :
Things which you need are : Notepad++ , 7Zip a laptop and a brain
First of all you need to understand what really matters when porting a custom rom for you device and that is the compatibility of both the devices one which is yours and one from which you are trying to port the rom from in order to port a custom rom the specifications of both the devices should be similar i.e. they should be sharing the same Chipset ,same Internal memory , same Ram and Camera resolution
Terms used in the guide:
-Base rom(this is the rom which was made for your device which you would use as a base for porting the roms)
-Port rom(this is the rom which your are trying to port for your device)
Step 1
Make a folder at your desktop and name it port now take any custom rom you want to port for your device and put it into that folder now just like this make another folder on the desktop and name it base and put a rom made for your device into it but be careful if youre trying to port a cyanogenmod based rom or a AOSP based rom then your base rom should be a ASOP or a cyanogenmod rom and if youre trying to port a samsung rom then the base rom should be a samsung rom and same as for htc , xperia or any other device
Step 2
Now go to base folder and right click on the base rom and choose extract here using either winrar or 7zip ( i recommend 7zip) now go to port folder and right click on it and choose open archive option from 7zip( there will be two options for open archive one and two just chose the upper one because the lower one will extract the rom and we don't want that for this one )
Step 3
The port rom elements will be shown like meta inf and system and boot img ( absent in some cases) now go to port roms system folder then proceed as following system>etc>firmware and delete the firmware folder now go to base rom and copy the firmware folder from the same path by going from system>etc>firmware and paste it into the etc folder of the port rom
Step 4
Now go to the port rom proceed as following system>lib>modules and delete the module folder and just like how we did before copy the module folder from the base rom into the port roms lib folder
Step 5
Now go to port rom and proceed as following system>usr>keylayout>generic.kl and delete it and copy the generic.kl from the base rom into the port rom
Step 6
now copy and replace the boot.img from the base rom into the port rom
Step 7
No go to port folder and and proceed as following system>meta-imf>com>google>android>updater binary and updater script and delete these two and replace from the ones in the base folder
Step 8
Now put the port rom into your external-sd card and flash via recovery with a full data and cache wipe
Some fixes for bugs and issues:
Note: try replacing the files into the port rom and see if the problem solves or not
NFC
/system/app/Nfc.apk
/system/lib/libnfc*.so
/system/bin/pcscd
Radio
/system/bin/fmradio
Sensors
/system/bin/akmd*
/system/lib/libsensors.so
Bluetooth
/system/bin/bd_prov
/system/bin/uim*
/system/bin/hcid
/system/bin/bluetooth*
/system/bin/hciattach
/system/bin/sdptool
/system/xbin/hciconfig
Wifi
also copy and replace the wlan.ko file from system>libs>modules into the port rom from the base rom if the file name is pronto_wlan.ko then rename it to wlan.ko before replacing
/system/bin/netcfg
/system/bin/dhcpcd
/system/bin/ifconfig
/system/bin/hostap
/system/bin/hostapd
/system/bin/hostapd_bin
/system/bin/pcscd
/system/bin/wlan*
/system/bin/wpa*
RIL
/system/bin/stmd
/system/bin/rild*
/system/etc/rril
Camera
Copy libcamera*.so from base to port rom
If rom does not boot after that, replace file one by one and see which file is the problem.
If you have any questions or queries then feel free ask any things
for future
just in case

[guide][how to] port miui 7 to any mt6582 device

Many porters are not able to port MIUI Rom to MT6582.... I will give a guide to port MIUI 7 ROM to any MT6582 With Kitkat firmware... This guide is for porters only and works for MIUI 6 also...Noobs Try at ur own Risk...
REQUIREMENTS:
- Basic Knowledge about porting and boot.img editing using android kitchen.
- Use onli TWRP/CTR Recovery.
- YOUR STOCK MT6582 ROM(KK FIRMWARE ONLI)
- ANDROID KITCHEN
- PORT MT6582 MIUI 7 ROM ( use my rom for A104 or Gionee M2 Rom by ARGN Devs... We keep our roms updated)
Canvas A104 MIUI 7 ROM: DOWNLOAD
Gionee M2 MIUI 7 ROM: DOWNLOAD
STEPS:
1: PREPARING:
-Extract both roms to different folder... Setup Android Kitchen.
2: SYSTEM EDITING:
-Bin Folder: Replace vold,sdcard from stock to port.
-Libs Folder: Open port libs folder and delete /hw folder.... Now replace /hw folder libcameracustom.so, libcameraservice.so, libfeatureio.so, libMali.so and libshowlogo.so from stock to port.
-etc Folder: Open port etc folder and delete /firmware and /mddb folder... Replace /firmware & /mddb from port to stock... if u dont have mddb folder in stock leave it...
-Vendor Folder: Open port vendor folder and delete /lib and /media folder...replace /lib and /media folder from stock to port.
-Xbin Folder: Replace libmnlp_mt6582 and mnld from stock to port rom.
- Build.prop : Open build.prop and edit device name with urs .... Finding the correct lcd density is a big problem ... Try 210 first ... change it if u have dpi issues (Dont set below 210).
3: UPDATER-SCRIPT:
- Open updater script and change mountspace id (mmcblkpxx) as per ur device.. U can find it using MTK Droid Tool.
4: BOOT.IMG EDITING:
- Unpack boot.img of both stock and port rom using kitchen... We have to recombile port rom boot.img so unpack boot.img of port rom from working folder.
- Copy ZImage from Stock and replace in port.
- Copy sepolicy from stock ramdisk to port.
- Open uevent.rc of both roms in notepad+ and copy any additional lines from port to stock... use any text compare tool to find additional lines.. dont delete any lines onli add lines from port... Now replace uevent.rc from port with stock rom uevent.rc(The one u added lines from stock)
- Repack port rom boot.img and move it to port folder.
- Replace #camera lines of init.rc from stock to port if u get camera error/ green camera.
- If u Get Sdcard /Internal memory not mounting issue.... Rename init.no_ssd.rc of stock boot.img to init.ssd.rc and replace it in init.ssd.rc of port boot.img.j v
5: FINISHING UP:
- Now compress the port rom into .zip and flash on your device. Njoy!!!
BUG FIXING:
- Same as Other KK Roms... If u have any issues comment below...
CREDITS:
-Geo Baby for all his help.
[email protected] for his excellent Crossporting guide.
[email protected]
-Many xda MTK devs for their guides.
Please Hit Thanks if u find this post useful ...
Can this guide work for porting from mt6582 to mt6572 after porting to mt6582? Another crossport if you will
Please tell me how to fix camera error? i replaced #camera line in my stock rom but it can't slove
awesome
bro this gives me error seven even i change the products name......n also it failed to mount / system gives ivvalid argument

[Guide] AIO PORTING GUIDE [MTK-QUALCOMM-RECOVERY-BUGFIX-VOLTE]

ALL IN ONE PORTING GUIDE
by @kuberrocks96
Code:
/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*/
INDEX:
GUIDE FOR MTK
MTK BUG FIXING
RECOVERY PORTING
QUALCOMM BUG FIXING
Update:-
Code:
*Updated Bug Fix Guide for MTK
*Added SNAPDRAGON Bug fix guide.
*Guide to port TWRP also updated.
*Improved the thread.
*Added more fixes.
*Qualcomm porting guide added.
This is for all those users who want to port roms and use them in their devices.
But , before porting any rom,here are some of the main things you should keep in mind.
1)Base Rom :-
What is a Base Rom?
Code:
Base Rom is reffered to the Stock rom or the Default Rom of your device or sometimes the rom from which you will take base files(libs,apns,modem etc).
2)Port Rom
What is a Port Rom?
Code:
Port Rom is the rom which you will port for your device.
like if you are working a rom of another device having similar specifications and porting it for your device then it is called PORT ROM.
3)Kernel
What is a Kernel?
Code:
The kernel is a computer program that is the core of a computer's operating system, with complete control over everything in the system.
the central or most important part of something
In easy words kernel acts as the middle man between the Software and the Hardware
When porting a rom , you should check the Kernel version of the Port Rom and the Base Rom
They both should be similar,
like you can port from :
3.18.xx to 3.18.xx only
3.10.xx to 3.10.xx only
BUGS IN THE BASE ROM OR IN THE PORT ROM.
Yes , our Base Rom and the Port roms may contain bugs,
Those bugs will exist in our final Ported Rom also so , fixing those is not possible - Its always recommended to use a Stable or near to Stable Roms but hi, Custom Roms are made for pleasure only and these roms can't take place of stock roms.
Many users don't like Stock Rom (i.e Default Rom) so , they look for a Custom Rom.
Now let's talk about the main topic for which YOU ARE HERE!
PORTING A ROM!
In this Guide, i will tell one of the most easy way to BOOT UP THE ROM.
So, lets begin,
This guide will focus on MT6735/MT6753 porting.
Device i used is Coolpad Note 3 Lite
CPU:MT6735
But, it will work mostly on all MT675X SoCs , this can also be useful for MT67XX series but , My main focus is on MT675X
Without any delay let's talk about how you should port a ROM and what should be your focus at
YOU SHOULD FOCUS ON BOOTING THE ROM INSTEAD OF BUG FIXING AND DOING OTHER THINGS.
WHEN YOU PORT A ROM CHANGE FILES WISELY
DONT JUST COPY PASTE
PORTING A ROM CAN GET TOUGH ACCORDING TO THE ROM, LIKE PORTING AN AOSP BUILD CAN BE EASY BUT PORTING A MIUI BUILD IS CONSIDERED ONE OF THE MOST TOUGHED AND IRRITATING THING.
RESPECT THE EFFORTS BY THE PREVIOUS DEV.
CREDITS, WHEN YOU PORT A ROM THAT ROM WAS MADE BY SOMEONE , PORTED BY SOMEONE or BUG FIXED BY SOMEONE - SO BY ANY MEANS IF YOU KNOW THE SOURCE AND THE DEV OR TEAM WHOSE BUILD YOU ARE PORTING PLEASE GIVE CREDIT.
THANKS.
NOW , FINALLY. LET'S TALK ABOUT THE PORTING GUIDE WHICH YOU ALL ARE WAITING FOR.
What you guys need:-
Code:
1)Base Rom
2)Port Rom
3)Any good Notepad
4)Any Boot.img repack or unpack tool
5)Brain
Now , if you have all the above mentioned things , Lets proceed.
BOOT.IMG :-
BOOT.IMG contains all the magic , it has the KERNEL inside which is one of the main thing.
Porting from Same CPU & GPU:-
NOTE:- When you are porting from a Similar device having same chipset like porting from:-
MT6753 TO MT6753
MT6735 TO MT6735
Use this method (95% times working ):-
System/lib & lib64 :-
Code:
libaudiocomponentengine.so
libaudiocustparam.so
libnvram.so
libnvramagentclient.so
libnvram_platform.so
libnvram_sec.so
libcustom_nvram.so
System/etc :-
Code:
/Firmware folder
/apnconfig
/spnconfig
/agps_profile_conf2
/media_codecs.xml
BLACK SCREEN AFTER LOGO???
REPLACE THIS LIB:- libcam.paramsmgr
To Fix Camera ( sometimes bootloop so try one by one ) :-
from System/lib & lib64 replace all libs starting like this:-
Code:
libcamera.mt6735 (mt6735 is according to my CPU )
libcameracustom.lib etc
libcamalgo.lib
Unpack Boot.img of both Base & Port Rom
Code:
replace kernel
and init.mt6735.rc ( not recommended always)
and Fstab.mt6735
System/Lib(/64)/HW*
Done , Now zip em and flash.
90% Rom will boot with BUGS! ( NO ROM IS THERE WITHOUT BUGS, LOL)
==>READ BUG FIX METHOD ALSO{Later in this Guide}<==
For Cross Porting Like:-
MT6752 etc to MT6753/MT6735
DO REMEMBER TO CHANGE :-
Code:
System/xbin/mnld
System/mddb
System/etc/firmware
System/etc/Apnconf
System/etc/spnconf
In lib(/64)/HW :- add files accordingly to your CPU or rename them.
BLACK SCREEN AFTER LOGO :-
Code:
libcam.paramsmgr
BOOT.IMG PORTING:-
UNPACK both Base Rom and Port Rom Boot.img
In PORT ROM BOOT.IMG:-
Code:
replace the boot.img-kernel
and in ramdisk folder add these files from Base Boot.img to Port Boot.img
Code:
fstab.mt6735
init.mt6735.rc
init.mt6735.usb.rc
Note:- Name may differ a little according to your CPU
REPACK THE BOOT IMAGE
NOTE:- If u get WIFI AND BLUETOOTH NOT SWITCHING ON OR BATTERY PERCENTAGE THEN REPLACE
Code:
init.project.rc
Done , You have succesfully ported Boot.img
Now , Lets focus on BUG FIXING
Bug Fixing isnt easy as it seems.
Replacing any wrong file or not supported file can easily give you bootloops.
It depends from ROM to ROM.
BUG FIXING[MTK]
Let's Begin.
If any lib missing in Base leave that - DONT WORRY
NOTE:- CHANGE LIB FILES FROM BOTH lib & lib64 folders
If you face "This rom is for Coolpad Note 3 Lite and your device is "K4Note"
To remove this delete the assertlines in Updater-script
ALWAYS CHANGE DPI IN BUILD.PROP ACCORDING TO YOUR STOCK ROM
Bootloop when porting
Code:
*libandroid_runtime.so
*libandroid_servers.so
*libmedia_jni.so
*Repack boot.image (properly)
RadioFM
Code:
\system\bin\fmradio
\system\etc\firmware\mt6620_patch_e3_hdr.bin
\system\etc\firmware\mt6620_patch_e6_hdr.bin
\system\etc\firmware\WMT.CFG
\system\lib(/64)\libfmcust.so
/system/lib(/64)/libfmjni.so
Sensors
Code:
/system/bin/akmd*
/system/lib/libsensors.so
/system/lib/libms3c_yamaha.so ( acc. To device)
/system/etc/firmware (folder)
/system/bin/servicemanager
/system/bin/sensorservice
System/bin/msensord
system/etc/permissions/:-
android.hardware.sensor.xxxxx.xml
FIX Offline charging:-
Code:
In Boot.img -> sbin/healthd
System/Lib(/64):-
Showlogo
System/bin:-
Kpoc_charger
Bluetooth\Wifi not turning On\Off(old)
Code:
\system\lib\module\mtk_stp_wmt
Wifi
Code:
/system/etc/wifi (folder)
/system/bin/netcfg
/system/bin/dhcpcd
/system/bin/ifconfig
/system/bin/hostap
/system/bin/hostapd
/system/bin/hostapd_bin
/system/bin/pcscd
/system/bin/wlan*
/system/bin/wpa*
/system/lib(/64)/libhardwarelegacy.so
Hotspot:-
Code:
/system/bin/netd
*follow Wifi fix also*
Camera
Code:
firstly try one by one:
\system\lib(/64)\libcameracustom.so
\system\lib(/64)\libcameraservice.so
System/lib(/64)/camalgo
/system/etc/media_profiles.xml
/system/lib(/64)/libcamera.so
/system/lib(/64)/liboemcamera.so
\system\lib(/64)\hw\camera.default.so
\system\lib(/64)\libcamera_client.so
\system\lib(/64)\libcamer aprofile.so
\system\lib(/64)\libmhal.so
\system\lib(/64)\libmhalcontent.s o
\system\lib(/64)\libmhaldrv.so
\system\lib(/64)\libmhalmdp.so
\system\lib(/64)\libmhalpipe.so
\system\lib(/64)\libmhalscenario.so
\system\lib(/64)\libmhalutility.so
\system\etc\permission\android.hardware.camera.front.xml
Other cam files if any
*try one by one*
CamCoder/HwDecoder
Code:
\system\lib\libOmx*.so
system/etc/media_codecs
[SIZE="3"][B]Green/pink Camera / video lagging[/B][/SIZE]
system/lib(/64)/libdpframework.so
SD card/Memory
Code:
mt67**.fstab in boot.img
/system/bin/vold
/System/bin/pq
System/bin/sdcard
WhatsApp Media Fix:-
Code:
from System/bin/ replace these files:-
Media
mediaserver
netd
service
servicemanager
surfaceflinger
GPS
Code:
\system\xbin\libmnlp
/system/etc/gps.conf
Touch Screen(Haptic)
Code:
/system/usr
/system/usr\keylayout\Generic.kl ->fix HomeKey
NFC ( experimental)
Code:
System/etc/: Nfc files
System/etc/permissions/ nfc files
System/lib/libnfc****** ( all starting from nfc )
Sim1/2 (RIL)
((Trustbin.bin flash it accordingly to LP or MM etc of stock rom))
Code:
\system\etc\firmware\modem.img
\system\etc\permission (RIL)
Try these aswell if ( you may suffer Bootloop )
/System/bin/mtkrild
/System/bin/mtkrildm1
/system/bin/stmd
EXPERIMENTAL FIX for ril:-
Code:
System/ Lib(/64)/ :-
Nvram
Nvram_sec
Nvram_platform
Nvrammagentclient
System/bin:-
Gsm***
System/etc/trustzone
Lib(/64):-
Libril
Libc2k***
Librilmtk
Audio/Sound:-
Code:
\system\lib\libaudio* .so
system/lib(/64)/libaudiocustomparam
system/lib(/64)/libaudiopolicymanager
system/lib(/64)/libaudiopolicyservice
system/etc/audio_effects
system/etc/audio_policy
System/lib(/64)/soundfx
Sometimes if Sound isn't working fully :::::
Code:
System/lib(/64)/hw/audioxxxxxxxxx (audio files)
Bluetooth:-
Code:
system/etc/bluetooth
System/etc/permissions/android.hardware.bluetooth.xml
/system/bin/uim*
/system/bin/bluetooth*
/system/lib(/64)/libbluetooth_mtk.so
/system/lib(/64)/libbluetoothem_mtk.so
Ads
Code:
/system/etc/hosts ->replace with new files or use tweak.
=====>>ADVANCE BUG FIXING:-
Volte Fixing
( Will only work if your Base Rom , Port Rom and Kernel supports VOLTE )
Code:
Boot.img:-
Zimage ( kernel - volte supported )
init.volte.rc
==THIS SHOULD NORMALLY FIX but if it doesn't try :- ==
Code:
System Folder:-
bin/volte_stack
bin/volte_imcb
bin/volte_ua
lib(/64)/volte_imsm
build.prop(Not always required):-
ro.mtk_volte_support=1
persist.mtk.volte.enable=1
FingerPrint:-
[Try one by one][If any file missing leave it]
Usual way to fix :-
Code:
System/etc/permissions/android.hardware.fingerprint.xml
System/lib(/64)/libgatekeeper.so
System/lib(/64)/hw/gatekeeper.mt6735.so
System/(/64)/libmcgatekeeper.so
System/lib(/64)/hw/fingerprint.default.so ( can break FP in some devices)
Advanced ( if usual doesn't work ):-
Code:
System/bin/:-
fingerprintd
Gx_fpd
tee_deamon
Lib64/lib:- ( if any missing leave that)
Fpclient
Fpalgorithm
Fphal
FPservice
IF ROM DOESNT BOOT TAKE LOG ( From ADB)
adb shell logcat > log.txt
and check what is causing issue
REFERENCE LINKS :-
Carliv Image Kitchen :-
https://forum.xda-developers.com/android/development/tool-cika-carliv-image-kitchen-android-t3013658
Cross Port and Porting Guides:-
https://forum.xda-developers.com/k3-note/development/guide-porting-64bit-mtk-roms-cross-t3310605
Unpack and Repack without PC guide:-
https://youtu.be/qTe9XofT5VE
Meta-INF Info:-
http://www.mtkroms.com/2015/06/make-stock-rom-mtk-easy.html?m=1
Meta-Inf generator:- ( Not tested try but its worth a look)
https://forum.xda-developers.com/showthread.php?t=1221003
Sample Recovery flashable zip:-
https://forum.xda-developers.com/android/development/sample-custom-recovery-zip-t3552916
Assert Failed ?check this:-
http://forums.androidcentral.com/optimus-v-rooting-roms-hacks/182438-solved-assert-failed.html
BUG FIXING FOR SNAPDRAGON
Compare the PORT FILES FROM BASE FILES:
Code:
uneventd.qcom.rc ( will fix sensor )
uneventd.rc
Copy and replace the following files from Base (ROM-PORTING/BASE) to Port (ROM-PORTING/PORT) to solve the given issues:
No sound bug:
Code:
system/lib/hw/
audio.primary.msm****.so
audio.primary.default.so
system/lib64/hw/
audio.primary.msm****.so
audio.primary.default.so
Sound working in speaker but not working through headphones or vice-versa:
Code:
system/etc/
mixer_paths.xml (you can also try patching it with the base)
[B]Distorted Outgoing Sound during Phone call or [/B]Partial Sound:
system/etc/acdbdata/MTP/
MTP_***.acdb (all files)
Home or any other button not working:
Code:
system/usr/keylayout/
goodix.kl
gpio-keys.kl (important)
Generik.kl
Video hw encoding/decoding not working:
Code:
system/etc/firmware/
venus.*** (all files starting with ‘venus’)
Sensors not working:
Code:
system/lib/hw/sensors.msm****.so (or sensors.lsm6db0.so)
system/lib64/hw/sensors.msm****.so (or sensors.lsm6db0.so)
system/lib/libsensorservice.so
system/lib64/libsensorservice.so
Led notification not working:
Code:
system/lib/hw/lights.msm****.so
system/lib64/hw/lights.msm****.so
Vibration not working:
Code:
system/lib/libhardware_legacy.so
system/lib64/libhardware_legacy.so
FM not working:
Code:
system/lib/qcomfm_jni.so
system/lib64/qcomfm_jni.so
Wifi not working:
Code:
system/lib/modules/wlan.ko
[Note: In MIUI, wlan.ko is renamed as pronto_wlan.ko and is also kept in system/lib/modules/pronto/ folder, so you have to replace in both the places.]
In some phones you may not find wlan.ko file. In that case you may try replacing these files
Code:
system/lib/libwcnss_qmi.so
system/lib64/libwcnss_qmi.so
For slow WiFi network and other WiFi related issues replace these files:
Code:
system/etc/wifi/ -- all files
system/etc/firmware/wlan/ -- all files
Camera and flash not working:
Code:
system/vendor/lib/ :-
libactuator_***.so (all files starting with ‘libactuator’)
libchromatix_***.so (all files starting with ‘libchromatix’)
libmmcamera_***.so (all files starting with ‘libmmcamera’)
system/lib/:-
libmm-qcamera.so
libmmcamera_interface.co
system/lib/hw/
camera.msm****.so
[Note: If such files are also available in your BASE/system/vendor/lib64/ then you have to copy those files also to their respective place in PORT]
GUIDE TO PORT RECOVERY
PORT TWRP RECOVERY
Things You are Required ::-
Code:
1.Android Image Kitchen
2.Notepad++
3.Base Recovery
4.TWRP to Port
5.Brain
First of All , You Guys need to unpack Recovery.img i.e both Stock Recovery or TWRP Recovery.
After this :-
You need to Copy these files from your Stock Recovery to the TWRP Recovery ( which you want to port ) :-
Lets Divide Step by Step ::--
*REPLACE FROM STOCK TO PORT*
STEP1:
Inside Ramdisk Folder ::::::
Code:
1.meta_init.modem.rc
2.meta_init.project.rc
3.meta_init.rc
STEP2:
Now replace your Kernel usually named as zimage-kernel
STEP3
Inside Ramdisk Folder(boot.img):::::::
Code:
1.fstab
2.ueventd.rc
3.ueventd.goldfish.rc.
STEP4
INSIDE RAMDISK/ETC
Code:
recovery.fstab
STEP5
Open Default.prop
and Compare it with stock Default.prop or your Build.prop ( add values from build.prop )
=============>>>>>>>
DONE!!!!! EVERYTHING IS IN PLACE
NOW REPACK IT AND FLASH.
YOU HAVE PORTED A RECOVERY....
WARNING: Do not replace any file unnecessarily, because it may give rise to new bugs in place of solving it. Always be specific!
Now Mostly its the end of the Guide / Tutorial / G.K on porting or whatever you call it.
Once again , i (Kuber Sharma) hope you guys succesfully learn porting and making roms soon.
You guys have my Best Wishes.
Thank You.
I couldn't have done this without the help of :-
Amit Kumar (A.M.T)
Sam Grande (A.M.T)
Special Thanks to @sandeep.sethi
Special Thanks to @Yousef Algadri
Special thanks to @mohancm
You can find me here:-
@kubersharma
Want to buy me a coffee or wanna donate me for my cause!!
https://paypal.me/kubersharma
DO HIT THANKS BUTTON IF YOU LIKE MY GUIDE
THANK YOU
not lib64 files?
http://cloud.tapatalk.com/s/58a1efb476118/IMG_20170213_183928.jpg
Odesláno z mého VFD 700 pomocí Tapatalk
Great work, Really appreciated!
Thank you
---------- Post added at 05:51 PM ---------- Previous post was at 05:49 PM ----------
Adreno306™ said:
not lib64 files?
http://cloud.tapatalk.com/s/58a1efb476118/IMG_20170213_183928.jpg
Odesláno z mého VFD 700 pomocí Tapatalk
Click to expand...
Click to collapse
I think op have missed while typing, both lib and lib64 should be considered.
Reserved...
Thank you
mohancm said:
Great work, Really appreciated!
Thank you
---------- Post added at 05:51 PM ---------- Previous post was at 05:49 PM ----------
I think op have missed while typing, both lib and lib64 should be considered.
Click to expand...
Click to collapse
Couldn't have done without your support.
Thanks
Awesome work
Great job man.. Awesome and best guide for 64 bit devices.. Great thing... Expecting more guides.. ?
Is there a method for fixing the NFC to?o
Adreno306™ said:
Is there a method for fixing the NFC to?o
Click to expand...
Click to collapse
Follow sensor fix and replace libnfcxxxx in lib folder
kuberrocks96 said:
Follow sensor fix and replace libnfcxxxx in lib folder
Click to expand...
Click to collapse
nfc service has stopped working
Odesláno z mého VFD 700 pomocí Tapatalk
Adreno306™ said:
nfc service has stopped working
Odesláno z mého VFD 700 pomocí Tapatalk
Click to expand...
Click to collapse
Take a log
trying to port for teclast t98 4g mt8752
I've trying to port following a lot of guide ever bootloop only one time boot but no touchscreen
what i'm wondering my stock rom is kitkat so with a 32bit kernel ,i think, can i mix it with 64bit rom?
in my stock rom there isn't lib64 directory so what can I do to follow your guide?
thanx
Sorry to post it here as i thought probably you could help me but this method should also work for 32 bit roms .. Right?? I was porting a lollipop nexus look rom to my lenovo tab.It boots to the android is optimising screen and finishing bootbthen goes into a soft reboot. Can you help me with that? And please do confirm whether this method would work for 32 bit rom.
Hello!
I have a problem with the port I made for the Redmi Pro (MTK6797T). The ROM is booting and working quite well but the problem comes when i try to use my headphones.
The ROM recognises the headphones, when i plug them the headphones icon appears and the buttons are working to stop-play a song, however the sound comes out of the headphones and the speaker at the same time.
Any idea to solve this?
thanks A LOT for bugfixing guide portion... i was searching for that for a long time
@kuberrocks96
Camera gets crashed whenever I try to take HDR ......what is needed to fix this?
hi bro, Thanks for the guide, just like crossposting from a mt6753 to a mt6735? Or similar?
Now I would like to leave a solution for the nvram problem that has already happened to me several times
1.- edit the build.prop looking for gemini lines, in my case being a single sim would have to be disabled this function and any other line related to the sim ... if in your case you have 2 sim as you have to activate The gemini function and specify that it is dual sim looking for this line in the build.prop "persist.radio.multisim.config = ss" (for single sim) and change it to "= dsds" for dual sim
2.-In the libraries you have to change this
Libnvram.so
Libnvramagentclient.so
Libnvram_platform.so
Libnvram_sec.so
Libfeatureio.so
Libfeatureiodrv.so
Libhardware_legacy.so
Libcustom_nvram.so
3.- also have to change the firmware and mddb folders
And finally in the boot.img it is necessary to replace in ramdisk these files
Fstab.mt6735.rc
Init.mt6735.rc
Init.mt6735.usb.rc
And added a fourth file
Init.modem.rc
With that you should have running the imei and remove the nvram error in the configurations of the wifi
Greetings from Mexico and apologies for my English, but I'm using google translator
i couldnt fix modem problem even with firmware nor mddb nor modem file in boot image. w/o sim inside baseband imei works but w sim inside its showing no baseband no imei no service.
mt6752 to mt6752. base is c5 e5553 single sim port is k3 note dual sim.
wifi bluetooth sound works, didnt try camera fix
Please can you help solve the BLU R1HD camera MT6735 in Nougat from this ROM: https://forum.xda-developers.com/r1-hd/development/cm14-1-r1hd-t3518202
Yes , it will
YuZaGa said:
Sorry to post it here as i thought probably you could help me but this method should also work for 32 bit roms .. Right?? I was porting a lollipop nexus look rom to my lenovo tab.It boots to the android is optimising screen and finishing bootbthen goes into a soft reboot. Can you help me with that? And please do confirm whether this method would work for 32 bit rom.
Click to expand...
Click to collapse
Check wht files you replaced.
While booting the rom just don't replace all files.
Kernel ( and other boot.img part)
Firmware
Apn & spn
Amd sometimes mddb is enough
Hi , thanks
2909luboy said:
hi bro, Thanks for the guide, just like crossposting from a mt6753 to a mt6735? Or similar?
Now I would like to leave a solution for the nvram problem that has already happened to me several times
1.- edit the build.prop looking for gemini lines, in my case being a single sim would have to be disabled this function and any other line related to the sim ... if in your case you have 2 sim as you have to activate The gemini function and specify that it is dual sim looking for this line in the build.prop "persist.radio.multisim.config = ss" (for single sim) and change it to "= dsds" for dual sim
2.-In the libraries you have to change this
Libnvram.so
Libnvramagentclient.so
Libnvram_platform.so
Libnvram_sec.so
Libfeatureio.so
Libfeatureiodrv.so
Libhardware_legacy.so
Libcustom_nvram.so
3.- also have to change the firmware and mddb folders
And finally in the boot.img it is necessary to replace in ramdisk these files
Fstab.mt6735.rc
Init.mt6735.rc
Init.mt6735.usb.rc
And added a fourth file
Init.modem.rc
With that you should have running the imei and remove the nvram error in the configurations of the wifi
Greetings from Mexico and apologies for my English, but I'm using google translator
Click to expand...
Click to collapse
Yes , no worries we all are humans and language shouldn't be a bearer.
And yeah , thanks for your little guide.
Cheers

Mediatek Helio P10 Development (Porting guides, bug fixes and more)

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
​Welcome to my all in one thread for Meditake Helio P10 thread.
The thread contains porting guides, bug fixes, general informations about the Helio P10 Chipset.
It goes on 3 parts:
Part 1: General Information
Part 2: Normal Porting guides, go to post #2
Part 3: Crossporting guides, go to post #3
Part 4: Bugs fixes (all in one place), go to post #4
Part 1: General information
Helio P10 is a SoC manufactured by MediaTek Inc. in the Q3 of 2015. It has 8 Cortex-A53 Cores clocked between 1.5 GHz and 2.0 GHz depending on the manufacturer. It supports the big.LITTLE technology and is an improved version of the MT6752. In the 8 cores, 4 are clocked at either 1.5 GHz, 1.8 GHz or 2.0 GHz. The other 4 cores are clocked between 1.0 GHz and 1.5 GHz.
It integrates the Mali-T860 GPU with 2 cores clocked between 500 MHz and 700 MHz. The Chipset supports LTE and other various technologies we could find on the MT6752. Compared to the MT6753, the Helio P10 is way faster but still appears to be somewhat slower than some MT6752. The fact is that the latter has all the 8 cores clocked at 1.7 GHz. That gives it the advantage in benchmarks for the price of the battery, however.
Currently, the following processors are built-on Helio P10 hardware:
MT6738 = 1.5 GHz + 1.0 GHz (Mali-T860MP2 - 500 MHz)
MT6750 = 1.5 GHz + 1.0 GHz (Mali-T860MP2 - 500 MHz)
MT6750T = 1.5 GHz + 1.0 GHz (Mali-T860MP2 - 700 MHz)
MT6755 = 1.8 GHz + 1.2 GHz (Mali-T860MP2 - 700 MHz) or 2.0 GHz + 1.2 GHz (Mali-T860MP2 - 700 MHz)
MT6755T (Helio P15) = 2.2 GHz + 1.2 GHz (Mali-T860MP2 - 800 MHz)
So, it's clear now that:
MT6738, MT6750 and MT6750T are the same. Just called differently ...
MT6750 is an underclocked version of MT6755. Both use the same hardware which is Helio P10 board. It is like MT6735 & MT6753; both use MT6735 board.
Normal Porting guides
Now that you know your hardware, let's move on with porting.
I will not tell you how to get your stock ready. I assume you already how to do that.
I will instead go straight with the porting guides.
There are: normal porting and crossporting.
Before you start, understand that:
These guides have been tested on a MT6750 device i.e Doogee Y6. The software is AOSP with a slightly modified frameworks. Devices with custom skins are usually known to be hard to handle. AmigoOS based devices are always hard to manage when it comes to rom porting. Same way, it is hard to port AmigoOS to another device.
I take no responsiblility if anything go wrong. Your device, your choices, your responsibility.
Normal Porting guides
Note: By normal, I meant MT6755 to MT6750 and vice-versa.
Method 1: Port just the kernel
Unpack it with carliv image kitchen and copy boot.img-kernel from stock unpacked boot to port unpacked boot folder and repack. Use the modded boot.img. If the rom doesn’t boot, then move to crossport method. Bug fixing is after that method.
Method 2: Files replace method
Note: Go with either A or B.
A) Simplified process
Download this archive from here mega.nz
Unpack it. Replace its files with those from your stock rom. You can delete those that aren’t in your stock rom but present in the archive.
Repack the archive. And name it for example Cross6.0_device-name.zip (Cross6.0_Y6.zip)
Now, download any rom for 6750 or 6755. Port kernel as stated in the beginning of this guide. Flash the ROM and the ported boot.img. You can use SPFT or TWRP.
Boot to TWRP if you flashed with SPFT.
Flash the patch you made in step 3. Reboot and test. You can also on step 4 copy the contents of your patch and paste them into the unpacked ROM that you want to port. And then port the kernel and make the flashable ROM directly. I have also attached a file having the files you need to make the patch. You can download it if you don’t like the step 2 of this guide. Here is the file mega.nz
Click to expand...
Click to collapse
B) The other method
Download or clone this repo https://github.com/Deepflex/android_vendor_elephone_p9000
Unpack it (if you’ve downloaded it instead of cloning).
Make your own vendor folder by referring to the files in the unpacked p9000 repo. If a file is in p9000 repo but isn’t in your stock rom, then skip it. You can also download this file mega.nz
Refer to the files stated inside it to make your own repo folder. Remember: file names in lib/hw and lib64/hw will differ according to your CPU. For MT6750, it will be for example audio.primary.mt6750.so. It is the same as audio.primary.mt6755.so
After making your own repo as stated in step 3, copy files from this repo folder to your port rom and replace when prompted. You can also make a flashable zip file so that you can flash that zip on every rom you want to port without unpacking its system.img. Download the META-INF from this link mega.nz , move it in a folder called PATCH. Make another folder inside that one alongside META-INF and name it system, copy folders from your own repo (bin, etc, lib, lib64 and vendor), paste them in system folder of PATCH. Zip both META-INF and system folders.
It is important to edit the build.prop IF YOU ARE CROSSPORTING 6755 to 6750 and vice-versa! Edit it and change these values: ro.board.platform=mt6750 (or MT6755, depending on your CPU). ro.sf.lcd_density=320 (or your stock or preferred DPI, 320 for HD displays; 480 for FHD displays)
Port the kernel as stated in the first method. But you’ve to also copy this file from ramdisk: fstab.mt6755. Some roms will refuse to boot with this method, like EMUI 4.1. So instead, do this: Copy these files from port ramdisk to stock ramdisk: default.prop; init.environ.rc; sepolicy; services_contexts. Repack stock boot.img and use it. Some roms will still bootloop even with that. So instead, copy these from stock ramdisk to port ramdisk: all files with mt6755 in their name in your stock ramdisk. Replace when prompted. Repack port boot.img and flash it.
Click to expand...
Click to collapse
Crossporting guides
Before you start, note that this part is intended for advanced users. Expect least support in this section as it's all about experimenting. If it works, horray! Great! Else, I ... DON'T ... KNOW, MAN;
Here I will share how to port ROMs from MT6735 and MT6753 to MT6750 and MT6755.
Since MT6735 and MT6753 use the same hardware e.g MT6735 and also MT6750 and MT6755 use the same hardware MT6755 ; it’s possible to port ROMs from MT6735 and MT6753 to MT6750 and MT6755.
The guide goes on four parts:
Part 1: System Folder patching
Part 2: Boot.img patching
Part 3: Additional steps
Part 4: Bug fixes
All steps are important. You cannot skip one of them.
Before you start, note that the guide has been tested on a MT6750 device. It should work on any MT6750 or MT6755 device, technically. CyanogenMod/LineageOS based ROMs may not be ported using this guide.
Part 1: System Folder patching
Notes :
If the name is in italic it means it’s a folder and you have to copy it entirely.
If you have MT6755, you should copy the files having MT6755 in their names in lib/hw & lib64/hw i.e camera.mt6755.so
If you can’t find a file in your stock ROM, skip it.
1) Now, copy these from your stock rom to the port one:
Code:
*** BIN ***
6620_launcher
akmd8963
akmd8975
akmd09911
ami304d
applysig
audiocmdservice_atci
bmm050d
ccci_fsd
ccci_mdinit
emdlogger1
factory
fuelgauged
geomagneticd
gsm0710muxd
gzip_static
kpoc_charger
mc6420d
md_ctrl
mdlogger
memsicd
memsicd3416x
meta_tst
mobile_log_d
msensord
mtk_agpsd
mtkrild
muxreport
netdiag
nvram_daemon
orientationd
pq
s62xd
slpd
terservice
thermal_manager
vold
wifi2agps
wmt_loader
*** ETC ***
audio_param (whole folder)
firmware (whole folder)
fmr (whole folder)
mddb (whole folder)
ecc_list.xml
factory.ini
mtklog-config.prop
*** PERMISSIONS ***
android.hardware.bluetooth.xml
android.hardware.bluetooth_le.xml
android.hardware.camera.xml
android.hardware.faketouch.xml
android.hardware.location.gps.xml
android.hardware.microphone.xml
android.hardware.sensor.accelerometer.xml
android.hardware.sensor.light.xml
android.hardware.sensor.proximity.xml
android.hardware.telephony.gsm.xml
android.hardware.touchscreen.multitouch.distinct.xml
android.hardware.touchscreen.multitouch.jazzhand.xml
android.hardware.touchscreen.multitouch.xml
android.hardware.touchscreen.xml
android.hardware.usb.accessory.xml
android.hardware.usb.host.xml
android.hardware.wifi.direct.xml
android.hardware.wifi.xml
android.software.live_wallpaper.xml
android.software.managed_users.xml
android.software.sip.voip.xml
android.software.sip.xml
android.software.webview.xml
com.android.location.provider.xml
com.android.media.remotedisplay.xml
com.android.mediadrm.signer.xml
com.google.android.maps.xml
com.google.android.media.effects.xml
com.google.widevine.software.drm.xml
handheld_core_hardware.xml
media_codecs.xml
platform.xml
*** FRAMEWORK ***
com.google.widevine.software.drm.jar
*** LIB ***
lib3a.so
lib3a_sample.so
libacdk.so
libaed.so
libaudiocompensationfilter.so
libaudiocomponentengine.so
libaudiocustparam.so
libaudiopolicymanager.so
libbessound_hd_mtk.so
libblisrc.so
libblisrc32.so
libbluetooth_mtk.so
libbluetooth_mtk_pure.so
libbt-vendor.so
libbwc.so
libcam.camadapter.so
libcam.camnode.so
libcam.camshot.so
libcam.client.so
libcam.device1.so
libcam.device3.so
libcam.exif.so
libcam.exif.v3.so
libcam.hal3a.v3.dng.so
libcam.hal3a.v3.so
libcam.halsensor.so
libcam.iopipe.so
libcam.metadata.so
libcam.metadataprovider.so
libcam.paramsmgr.so
libcam.sdkclient.so
libcam.utils.cpuctrl.so
libcam.utils.sensorlistener.so
libcam.utils.so
libcam_hwutils.so
libcam_mmp.so
libcam_platform.so
libcam_utils.so
libcam1_utils.so
libcam3_app.so
libcam3_hwnode.so
libcam3_hwpipeline.so
libcam3_pipeline.so
libcam3_utils.so
libcamalgo.so
libcamdrv.so
libcameracustom.so
libccci_util.so
libcustom_nvram.so
libcvsd_mtk.so
libdngop.so
libdpframework.so
libdrmmtkutil.so
libdrmmtkwhitelist.so
libfeatureio.so
libfeatureiodrv.so
libfgauge.so
libfile_op.so
libfmcust.so
libgas.so
libged.so
libgpu_aux.so
libgralloc_extra.so
libHEVCdec_sa.ca7.android.so
libhwm.so
libimageio.so
libimageio_plat_drv.so
libion_mtk.so
libJpgDecPipe.so
libJpgEncPipe.so
libm4u.so
libmal.so
libmatv_cust.so
libmdfx.so
libmdloggerrecycle.so
libmemoryDumpEncoder.so
libmhalImageCodec.so
libMiraVision_jni.so
libmmprofile.so
libmmsdkservice.so
libmnl.so
libmp4enc_sa.ca7.so
libmrdump.so
libmsbc_mtk.so
libmtcloader.so
libmtk_drvb.so
libmtk_mmutils.so
libmtkcamera_client.so
libmtkjpeg.so
libmtklimiter.so
libMtkOmxCore.so
libMtkOmxVdecEx.so
libMtkOmxVenc.so
libmtkshifter.so
libn3d3a.so
libnvram.so
libnvram_daemon_callback.so
libnvram_platform.so
libnvram_sec.so
libnvramagentclient.so
libperfservicenative.so
libpq_prot.so
libpqservice.so
librilmtk.so
libshowlogo.so
libSonyIMX230PdafLibrary.so
libspeech_enh_lib.so
libstagefrighthw.so
libSwJpgCodec.so
libvc1dec_sa.ca7.so
libvcodec_oal.so
libvcodec_utility.so
libvcodecdrv.so
libvp8dec_sa.ca7.so
libvp9dec_sa.ca7.so
mtk-ril.so
mtk-rilmd2.so
*** LIB/EGL ***
egl.cfg
libGLES_mali.so
*** LIB/HW ***
audio.primary.mt6750.so
audio_policy.default.so
bluetooth.default.so
camera.mt6750.so
gps.mt6750.so
gralloc.mt6750.so
hwcomposer.mt6750.so
lights.mt6750.so
memtrack.mt6750.so
sensors.mt6750.so
*** LIB/SOUNDFX ***
libdownmix.so
*** LIB64 ***
lib3a.so
lib3a_sample.so
libacdk.so
libaed.so
libaudiocompensationfilter.so
libaudiocomponentengine.so
libaudiocustparam.so
libaudiopolicymanager.so
libbessound_hd_mtk.so
libblisrc.so
libblisrc32.so
libbluetooth_mtk.so
libbluetooth_mtk_pure.so
libbwc.so
libcam.camadapter.so
libcam.camnode.so
libcam.camshot.so
libcam.client.so
libcam.device1.so
libcam.device3.so
libcam.exif.so
libcam.exif.v3.so
libcam.hal3a.v3.dng.so
libcam.hal3a.v3.so
libcam.halsensor.so
libcam.iopipe.so
libcam.metadata.so
libcam.metadataprovider.so
libcam.paramsmgr.so
libcam.sdkclient.so
libcam.utils.cpuctrl.so
libcam.utils.sensorlistener.so
libcam.utils.so
libcam_hwutils.so
libcam_mmp.so
libcam_platform.so
libcam_utils.so
libcam1_utils.so
libcam3_app.so
libcam3_hwnode.so
libcam3_hwpipeline.so
libcam3_pipeline.so
libcam3_utils.so
libcamalgo.so
libcamdrv.so
libcameracustom.so
libccci_util.so
libcustom_nvram.so
libcvsd_mtk.so
libdngop.so
libdpframework.so
libdrmmtkutil.so
libdrmmtkwhitelist.so
libfeatureio.so
libfeatureiodrv.so
libfile_op.so
libfmcust.so
libgas.so
libged.so
libgpu_aux.so
libgralloc_extra.so
libhwm.so
libimageio.so
libimageio_plat_drv.so
libion_mtk.so
libJpgDecPipe.so
libJpgEncPipe.so
libm4u.so
libmal.so
libmatv_cust.so
libmdfx.so
libmdloggerrecycle.so
libmhalImageCodec.so
libminiui.so
libMiraVision_jni.so
libmmprofile.so
libmmsdkservice.so
libmrdump.so
libmsbc_mtk.so
libmtk_drvb.so
libmtk_mmutils.so
libmtkcamera_client.so
libmtkjpeg.so
libmtklimiter.so
libMtkOmxCore.so
libmtkshifter.so
libn3d3a.so
libnvram.so
libnvram_daemon_callback.so
libnvram_platform.so
libnvram_sec.so
libnvramagentclient.so
libperfservicenative.so
libpq_cust.so
libpq_prot.so
libpqservice.so
librilmtk.so
libSonyIMX230PdafLibrary.so
libspeech_enh_lib.so
libstagefrighthw.so
libterservice.so
libvcodec_oal.so
libvcodec_utility.so
libvcodecdrv.so
mtk-ril.so
*** LIB64/EGL ***
libGLES_mali.so
*** LIB64/HW ***
audio.primary.mt6750.so
audio_policy.default.so
camera.mt6750.so
gps.mt6750.so
gralloc.mt6750.so
hwcomposer.mt6750.so
lights.mt6750.so
memtrack.mt6750.so
sensors.mt6750.so
*** LIB64/SOUNDFX ***
libdownmix.so
*** VENDOR/LIB ***
libwvdrm_L3.so
libwvm.so
libWVStreamControlAPI_L3.so
*** VENDOR/LIB/DRM ***
libdrmwvmplugin.so
*** VENDOR/LIB/MEDIADRM ***
libwvdrmengine.so
*** XBIN ***
mnld
2) After that, remove the files with 6735 or 6753 in their names from Port rom’s lib/hw and lib64/hw.
3) Edit build.prop and change all instances of 6735 or 6753 to 6750 or 6755. And change the DPI to the one that matches your stock DPI as well as the rotation line value (usually 0).
Click to expand...
Click to collapse
Part 2: Boot.img patching
You can patch boot.img using various methods. Try them all if needed!
Method 1: Stock boot.img directly
Use stock boot.img directly (will likely cause bootloop)
Method 2: Patch the Stock boot.img
Unpack Stock and Port boot.img
Copy these from port: default.prop, init.environ.rc, sepolicy, services_contexts.
Paste them in stock boot.img and replace the existing ones.
If there is a proprietary rc file (for example: init.huawei.rc, init.miui.rc, init.flyme.rc etc), copy it from port to stock and then open the stock init.rc file and add import /init.proprietary_file_name.rc at the beginning. Note that the proprietary_file_name corresponds to the name given by the OEM to the file (init.miui.rc for instance, miui is the name here).
Pack the boot.img
The ROM should boot, but chances are that few things will force close. if so, add the extra files from port ramdisk. This step is too sensitive! Apply with care. Some proprietary files in the ramdisk can cause the device to bootloop or worst stuck on the kernel logo.
Method 3: Patch the port boot.img
Open your unpacked stock boot. Copy these files from stock boot to port boot:
Code:
boot.img-base
boot.img-board
boot.img-cmdline
boot.img-kernel
boot.img-kernel_offset
boot.img-pagesize
boot.img-ramdisk_offset
boot.img-ramdisk-compress
boot.img-tags_offset
Open stock ramdisk and copy all the files with 6755 in their names.
Paste them in port ramdisk. Delete any file in port ramdisk that has 6735 in its name.
Select all the files in port ramdisk folder. Click edit with Notepad ++ (you need to have installed Notepad ++ of course).
In Notepad ++, click “Ctrl + H”. In “Find what” column, write 6735. In “Replace with” column write 6755. Click “Replace All in All opened documents”.
Now, right click on a file name in Notepad ++ (on the top), choose “Close all BUT this”. You’ll be prompted if you want to save the changes to the files modified. Always choose “Yes”.
Pack the boot.img
At this point, your ROM should boot but you’ll eventually suffer wifi and bt switches problems (or even the camera opening). If those happen, copy init.project.rc and meta_init.project.rc from your stock ramdisk to port ramdisk. Replace existing ones and pack the boot.img
Click to expand...
Click to collapse
Part 3: Additional steps
Note: Because it says additional doesn’t mean it’s expandable!
After copying the files in part 1 to the port ROM, your ROM should boot (80% of the cases). But you will need this step to fix the bugs like camera, audio and everything else.
Open your Stock ROM and the Port ROM side by side.
Go to stock/bin and copy everything, paste the files in port/bin. When prompted, DO NOT REPLACE!
Repeat the same process for these folders: ETC, PERMISSIONS, LIB, LIB/HW, LIB64, LIB64/HW, VENDOR, XBIN.
Click to expand...
Click to collapse
That’s it for now. Enjoy it!
Bug fixes (all in one place)
So, you've booted your ROM?
Awesome! But I'm 100% sure that everything doesn't work. So, we need to try to fix the things that don't work.
This part contains fixes for Fingerprint, Audio, Camera, RIL (network) and more.
Fingerprint bug fix
This guide is intended to be used on MT6750 and MT6755 devices. It might work on other MT67xx devices like MT6797, MT6753 and MT6735. You’ll have to try and find out!
THE FIXES
Please follow these steps. All of them!
Open your stock ROM and port ROM side by side.
Go to system/lib/hw in both ROMs.
Compare the files in both hw folders.
Check your stock ROM for these files:
For MT6750
gatekeeper.mt6750.so
gatekeeper.device_name.so
keystore.mt6750.so
libMcGatekeeper.so
For MT6755
gatekeeper.mt6755.so
gatekeeper.device_name.so
keystore.mt6755.so
libMcGatekeeper.so
Note: device_name depends on the device you’re porting the ROM from. For Meizu U10 Flyme ROM, it was gatekeeper.u10.so
5. If stock ROM DOES NOT HAVE the above files and Port ROM also DOES NOT HAVE them. Then it’s fine! Move to step 8.
If your stock ROM DOES HAVE the above files, copy them and paste them in port. If they are in port, replace them. If they are not in port, just add them.
If Stock ROM DOES NOT HAVE them but Port ROM DOES HAVE them; then remove them from port. THIS IS IMPORTANT.
Copy fingerprintd from sotck system/bin and paste it in port system/bin. REPLACE when prompted.
Copy all files from stock system/bin and paste them in port system/bin. DO NOT REPLACE anything when prompted. The goal is to have stock extra files in port ROM.
Repeat the above step with lib, lib64 (and their subfolders), etc root directory files, permissions, vendor/lib & vendor/lib64 and xbin.
Repack the ROM and test it!
Notes
I did not need to patch boot.img. But if you need it, you can do it. I just don’t know how to help you here ... The best solution would be to replace mt675x files in port ramdisk with stock ones.
Common sense is required to properly understand this guide. For instance, if you’re porting an MT6755 rom to an MT6750, you should be looking for files like gatekeeper.mt6755.so in port ROM and gatekeeper.mt6750.so in stock ROM.
After everything, you MUST remove all mt6750 or mt6755 files from hw folders if you’re doing a crossport (6755 to 6750 or vice-versa).
Sometimes the fingerprint works but the fingerprint option in settings still force close. So, you might want to set up fingerprint for the first time the ROM boots.
If everything fails, open Terminal Emulator and type fingerprintd. If the terminal then appears to be stuck, then your fingerprint is initialized, something else is wrong. Recheck the steps above then.
Fingerprint bug is hard to fix. Each device has its own fingerprint drivers. You have to identify your fingerprint drivers and copy them to the appropriate locations. After that, you MUST remove the other fingerprint files for the port device to avoid conflict between the files.
For my device, the fingerprint files are:
bin/fingerprintd
lib64/hw/fingerprint.default.so
lib64/fprint-x64.so
Most of the time, you will need to remove or add all the files that start with fp or goodix or gx from lib, lib64 and bin folders.
Click to expand...
Click to collapse
RIL (network signal and IMEI issue) fix
Literature
RIL bug is a minor bug that can normally be fixed by using firmware and mddb folders from your stock rom. Sometimes, it doesn’t help. You’ll still face RIL issue like network drop, no 3G/4G/LTE, no VOLTE etc. This happens when you try to port a chinese ROM. Chinese roms mostly use a different kind of VoLTE called SrLTE (sometimes ViLTE). I’m not sure what’s the difference, but they are apparently not the same. So, this is the report of my research.
Click to expand...
Click to collapse
FIXES
To fix RIL. You have to try one or all of these methods:
I assume you’ve already replaced firmware and mddb from stock to port! If not, start with that! And then follow one or all of these steps.
Build.prop method
Compare your stock build.prop to port build.prop
Remove the extra lines that are related to RIL from port build.prop
Add extra lines from your stock build.prop to port one
Make sure to remove any line where ViLTE or SrLTE has been mentioned unless your stock build.prop does have such lines.
Use the edited build.prop
Click to expand...
Click to collapse
Boot.img method
Unpack your stock boot.img and port boot.img
Copy init.modem.rc and meta_init.modem.rc from stock to port ramdisk.
Compare your stock ramdisk to port ramdisk (the ramdisk folder contents themselves).
If your stock ramdisk has files like init.volte.rc, go to B), otherwise, go to A). You SHALL NOT follow A) and B) for the same device at the same time. It will not make sense.
A) Remove any extra file from port ramdisk that is related to RIL. These, mostly, are:
- init.mal.rc
- init.volte.rc
B) If the above files are in your stock ramdisk, then copy them to port ramdisk.
Open init.mt6755.rc and make sure that these lines are defined in the very first section:
import /init.volte.rc
import /init.mal.rc
Repack boot.img and flash it.
Click to expand...
Click to collapse
Binary replace method
Open init.modem.rc of your stock ramdisk
Scroll down until you see “start service”
For example:
service gsm0710muxd /system/bin/gsm0710muxd -s /dev/ttyC0 -f 512 -n 8 -m basic
class core
user root
group radio cache inet misc
disabled
oneshot
Here, we take note of gsm0710muxd
Take note of the files mentioned in this section. Keep taking note until you reach the end of the file.
Copy the mentioned files from stock system/bin. If you can’t find a file in stock but it has been mentioned in init.modem.rc; just skip it!
Paste them in port system/bin and replace.
Hint: You do not need to make a flashable zip every time. Just copy these files with Root explorer (use v3.8.8 for easy use), create a folder in system/bin and name it “ril”, paste the files in that folder, select all of them and change permissions to “755” or “rwxr-xr-x”. Copy them to system/bin, paste them and replace if prompted.
Go to your stock system/lib and copy these files (skip those that don't exist):
libradio.so
libradio_metadata.so
libradioservice.so
libreference-ril.so
libril.so
librilmtk.so
librilmtkmd2.so
librilutils.so
mtk-ril.so
mtk-rilmd2.so
volte_imsm.so
Paste them in port system/lib and replace
Repeat the previous step for system/lib64
Reboot and RIL should be good now.
If RIL still has issues. Then go to stock system/lib and check if there is any file with volte and/or viarild in its name. If not, then check port system/lib for the same files, if they’re there; remove them.
Repeat the same for system/lib64.
Click to expand...
Click to collapse
That's it for RIL!
If you don’t read the entire guide, please don’t ask why, what or how!
Audio Bug fix
Normally Audio works if the ROM is properly ported! But if for some reasons it does, then try these:
Copy audio.primary.mt6750.so from lib/hw and lib64/hw of your stock ROM and paste them in port one.
If it still doesn’t, then you can copy libaudio*.so (meaning all files with audio in their names) from your stock rom’s lib and lib64 to port rom. Use with care, some audio files can cause bootloop.
You might also need to copy all the files starting with audio from etc folder of your stock rom to the port rom. That should fix Bluetooth Headset Audio bug as well.
Click to expand...
Click to collapse
Camera bug fix
Camera bug is the most irritating of all them, yet the hardest one to fix! The following steps allowed me to fix the camera on various ROMs on my Doogee Y6. It might definitely not work on your phone because each device has its own camera files. Here are the steps:
Copy camera.mt6750.so and camera.default.so from lib/hw and lib64/hw of your stock ROM to port ROM.
Copy all camera files from your stock rom’s lib and lib64 folders except libcameraservice.so, libcamera_client.so, libcamera_metadata.so
If camera still doesn't work, try using another camera app. This is important especially when you crossport a MT67xx ROM to another MT67xx! Due to platform differences, the MT6735/MT6753 camera apps for instance are mostly incompatible with MT6750/MT6755. So, the stock camera apps in these roms will likely not work in your ported ROM. There is no solution to that besides using another camera app.
Click to expand...
Click to collapse
Settings Force, Security Settings force bugs fix
If you get settings app for close or security settings force close, remove these from port rom’s lib/hw and/or lib64/hw:
libGatekeeper.so
gatekeeper.mt67xx.so
gatekeeper.mt67xx.so
gatekeeper.device_name.so (device_name refers to the device codename).
libMcGatekeeper
keystore.mt67xx.so
keystore.mt67xx.so
Click to expand...
Click to collapse
That's all for now. Thanks for reading!
Very educative in a way.
Well scripted.
Thumbs Up buddy .
iykeDROID™ said:
Very educative in a way.
Well scripted.
Thumbs Up buddy .
Click to expand...
Click to collapse
Thanks buddy,
I hope it helped
Very educative in a way.
Thumbs Up buddy .
I‘m ported all doogee y6 rom to my huawei enjoy6 (it is MT6750 device),but fingerprint and c2k not work,expect this post is helpful to me, thank you!
How do you fix huawei emui fingerprint bug?I tried all the methods, but it was still not work。
justsoso said:
Very educative in a way.
Thumbs Up buddy .
I‘m ported all doogee y6 rom to my huawei enjoy6 (it is MT6750 device),but fingerprint and c2k not work,expect this post is helpful to me, thank you!
Click to expand...
Click to collapse
Requires that you remove incompatible files from the rom and put the compatible ones.
Of course, for that you need to identify files responsible for C2K and fingerprint.
justsoso said:
How do you fix huawei emui fingerprint bug?I tried all the methods, but it was still not work。
Click to expand...
Click to collapse
See here http://www.nontastik.com/emui-4-1-marshmallow-doogee-y6-mt6750/
The EMUI4Fix.zip fixes fingerprint.
will this working on YU YUNICORN(MTK-6755)? which rom should i choose to port from elephone p9000(which would make porting easier)?
can we port 7.1.2 nougat using base rom as 6.0 mm (using this guide ) help me bruh....i'm newbie
Mega links aren't working anymore
@Nonta72 Sir,Can You please reupload the Simplified process(A) mega link plox....
---------- Post added at 04:55 PM ---------- Previous post was at 04:55 PM ----------
[/COLOR @Nonta72 Sir,Can You please reupload the Simplified process(A) mega link plox....
update mega links
please update mega links or provide gdrive links .
Nonta72 said:
​Welcome to my all in one thread for Meditake Helio P10 thread.
The thread contains porting guides, bug fixes, general informations about the Helio P10 Chipset.
It goes on 3 parts:
Part 1: General Information
Part 2: Normal Porting guides, go to post #2
Part 3: Crossporting guides, go to post #3
Part 4: Bugs fixes (all in one place), go to post #4
Part 1: General information
Helio P10 is a SoC manufactured by MediaTek Inc. in the Q3 of 2015. It has 8 Cortex-A53 Cores clocked between 1.5 GHz and 2.0 GHz depending on the manufacturer. It supports the big.LITTLE technology and is an improved version of the MT6752. In the 8 cores, 4 are clocked at either 1.5 GHz, 1.8 GHz or 2.0 GHz. The other 4 cores are clocked between 1.0 GHz and 1.5 GHz.
It integrates the Mali-T860 GPU with 2 cores clocked between 500 MHz and 700 MHz. The Chipset supports LTE and other various technologies we could find on the MT6752. Compared to the MT6753, the Helio P10 is way faster but still appears to be somewhat slower than some MT6752. The fact is that the latter has all the 8 cores clocked at 1.7 GHz. That gives it the advantage in benchmarks for the price of the battery, however.
Currently, the following processors are built-on Helio P10 hardware:
MT6738 = 1.5 GHz + 1.0 GHz (Mali-T860MP2 - 500 MHz)
MT6750 = 1.5 GHz + 1.0 GHz (Mali-T860MP2 - 500 MHz)
MT6750T = 1.5 GHz + 1.0 GHz (Mali-T860MP2 - 700 MHz)
MT6755 = 1.8 GHz + 1.2 GHz (Mali-T860MP2 - 700 MHz) or 2.0 GHz + 1.2 GHz (Mali-T860MP2 - 700 MHz)
MT6755T (Helio P15) = 2.2 GHz + 1.2 GHz (Mali-T860MP2 - 800 MHz)
So, it's clear now that:
MT6738, MT6750 and MT6750T are the same. Just called differently ...
MT6750 is an underclocked version of MT6755. Both use the same hardware which is Helio P10 board. It is like MT6735 & MT6753; both use MT6735 board.
Click to expand...
Click to collapse
Can You please reupload all the mega links they are all down
Hey ! I am trying to port a rom for my device and I couldn't understand exactly the kernel porting method. my stock rom is on the left and the port rom is lineage Os made for a same chipset (MTK6755) device (Vernee Mars). I can't figure out if I need to copy boot_verified.img from stock and replace with it boot.img on port or should I go by unpacking ( which I did try but didn't work while I am on osx 10.13 ) and packing. please help me here.
I tried to port MT6735 to MT6797 several days ago, but I failed (When the device showed boot logo, after 5 seconds, the device rebooted automatically).
Info:
Base (MT6797):
Android version: 6.0 MRA58K
OS: MIUI
Kernel version: 3.18.22+
Port (MT6735):
Android version: 7.1.1 NMF26O
OS: MediaTek AOSP
Kernel version: 3.18.35
What should I do?
How to port boot image when base ROM and port ROM have different Android version and kernel version?
Sent from my nikel using XDA Labs
Problems porting boot image:
Files not found.
Tool: Image Factory.
Sent from my nikel using XDA Labs
can you please make a rom for leagoo t5?
mt6750t
HTC Desire 10 Pro Dual Sim ...
Just a thought - I am no developer, but it seems my HTC Desire 10 Pro Dual Sim fits same Chipset
Wondering if possible to do Porting on it too!
I checked and re-checked before buying this phone [used almost new!] and the only thing I did NOT check was if there was a Qualcomm in it!
I trusted HTC - this is last time I do!
Mind it is a great phone and I am super happy and passed my old M8s to my partner!
Shall I get it back?

Categories

Resources