ASOP源码中单独编译preloader/lk/kernel/framework模块

   日期:2020-11-01     浏览:90    评论:0    
核心提示:ASOP单独编译重要模块单独编译preloader单独编译LK单独编译kernel打包system.img打包boot.img单独编译preloader主要步骤cd bootable/bootloader/preloader./build.sh 2>&1 TARGET_PRODUCT=${PROJECT} | tee preloader_build.logPROJECT由自己指定,比如我指定了8p1bsp,之后会在源码目录下的out/target/product/8

ASOP单独编译重要模块

    • 单独编译preloader
    • 单独编译LK
    • 单独编译kernel
    • 单独编译init模块
    • 单独编译framework的services模块
    • 打包system.img
    • 打包boot.img

单独编译preloader

  • 主要步骤
    • cd bootable/bootloader/preloader

    • ./build.sh 2>&1 TARGET_PRODUCT=${PROJECT} | tee preloader_build.log

PROJECT由自己指定,比如我指定了8p1bsp,之后会在源码目录下的out/target/product/8p1bsp/obj/PRELOADER_OBJ/bin/目录下生成几个bin文件,其中preloader_8p1bsp.bin文件就是preloader bin文件

单独编译LK

单独编译LK时,同时也会再次编译logo.bin,可实现更新logo bin文件的目的。

  • 方法一
    • cd bootable/bootloader/lk
    • make -j32 ${PROJECT} 2>&1 | tee lk_build.log
    • bootable/bootloader/lk/build-${PROJECT}/ 下生成的LK 和 LOGO bin文件拷贝到 out/target/product/[project]/

PROJECT由自己指定。对整个系统进行编译时,这些编译产物会存放在:
out/target/product/8p1bsp/obj/BOOTLOADER_OBJ/build-8p1bsp
有个问题是使用此方法不能生成带签名的img和bin文件

  • 方法二
    执行以下命令,指定编译lk模块
    mmm vendor/mediatek/proprietary/bootable/bootloader/lk:lk -j8

编译前需执行以下操作:

  1. 删掉 out\target\product\项目名 目录中的lk和logo
  2. 删掉 out\target\product\项目名\obj\BOOTLOADER_OBJ\build-项目名 目录中的lk和logo的bin文件
  3. 删掉 out\target\product\项目名\obj\BOOTLOADER_OBJ\build-项目名\dev 目录中的logo目录

使用此方法编译完成后在 out\target\product\项目名 目录中会有新编译出的lk.imglogo.bin以及带签名的烧录文件

单独编译kernel

ASOP源码根目录下使用命令:mmm kernel-4.4:kernel -j8

编译成功后会在 out/target/product/项目名/ 目录中生成kernel文件

单独编译init模块

ASOP源码根目录下执行:
mmm system/core/init/

单独编译framework的services模块

  • 先在framework/base目录下执行
    mmm core/res/ 生成framework-res.apk

  • 如果framework/base/services/下也有修改,也要编译:
    mmm framework/base/services

  • 然后再单独编译framework
    mmm frameworks/base

相关的输出文件在输出目录下的system/framework中,包含:

services.jar
framework-res.apk
framework.jar

可利用adb命令将这些文件push到设备端的 system/framework 目录下。若需测试这两个新模块,需先杀掉所有使用该模块的进程,进程重启后会重新加载模块。
系统服务被杀掉后一般都会自动重启(由init控制)

打包system.img

使用以下命令:
make snod 或 make systemimage-nodeps

打包boot.img

使用以下命令:
make boot.img

编译完成后会在 out/target/product/项目名/ 目录中重新生成带签名和不带签名的boot.img

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服