请选择 进入手机版 | 继续访问电脑版

小白手机网_让小白也能一键刷机救砖

查看: 753|回复: 0

mt6577手机通用移植教程

[复制链接]
  • TA的每日心情
    擦汗
    2016-6-1 09:40
  • 签到天数: 55 天

    [LV.5]常住居民I

    54

    主题

    59

    帖子

    214748万

    积分

    管理员

    Rank: 16Rank: 16Rank: 16Rank: 16

    积分
    2147483647

    最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

    QQ
    发表于 2016-6-9 11:06:57 | 显示全部楼层 |阅读模式
    首先你要有个可以刷ROM的recovery


    现在来分析刷机包的结构

    META-INF
    这是刷机包的脚本部分
    system
    这是刷机包的主要部分,和手机的system分区一样
    boot.img
    这是刷机包的内核部分



    META-INF中

    这三个为签名文件


    这个是脚本文件


    这个是函数文件

    updater-script打开如下

    ui_print
    这个是用来在刷机包上显示字符的
    show_progress
    这个是控制recovery中进度条的
    format
    格式化
    mount
    挂载
    package_extract_dir
    展开文件

    symlink
    设置快捷方式
    set_perm_recursive
    设置文件夹权限
    set_perm
    设置文件的权限
    assert
    这个不管他,是用来分刷机线程的
    write_raw_image
    写入RAW分区镜像
    delete
    删除
    unmount
    卸载
    制作刷机包是要把updater-script中写入别分区的指令删除
    比如写入uboot,recovery的
    只保留


    assert(package_extract_file("boot.img", "/tmp/boot.img"),
    write_raw_image("/tmp/boot.img", "boot"),
    delete("/tmp/boot.img"));
    还有
    assert(getprop("ro.product.device") == "lenovo75_cu_ics" || getprop("ro.build.product") == "lenovo75_cu_ics" ||
    getprop("ro.product.device") == "lenovo75_ics" || getprop("ro.build.product") == "lenovo75_ics" ||
    getprop("ro.product.device") == "H932" || getprop("ro.build.product") == "H932");
    像这样的指令
    是刷机的机型限制
    也要删除
    还有挂载指令


    这个是联想A750的


    .

    这个是我的凯利通i51sh的
    一定要改成自己分区的位置
    要不然recovery中不会识别
    查看分区位置要先把recovery.img解包


    在recovery.fstab保存的就是分区信息


    图中就是我凯利通i51sh的分区位置
    可以看出system分区的文件格式是yaffs2的
    挂载的位置是在system
    所以指令就是format("yaffs2", "MTD", "system", "0");
    后面的“0”是分区的第二个位置没有就填“0”
    MTD是把手机内置分区给重新分配用的
    相当于分区表

    打开system

    app是系统应用
    精简系统就是精简这里的


    bin和xbin是安卓运行应用的函数部分


    etc中包含GPS的配置 sd卡分区表 基带 hosts wifi配置等配置文件


    fonts是字体


    framework是系统框架


    lib是链文件库,驱动,感应器等配置文件的所在地


    media包含开关机动画,开关机音乐,开机第二屏,铃声等所在地


    res是用于工厂模式检测硬件的


    tts是用于控制语言的


    usr是键盘分布的


    vendor也属于基带的一部分,其中也有包含一些推广应用


    build.prop是属于机型信息,还有一些优化配置指令也存在这里
    移植时要完全使用要移植包的app,bin,fonts,framework,media,tts,xbin文件夹


    可以精简app,media中的文件


    app中可以删除无关应用


    media中可以删除或更换开机第二屏,铃音
    P.S:可以删除media目录的images文件夹,也可以删除audio中的alarms,notifications,ringtones文件夹,就是不能删除ui文件夹
    关键要移植etc,lib,usr和vendor文件夹
    这四个是mt6577手机的基带和驱动所在地




    这是要替换成自己手机文件的列表
    是从另一个教程搬来再补充的
    其中firmware,mddb是控制信号和基带的
    但每次移植都是信号和基带的出问题
    wifi是控制wifi的
    apns-conf.xml是控制a-gps的
    spn-conf.xml是控制运营商名称的
    vold.fstab.fat.nand和vold.fstav.nand是控制sd卡分区的


    其中的permissions
    l我也不知道要干嘛
    lib中要替换的文件如下

    hw是传感器驱动
    modules是整机驱动所链接的位置
    libaudioeffect_jni.so,libaudioflinger.so,libaudiosetting.so是控制声音的驱动
    libcamera_client.so,libcameracustom.so,libcameraservice.so是控制相机的驱动

    usr是键盘映射部分要替换如下

    .uv是我的凯利通控制按键震动的,一些手机没有
    keychars和keylayout是控制按键映射位置的

    vendor是控制基带的要替换的只有lib文件夹
    还有一个要移植的就是boot.img文件


    参照移植百度云的教程
    解包自己的boot.img文件


    修改:boot.img-ramdisk/default.propro.secure=1 修改为 ro.secure=0ro.debuggable=1修改为 ro.debuggable=1persist.sys.usb.config=mass_storage 修改为persist.sys.usb.config=mass_storage,adb


    修改:boot.img-ramdisk/init.rc


    a) 添加副卡路径(可选):在export EXTERNAL_STORAGE /mnt/sdcard


    后面加上一行export SECONDARY_STORAGE /mnt/sdcard2


    注意:不一定是/mnt/sdcard2, 如果加上后,文件管理器上面找不到手机上的文件,请不要添加这一项


    b) 将BOOTCLASSPATH改为百度的,为了防止有些jar包遗漏 这项可以管


    c) 另外在on fs下加上


    chown root root /system/bin/su
    chmod 6755 /system/bin/su


    用于root的
    d) 添加以下内容, 好像是百度的服务


    service alljoyn-daemon /system/xbin/alljoyn-daemon --internal --no-switch-user --no-bt class main
    oneshot
    service WordSegService /system/bin/WordSegService
    class main
    oneshot
    service backuprestore /system/bin/backuprestore
    class main
    socket backuprestore stream 600 system system


    通过对比该内容在乐蛙rom的boot.img也有
    所以不是百度的服务


    亲测该boot.img可用于乐蛙,百度云,乐OS等rom



                                                                         
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|小白手机网  |申请友情链接

    GMT+8, 2019-1-18 17:45 , Processed in 1.060685 second(s), 32 queries .

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表