android单独编译各个img命令

这篇具有很好参考价值的文章主要介绍了android单独编译各个img命令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

make aboot #单编abl

编译kernel image

$ make kernel -j12 #第二次编译可使用ninja kernel -j12
$ make bootimage -j12 #第二次编译可使用ninja bootimage -j12
$ make dtboimage -j12 #第二次编译可使用ninja dtboimage -j12

注:新电脑编译过程会提示缺一些模块/库,需根据错误提示安装相关模块/库 # 编译成功生成如下镜像

out/target/product/vangogh/boot.img
out/target/product/vangogh/dtbo.img

dtbo.img是手机厂商修改的镜像,dtb.img是谷歌原生的设备树镜像,dtbo.img与dtb.img是overlay关系,手机启动时会合并两者的设备树信息(dtb.img中dtbo.img未修改部分 + dtbo.img中相对于dtb.img的已修改部分)

编译vbmeta image

$ make vbmetaimage -j12 #第二次编译可使用ninja vbmetaimage -j12

编译成功生成如下镜像 out/target/product/vangogh/vbmeta.img

vbmeta.img用于安全验证,bootloader验证vbmeta的签名,再用vbmeta的key以及hash值验证dtbo、boo、system、vendor等镜像。

Android验证启动引导(Verified Boot)是确保终端用户在设备上运行的软件的完整性的过程,它通常从设备固件的只读部分开始,该部分加载代码,并在以加密方式验证代码是可信的并且没有任何已知的安全缺陷之后才执行代码。

AVB是验证引导的一个实现,而AVB中使用的中央数据结构是VBMeta结构

编译vendor image

$ make vendorimage -j12 #第二次编译可使用ninja vendorimage -j12
编译成功生成如下镜像:out/target/product/vangogh/vendor.img

编译system image

$ source build/envsetup.sh
$ lunch qssi-userdebug
$ make systemimage -j12 # 编译并生成system.img
$ make systemimage -j4 showcommands # 编译并生成system.img,同时显示编译命令

编译成功生成如下镜像:out/target/product/qssi/system.img
之后传统fastboot模式不可刷改镜像,需要进入fastbootd模式才行
或者将services.jar、framework.jar和framework-res.apk三个重要文件push到手机/system/framework/路径下

编译userdata image

$ make userdataimage -j4

userdata.img是Android系统中存放用户数据的,它被init进程通过解析init.rc文件mount到/data/目录下,默认里面是没有文件的。

编译super image

$ source build/envsetup.sh
$ lunch
$ ./build.sh dist merge_only -j**

#若上述命令不生效,则采用以下命令
$ make supernod
#or
$ make superimage-nodeps

编译vendor_boot.img

$ source build/envsetup.sh
$ lunch
$ make vendorbootimage

更多看
https://blog.csdn.net/q921374795/article/details/88558271文章来源地址https://www.toymoban.com/news/detail-426824.html

到了这里,关于android单独编译各个img命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android单编模块报FAILED: ninja: unknown target ‘MODULES-IN-vendor错误解决

    有时我们需要单编Android AOSP一个APK或库文件或二进制,用来调试。 但可能这个模块本身是不参与系统整编编译的。我们在使用mmm或mm单独编译时就会报这个错误。 在检查Android.mk或Android.bp无误后,就要怀疑是不是这个目录的上级目录是不是没有包含这个目录的Android.mk,导致编

    2024年02月04日
    浏览(31)
  • 迅为RK3588开发板编译 Buildroot单独编译图形化界面(编译 buildroot)

    第四步:编译 buildroot 首先在 linux 源码目录下输入以下命令进入编译的 UI 界面,进入之后如下所示: ./build.sh 然后将光标移动到第三个 rootfs,点击回车会进入到文件系统镜像选择界面,如下图所示: 这里总共有五种镜像供编译选择,由于本小节要编译的是 buildroot,所以将光

    2024年01月20日
    浏览(30)
  • 迅为RK3588开发板编译 Buildroot单独编译图形化界面三

    第三步:编译 Recovery 首先在 linux 源码目录下输入以下命令进入编译的 UI 界面,进入之后如下所示: ./build.sh 然后将光标移动到第四个 recovery,点击回车即可开始 recovery 的编译,编译过程如下所示: 编译完成如下图所示: 第四步:编译 buildroot 关注下一章节,迅为R

    2024年02月02日
    浏览(29)
  • 【Xilinx】开发环境(五)- 基于Petalinux配置,单独编译uboot,Linux内核

    此系列博客,仅对Xilinx平台PS端(ARM部分)开发做介绍,不对PL(FPGA)做过多介绍。 目录 一. 单独编译UBoot 2.1.拷贝源码 2.拷贝配置文件 3.编译 二. 单独编译内核源码 2.1 复制内核源码 2.2 复制配置文件( 根据芯片,32位复制到arch/arm/configs, 64位到arch/arm64/configs) 2.3 复制.its文件,用

    2024年02月10日
    浏览(44)
  • linux下system.img、vendor.img、boot.img解包和打包(android rom修改)

    linux系统下: 1、安装工具软件 2、下载make_ext4fs make_ext4fs,linux下system.img打包工具-Android文档类资源-CSDN下载 3、基础知识(可选看不看,不看进入下一步) system.img、vendor.img  都存在两种格式raw,sparse ,在linux 下执行:file system.img ① 一种是 raw ext4 image ,即经常说的 raw image ,

    2024年02月07日
    浏览(32)
  • android 镜像文件img 介绍

    Android 源码 编译后,在 out/target/product/generic下生成的三个镜像文件:  ramdisk.img : 根文件系统  system.img   :包括了主要的包、库等文件 userdata.img  : 包括了一些用户数据 以及它们对应的目录 root,system,data。   ①ramdisk.img是根文件系统:android启动时 首先加载ramdisk.im

    2024年02月08日
    浏览(24)
  • KEIL5 各个版本编译器的下载

    关于下载了新版本KEIL之后,编译器版本不对导致以前的程序不能运行,有许多问题需要解决,其中编译器版本问题是个不能避免的问题; 我之前用的是V5.06 update 7(build 906)版的编译器,后来升级MDK537之后,编译器版本就变成V6.16了,因为我是卸载删除之后再升级的MDK,所以之

    2024年02月02日
    浏览(37)
  • Android 各镜像文件img详解

    Android编译后生成文件,在out/target/product/xxx下: cache.img、cust.img、metadata.img、misc.img(本地无)、recovery.img、super.img、userdata.img、vbmeta.img、vbmeta_system.img(仅测试适配工作,而需要烧录的文件) abl.elf、boot.img、dtbo.img、dtb.img、ramdisk.img、vendor.img Android 10(Q版本)出现了动态分区(

    2024年02月02日
    浏览(30)
  • IMX6ULLPRO单独编译kernel+dtb内核模块以及uboot

    目录 linux开发板启动流程 为什么编译驱动程序之前要先编译内核? 驱动程序要用到内核文件: 编译内核 编译安装内核模块 编译内核模块 安装内核模块到 Ubuntu 某个目录下备用  安装内核和模块到开发板上  Bootloader 介绍 编译 u-boot 镜像 Reset--ROM--bootloader--kernel+dtb--rootfs--AP

    2024年01月22日
    浏览(34)
  • Android Studio单独开一个线程循环执行模板

      注意:这种方式虽然能够实现循环执行,但其实没有新开线程。如果对于可能多线程出现线程阻塞的任务,需要使用在Java中多线程的方法,参考:Android studio多线程模板

    2024年02月11日
    浏览(78)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包