/***********************************************************************
* 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 PATH function 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" ]; then
ENABLE_SPARSE_IMAGE="-s"
shift
fi # 这里是检查除了-s第一参数以外,还剩下的参数个数
if [ $# -ne -a $# -ne -a $# -ne ]; then
usage
exit
fi # 获取并检查源目录
SRC_DIR=$
if [ ! -d $SRC_DIR ]; then
echo "Can not find directory $SRC_DIR!"
exit
fi # 获取相应的数据
OUTPUT_FILE=$
EXT_VARIANT=$
MOUNT_POINT=$
SIZE=$
FC=$ # 目前仅仅支持ext4的制作,其他类型的文件都会直接退出
case $EXT_VARIANT in
ext4) ;;
*) echo "Only ext4 is supported!"; exit ;;
esac # 接下来也是检查各个参数的正确性
if [ -z $MOUNT_POINT ]; then
echo "Mount point is required"
exit
fi if [ -z $SIZE ]; then
SIZE=128M
fi if [ -n "$FC" ]; then
FCOPT="-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 ]; then
exit
fi # mkuserimg.sh out/target/product/sabresd_6dq/system out/target/product/sabresd_6dq/obj/PACKAGING/systemimage_intermediates/system.img ext4 system

I.MX6 mkuserimg.sh hacking的更多相关文章

  1. I.MX6 mkuserimg.sh 使用

    /*********************************************************************** * I.MX6 mkuserimg.sh 使用 * 说 ...

  2. I.MX6 android mkuserimg.sh

    /************************************************************************** * I.MX6 android mkuserim ...

  3. post-image.sh hacking

    #********************************************************************************* #* post-image.sh ...

  4. I.MX6 U-Boot mkconfig hacking

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

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

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

  6. Woobuntu woobuntu_build.sh hacking

    # Woobuntu woobuntu_build.sh hacking # 说明: # 有时候因为一些需求,我们需要定制一些系统,包括Ubuntu系统,于是 # 我们自然需要知道如何去解包一个Ubu ...

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

    /***************************************************************************** * OK335xS psplash mak ...

  8. ti processor sdk linux am335x evm setup.sh hacking

    #!/bin/sh # # ti processor sdk linux am335x evm setup.sh hacking # 说明: # 本文主要对TI的sdk中的setup.sh脚本进行解读 ...

  9. ti processor sdk linux am335x evm /bin/setup-host-check.sh hacking

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

随机推荐

  1. windows 2008、2012防火墙添加入站规则教程(端口例外)

    windows2008.2012的设置方法基本一样,以下是以windows2008为例做添加80端口的步骤. 1.依次点“控制面板”→“系统和安全”→“windows防火墙”→“高级设置”,打开“高级 ...

  2. docker持续集成部署、csphere监控平台【转:http://blog.csdn.net/java_dyq/article/details/51997024】

    为什么使用Docker “ 从我个人使用的角度讲的话  部署来的更方便 只要构建过一次环境 推送到镜像仓库 迁移起来也是分分钟的事情 虚拟化让集群的管理和控制部署都更方便 hub.docker.com ...

  3. 子串(codevs 4560)

    题目描述 Description 有两个仅包含小写英文字母的字符串A和B.现在要从字符串A中取出k个互不重叠的非空子串,然后把这k个子串按照其在字符串A中出现的顺序依次连接起来得到一个新的字符串,请问 ...

  4. UVA 11827 Maximum GCD【GCD,stringstream】

    这题没什么好说的,但是输入较特别,为此还WA了一次... 题目链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge& ...

  5. POJ 2502 【思维是朴素的最短路 卡输入和建图】

    题意: 给出两个坐标,分别是小明家和小明学校的坐标. 给出多条地铁线,给出每站的坐标,已知地铁是双向的,每条线以-1 -1结尾. 给出地铁速度,步行速度. 地铁线可看成是顺次连接的线段. 求小明从家到 ...

  6. FTRL (Follow-the-regularized-Leader)算法

    Online gradient descent(OGD) produces excellent prediction accuracy with a minimum of computing reso ...

  7. Firefox下td用display控制页面导致页面变形

    Firefox下table的td元素假设使用了display:'block'会使得table变形.原因是block会将对象强制作为块对象呈递,为对象之后加入新行,所以并不适合td,改成display: ...

  8. ExpandableListView的使用以及信息的高亮显示

    ExpandableListView是ListView控件的延伸,它能够对数据进行分组显示和隐藏,并统计总数量.可进行滚动,对某一内容高亮显示. <1>编写xml布局文件,用于获取Expa ...

  9. jason数据格式 -- 扫盲

    JSON是 JavaScript Object Notation的简称,是一种轻量的数据表示方法.jason格式採用key:value的方式记录数据,非常直观,比XML简洁,因而大受欢迎 介绍jaso ...

  10. Deepin-我为什么推荐它!

    针对Win上的开发软件,大部分都需要密匙或者破解,而Deepin不敢说一应俱全,但全沾边是没问题的 无论是编程.娱乐还是其它的,基本上都可以做到,而且它还应用了Crossover来兼容大部分的Win软 ...