
mtk跨平台移植教程汉化版.doc
11页如何移植ROM只试用于MTK芯片!在这篇教程中,你将会学会同平台CPU移植,也将会跨平台移植试用于芯片MT6589 to MT6577移植MT6582 to MT6572移植MT6577 to MT6575移植只能ICS移植ICS 或者JB to JB可能4.1移植4.2也行,只是可能不需要安卓源码不需要内核源码不需要安卓厨房不需要Linux环境只需要:* 大脑的思考* 耐心去做的决心* Windows XP/7/8* 7-Zip解压缩工具* Notepad++文本编辑器* Bootimg 解包打包工具* 官方ROM和要移植的ROM准备好了,现在开始...同平台移植 ( 例如: MT6572 移植MT6572)*把官方ROM和要移植的ROM解压 从你的官方系统中提取以下文件替换到你想要移植的ROM中,注意,替换整个文件夹时先删除要移植的包中相应文件夹,不要直接合并需要替换的文件或文件夹有:*system/vendor/lib*system/usr/keychars和keylayout*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当出现一下bug时,替换以下文件...*system/etc/permissions*system/etc/security*system/etc/audio*system/etc/wifi*system/lib/drm*system/lib/egl*system/lib/soundfx* 然后把官方的boot.img替换到要移植的包,前提是你的官方包boot和要移植的包中boot的启动项要相同,如果你移植像乐蛙ROM这样的,还需修改启动项。
因为乐蛙还导入了lewa-framwork.jar,下文有说明,建议移植任何ROM都修改一下boot中的启动项,下文有讲怎么修改接下来用notepad++打开要移植的ROM中的 META-INF/google/android/updater-script这个刷机脚本* 找到这段:format(".......只需要修mmcblk0p.. 为你官方包的分区* 依然像上面那样把下面的修改为你官方包的对应分区,可以参考官方包中的刷机脚本改mount("...例如:这是要移植的ROM中的刷机脚本的部分内容:format("ext4", "EMMC", "/dev/block/mmcblk0p5", "0", "/system");mount("ext4", "EMMC", "/dev/block/mmcblk0p5", "/system");这是官方包中刷机脚本的部分内容:format("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system");mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system");那么,你只需把要移植的ROM中的刷机脚本中的mmcblk0p5改为mmcblk0p3修改好了,要移植的ROM中的刷机脚本那部分内容应该像这样:format("ext4", "EMMC", "/dev/block/mmcblk0p3", "0", "/system");mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/system");不要直接把官方ROM中刷机脚本的整个内容替换到要移植的ROM的脚本中去!* 现在基本完成,你要移植的ROM基本有下面这几个文件,这是最基本的:-META-INF-system-boot.img* 现在用7zip把上面三个打包成zip格式的压缩包。
压缩文件时,应该这样配置:压缩格式: ZIP压缩方式: 正常* 现在,把制作好的zip包放入SD卡,然后进入第三方Recovery模式* 选择清空数据,恢复出厂设置,完成后,再选择清空cache缓存接下来,选择“从SD卡安装zip包,选择那个包,确定,然后等待刷机完成”接下来,是跨平台移植 ( 例如: MT6582 移植 MT6572 )请仔细看接下来的教程* 官方包中提取以下文件或文件夹替换到要移植的包中*system/vendor/lib*system/usr/keycharts和keylayout*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* 接下来用notepad++打开要移植包中的build.prop,找到以下内容:ro.mediatek.platform=MT65xx把这里的MT65xx改为你的的cpu型号例如我的cpu型号为MT6572,那么就改为:ro.mediatek.platform=MT6572*然后用notepad++打开要移植包中的刷机脚本* 在"set_perm"这段的结束地方添加这句:set_perm(0, 0, 0644, "/system/vendor/lib/hw/gralloc.mt65xx.so");[把这里的mt65xx改为你的cpu型号]例如,我的cpu是MT6572,那么就这样改:set_perm(0, 0, 0644, "/system/vendor/lib/hw/gralloc.mt6572.so");*现在,用boot解包工具把官方boot和要移植的boot解包。
然后打开要移植的boot解包后的boot.img-ramdisk,然后从中复制所有文件到 你官方boot中的boot.img-ramdisk 文件夹中如果文件存在就跳过,相当于把要移植包boot中多余的文件复制到官方中去*然后用notepad++打开官方boot.img-ramdisk文件夹 中的init.rc*找到这句,并修改cpu型号为你的cpu型号#Create Chip Propertyon early_property:ro.hardware=mt6582setprop ro.mtk.hardware mt6589on early_property:ro.hardware=mt6589setprop ro.mtk.hardware mt6589例如,我的cpu是MT6572,那么就这样改 :#Create Chip Propertyon early_property:ro.hardware=mt6582setprop ro.mtk.hardware mt6572on early_property:ro.hardware=mt6589setprop ro.mtk.hardware mt6572*接下来,修改default.prop,参照要移植的boot改。
然后把修改好的官方boot打包,并把打包的boot.img和要移植包中的其他两个修改好的文件夹压缩,方法和上面一样移植Lewa OS5 ROM:*官方包提取这些文件或文件夹到LeWa OS5 ROM中*system/vendor/lib*system/usr/keylayout和keycharts*system/lib/modules*system/lib/hw*system/etc/firmware*system/etc/vold.fstab*system/etc/vold.fstab.nand*system/etc/bluetooth* 然后解包官方的boot.img* 打开init.rc* 找到这几句,可能各个机型以下内容不同,有的机型只有一个启动项,这只是个示范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.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/Cu。












