/************************************************************************                  I.MX6 mkuserimg.sh hacking* 说明:*     上次发现Android源码使用mkuserimg.sh来打包Android文件系统,现在来* 跟踪一下其内部的工作机制。**                                   2016-6-28 深圳 南山平山村 曾剑锋**********************************************************************/#!/bin/bash -x
#
# To call this script, make sure make_ext4fs is somewhere in PATHfunction usage() {
cat<<EOT
Usage:
mkuserimg.sh [-s] SRC_DIR OUTPUT_FILE EXT_VARIANT MOUNT_POINT SIZE [FILE_CONTEXTS]
EOT
}# 显示环境变量
echo "in mkuserimg.sh PATH=$PATH"# 获取第一个命令行参数,用完之后移除第一个命令行参数
ENABLE_SPARSE_IMAGE=
if [ "$1" = "-s" ]; thenENABLE_SPARSE_IMAGE="-s"shift
fi# 这里是检查除了-s第一参数以外,还剩下的参数个数
if [ $# -ne 4 -a $# -ne 5 -a $# -ne 6 ]; thenusageexit 1
fi# 获取并检查源目录
SRC_DIR=$1
if [ ! -d $SRC_DIR ]; thenecho "Can not find directory $SRC_DIR!"exit 2
fi# 获取相应的数据
OUTPUT_FILE=$2
EXT_VARIANT=$3
MOUNT_POINT=$4
SIZE=$5
FC=$6# 目前仅仅支持ext4的制作,其他类型的文件都会直接退出
case $EXT_VARIANT inext4) ;;*) echo "Only ext4 is supported!"; exit 3 ;;
esac# 接下来也是检查各个参数的正确性
if [ -z $MOUNT_POINT ]; thenecho "Mount point is required"exit 2
fiif [ -z $SIZE ]; thenSIZE=128M
fiif [ -n "$FC" ]; thenFCOPT="-S $FC"
fi# 生成命令,显示命令,执行命令,检查命令执行结果
MAKE_EXT4FS_CMD="make_ext4fs $ENABLE_SPARSE_IMAGE $FCOPT -l $SIZE -a $MOUNT_POINT $OUTPUT_FILE $SRC_DIR"
echo $MAKE_EXT4FS_CMD
$MAKE_EXT4FS_CMD
if [ $? -ne 0 ]; thenexit 4
fi# mkuserimg.sh out/target/product/sabresd_6dq/system out/target/product/sabresd_6dq/obj/PACKAGING/systemimage_intermediates/system.img ext4 system 293601280

转载于:https://www.cnblogs.com/zengjfgit/p/5623118.html

I.MX6 mkuserimg.sh hacking相关推荐

  1. I.MX6 U-Boot mkconfig hacking

    /***************************************************************************** I.MX6 U-Boot mkconfig ...

  2. I.MX6 bq27441 driver hacking

    /************************************************************************** I.MX6 bq27441 driver hac ...

  3. OK335xS psplash make-image-header.sh hacking

    /****************************************************************************** OK335xS psplash make ...

  4. I.MX6 gpio-keys driver hacking

    /***************************************************************************** I.MX6 gpio-keys drive ...

  5. ti processor sdk linux am335x evm /bin/setup-minicom.sh hacking

    #!/bin/sh# # ti processor sdk linux am335x evm /bin/setup-minicom.sh hacking # 说明: # 本文主要对TI的sdk中的se ...

  6. I.MX6 mfgtool2-android-mx6q-sabresd-emmc.vbs hacking

    /********************************************************************* I.MX6 mfgtool2-android-mx6q-s ...

  7. ti processor sdk linux am335x evm /bin/setup-uboot-env.sh hacking

    #!/bin/sh# # ti processor sdk linux am335x evm /bin/setup-uboot-env.sh hacking # 说明: # 本文主要对TI的sdk中的 ...

  8. ti processor sdk linux am335x evm /bin/create-sdcard.sh hacking

    #!/bin/bash# # ti processor sdk linux am335x evm /bin/create-sdcard.sh hacking # 说明: # 本文主要对TI的sdk中的 ...

  9. I.MX6 Manufacturing Tool V2 (MFGTool2) Emmc mksdcard-android.sh hacking

    #!/bin/bash# 参考文章: # 1. Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数 # http://c.biancheng.net/cpp/vi ...

最新文章

  1. CentOS6.8 编译安装LNMP
  2. PXE新手经典思路引导
  3. html marquee
  4. Juniper 防火墙简明配置手册
  5. Java Review - 并发编程_抽象同步队列AQS
  6. 【Linux】tcp缓冲区大小的默认值、最大值
  7. IntelliJ IDEA删除所有断点
  8. SAP快速找到定制配置
  9. 本周的比特币现金市场和商家支持
  10. 软件配置管理(五)常用重构技巧
  11. Struts2 ognl中的#、%和$符号用法说明
  12. 使用WM_QUIT终止线程
  13. IJKMediaFramework框架的集成和使用实例一枚
  14. 关于计算机用途的大学英语作文,学习使用电脑Student Use of Computers
  15. 电力安全工作规程发电厂和变电站电气部分_一招告诉你,何为电力系统
  16. MVVM设计模式《网摘》
  17. Navicat Premium11.0.16 for mac 中文破解版
  18. Qt OpenGL教程 (非常详细)
  19. 高二计算机考试题库和答案,2017计算机基础考试题库及答案
  20. HSI彩色图像空间滤波

热门文章

  1. C#编程语言(六):枚举类型与结构类型
  2. python3 一些常用的数学函数
  3. keras保存模型_TF2 8.模型保存与加载
  4. php获得对象的类型,php 类型(对象)提示
  5. java继续_Java中消除实现继续和面向接口编程
  6. 最优化学习笔记(十八)——拟牛顿法(4)DFP算法
  7. 互联网晚报 | 9月7日 星期二 | 徐雷升任京东集团总裁;顺丰宣布再投5亿扶持快递小哥;vivo自研芯片V1正式亮相...
  8. 张一鸣这一条微博,阿里P8的我,竟然想了一夜
  9. 太多产品人死于汇报!
  10. 上班之第一个无聊周末