快速編譯system.img,能夠使用這個命令:node
#make systemimage linux
快速編譯boot.img,能夠使用如下命令:佈局
#make bootimage ui
快速編譯userdata.img,能夠使用如下命令:spa
# make userdataimage-nodepsip
可是,對於bootimage, 在不改變內存佈局的狀況下,能夠使用如下命令:內存
#cp ./arch/arm/boot/Image ./arch/arm/boot/kernelget
#mkbootimg --kernel ./arch/arm/boot/kernel --ramdisk ../out/target/product/tcc8800/ramdisk.img --cmdlinecmd
console=ttyTCC,115200n8 --base 0x40000000 --pagesize 8192 --output ../out/target/product/tcc8800/boot.imgconsole
其實這些生成命令都在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