• 快速编译system.img和boot.img的方法


    快速编译system.img,可以使用这个命令:

    #make systemimage 

    快速编译boot.img,可以使用以下命令:

    #make bootimage 

    快速编译userdata.img,可以使用以下命令:

    # make userdataimage-nodeps

    但是,对于bootimage, 在不改变内存布局的情况下,可以使用以下命令:

    #cp ./arch/arm/boot/Image ./arch/arm/boot/kernel

    #mkbootimg --kernel ./arch/arm/boot/kernel --ramdisk ../out/target/product/tcc8800/ramdisk.img --cmdline

    console=ttyTCC,115200n8 --base 0x40000000 --pagesize 8192 --output ../out/target/product/tcc8800/boot.img

    其实这些生成命令都在build/core/Makefile中.

    生成boo.img的方法: 

    $(INSTALLED_BOOTIMAGE_TARGET):$(MKBOOTIMG) $(INTERNAL_BOOTIMAGE_FILES)

                  $(MKBOOTIMG)  $(INTERNAL_BOOTIMAGE_ARGS) --output $@

    ......

    生成system.img的方法:

    define build-systemimage-target

         $(MKYAFFS2) -f $(mkyaffs2_extra_flags) $(TARGET_OUT) $(1)

    生成userdata.img的方法

    define build-userdataimage-target

    mkdir -p $(TARGET_OUT_DATA)

    $(MKYAFFS2) -f $(mkyaffs2_extra_flags) $(TARGET_OUT_DATA) $(INSTALLED_USERDATAIMAGE_TARGET)

     同样,ramdisk.img的生成方法为:

    BUILT_RAMDISK_TARGET := $(PRODUCT_OUT)/ramdisk.img

     INSTALLED_RAMDISK_TARGET := $(BUILT_RAMDISK_TARGET)

    $(INSTALLED_RAMDISK_TARGET): $(MKBOOTFS) $(INTERNAL_RAMDISK_FILES) | $(MINIGZIP)

    $(MKBOOTFS) $(TARGET_ROOT_OUT) | $(MINIGZIP) > $@

    为方便起见,也可以在Makefile中加入以下内容:

    BUILT_RAMDISK_TARGET := $(PRODUCT_OUT)/ramdisk.img

    .PHONY: ramdiskimage

    ramdiskimage: ${BUILT_RAMDISK_TARGET}

    然后,就可以输入:make ramdiskimage 来编译ramdisk.img文件了

    最简单的方法是:

      out/host/linux-x86/bin/mkbootfs out/target/product/tcc8900/root |

       out/host/linux-x86/bin/minigzip > out/target/product/tcc8900/ramdisk.img

  • 相关阅读:
    python类库31[正则表达式匹配实例]
    Mysql百万级数据迁移实战笔记
    面试官:一千万数据,怎么快速查询?
    为什么MySQL不建议使用NULL作为列默认值?
    Redis各个数据类型最大存储量
    Rabbitmq延迟队列实现定时任务
    PHPstorm批量修改文件换行符CRLF为LF
    使用SeasLog打造高性能日志系统
    协程编程注意事项
    Rabbitmq 安装过程中常见问题(亲测可行)
  • 原文地址:https://www.cnblogs.com/wanqieddy/p/2734024.html
Copyright © 2020-2023  润新知