Android KK image 生成过程

来源:互联网 发布:无间道陈永仁知乎 编辑:程序博客网 时间:2024/06/05 04:35

先上源码编译的Log:

Installed file list: out/target/product/Hi3719CV100/installed-files.txtTarget system fs image: out/target/product/Hi3719CV100/obj/PACKAGING/systemimage_intermediates/system.imgRunning:  mkuserimg.sh -s out/target/product/Hi3719CV100/system out/target/product/Hi3719CV100/obj/PACKAGING/systemimage_intermediates/system.img ext4 system 524288000 out/target/product/Hi3719CV100/root/file_contexts+ echo 'in mkuserimg.sh PATH=out/host/linux-x86/bin/:/usr/lib/jvm/java-6-sun/bin:/home/lei/code/hisi/3719C/XunGe/6/out/host/linux-x86/bin:/home/lei/code/hisi/3719C/XunGe/6/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7/bin:/home/lei/code/hisi/3719C/XunGe/6/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7/bin:/home/lei/code/hisi/3719C/XunGe/6/prebuilts/gcc/linux-x86/mips/mipsel-linux-android-4.7/bin:/home/lei/code/hisi/3719C/XunGe/6/development/emulator/qtools:/home/lei/code/hisi/3719C/XunGe/6/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7/bin:/home/lei/code/hisi/3719C/XunGe/6/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7/bin:/home/lei/code/hisi/3719C/XunGe/6/development/scripts:/home/lei/code/hisi/3719C/XunGe/6/prebuilts/devtools/tools:/bin:/home/lei/bin:/home/root/bin/x86-arm/arm-hisiv200-linux/target/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin'in mkuserimg.sh PATH=out/host/linux-x86/bin/:/usr/lib/jvm/java-6-sun/bin:/home/lei/code/hisi/3719C/XunGe/6/out/host/linux-x86/bin:/home/lei/code/hisi/3719C/XunGe/6/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7/bin:/home/lei/code/hisi/3719C/XunGe/6/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7/bin:/home/lei/code/hisi/3719C/XunGe/6/prebuilts/gcc/linux-x86/mips/mipsel-linux-android-4.7/bin:/home/lei/code/hisi/3719C/XunGe/6/development/emulator/qtools:/home/lei/code/hisi/3719C/XunGe/6/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7/bin:/home/lei/code/hisi/3719C/XunGe/6/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7/bin:/home/lei/code/hisi/3719C/XunGe/6/development/scripts:/home/lei/code/hisi/3719C/XunGe/6/prebuilts/devtools/tools:/bin:/home/lei/bin:/home/root/bin/x86-arm/arm-hisiv200-linux/target/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin+ ENABLE_SPARSE_IMAGE=+ '[' -s = -s ']'+ ENABLE_SPARSE_IMAGE=-s+ shift+ '[' 6 -ne 5 -a 6 -ne 6 ']'+ SRC_DIR=out/target/product/Hi3719CV100/system+ '[' '!' -d out/target/product/Hi3719CV100/system ']'+ OUTPUT_FILE=out/target/product/Hi3719CV100/obj/PACKAGING/systemimage_intermediates/system.img+ EXT_VARIANT=ext4+ MOUNT_POINT=system+ SIZE=524288000+ FC=out/target/product/Hi3719CV100/root/file_contexts+ case $EXT_VARIANT in+ '[' -z system ']'+ '[' -z 524288000 ']'+ '[' -n out/target/product/Hi3719CV100/root/file_contexts ']'+ FCOPT='-S out/target/product/Hi3719CV100/root/file_contexts'+ MAKE_EXT4FS_CMD='make_ext4fs -s -S out/target/product/Hi3719CV100/root/file_contexts -l 524288000 -a system out/target/product/Hi3719CV100/obj/PACKAGING/systemimage_intermediates/system.img out/target/product/Hi3719CV100/system'+ echo make_ext4fs -s -S out/target/product/Hi3719CV100/root/file_contexts -l 524288000 -a system out/target/product/Hi3719CV100/obj/PACKAGING/systemimage_intermediates/system.img out/target/product/Hi3719CV100/systemmake_ext4fs -s -S out/target/product/Hi3719CV100/root/file_contexts -l 524288000 -a system out/target/product/Hi3719CV100/obj/PACKAGING/systemimage_intermediates/system.img out/target/product/Hi3719CV100/system+ make_ext4fs -s -S out/target/product/Hi3719CV100/root/file_contexts -l 524288000 -a system out/target/product/Hi3719CV100/obj/PACKAGING/systemimage_intermediates/system.img out/target/product/Hi3719CV100/systemCreating filesystem with parameters:    Size: 524288000    Block size: 4096    Blocks per group: 32768    Inodes per group: 8000    Inode size: 256    Journal blocks: 2000    Label:     Blocks: 128000    Block groups: 4    Reserved block group size: 31Created filesystem with 1448/32000 inodes and 94758/128000 blocks+ '[' 0 -ne 0 ']'Install system fs image: out/target/product/Hi3719CV100/system.imgout/target/product/Hi3719CV100/system.img+ maxsize=535265280 blocksize=4224 total=381747488 reserve=5406720

可以看到是build/core/Makefile中调用了build_image.py,后者又通过一个名为mkuserimg.sh来生成system image。

MAKE_EXT4FS_CMD='make_ext4fs -s -S out/target/product/Hi3719CV100/root/file_contexts -l 524288000 -a system out/target/product/Hi3719CV100/obj/PACKAGING/systemimage_intermediates/system.img out/target/product/Hi3719CV100/system'

最终还是调用make_ext4fs来生成镜像,
其中,
-s 指的是生成ext4的S模式制作;
-S 指的应该是selinux用到的file_contexts;
-a 指的是img挂载点;

原创粉丝点击