I.MX6 mkuserimg.sh hacking
/***********************************************************************
* 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的更多相关文章
- I.MX6 mkuserimg.sh 使用
/*********************************************************************** * I.MX6 mkuserimg.sh 使用 * 说 ...
- I.MX6 android mkuserimg.sh
/************************************************************************** * I.MX6 android mkuserim ...
- post-image.sh hacking
#********************************************************************************* #* post-image.sh ...
- I.MX6 U-Boot mkconfig hacking
/**************************************************************************** * I.MX6 U-Boot mkconfi ...
- I.MX6 mfgtool2-android-mx6q-sabresd-emmc.vbs hacking
/******************************************************************** * I.MX6 mfgtool2-android-mx6q- ...
- Woobuntu woobuntu_build.sh hacking
# Woobuntu woobuntu_build.sh hacking # 说明: # 有时候因为一些需求,我们需要定制一些系统,包括Ubuntu系统,于是 # 我们自然需要知道如何去解包一个Ubu ...
- OK335xS psplash make-image-header.sh hacking
/***************************************************************************** * OK335xS psplash mak ...
- ti processor sdk linux am335x evm setup.sh hacking
#!/bin/sh # # ti processor sdk linux am335x evm setup.sh hacking # 说明: # 本文主要对TI的sdk中的setup.sh脚本进行解读 ...
- 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 ...
随机推荐
- BigTable
Bigtable发布于2006年,启发了无数的NoSQL数据库,比如:Cassandra.HBase等等. Cassandra架构中有一半是模仿Bigtable,包括了数据模型.SSTables以及提 ...
- [Docker]容器镜像
1.rootfs的基础知识 Mount namespaces 隔离的是文件系统挂接点,它使每个容器能看到不同的文件系统层次结构,即每当创建一个新容器时,希望容器进程看到的文件系统时一个独立的隔离环境 ...
- HTTP API 自动化测试从手工测试到平台的演变
不管是 Web 系统,还是移动 APP,前后端逻辑的分离设计已经是常态化,相互之间通过 API 调用进行数据交互.在基于 API 约定的开发模式下,如何加速请求 / 响应的 API 测试,让研发人员及 ...
- hdu 3940
#include<stdio.h> #include<math.h> #include<string.h> double first(double vx,doubl ...
- Linux内核设计与实现——读书笔记2:进程管理
1.进程: (1)处于执行期的程序,但不止是代码,还包括各种程序运行时所需的资源,实际上进程是正在执行的 程序的实时结果. (2)程序的本身并不是进程,进程是处于执行期的程序及其相关资源的总称. (3 ...
- dpr——设备像素比(device pixel ratio)
设备像素比 = 物理像素 / 逻辑像素 1.物理像素 显示器上最小的物理显示单元(像素颗粒),在操作系统的调度下,每一个设备像素都有自己的颜色值和亮度值. 例如:手机大小固定,物理像素越高,画面越清晰 ...
- HDU 1896 【留个使用priority_queue容器的样例】
感谢<啊哈!算法>的讲解,水鸟弄懂了什么是优先队列. 题意是:在路上有很多石子,给出他们的初始位置和小明能够将他们扔出的距离,当小明遇到奇数个石子的时候就会把它扔出,遇到偶数个就会忽略他, ...
- Java中Cookie常用操作类(Spring中操作Cookie)
说明:Cookie下用Key取值没有快速的方法,只能便利循环去取. 技巧:置0则cookie会立即删除,设置-1,负值则会在关闭浏览器后删除.切记一定要增加路径:setPath("/&quo ...
- Maven安装和手动安装jar到仓库
1. 安装Maven 1.下载mvn到本地,解压. 2.新建系统变量MAVEN_HOME,值指向安装目录如D:\apache-maven-3.3.9 3.path变量中增加:%MAVEN_HOME%\ ...
- @Retention n. 保留
@Retention n. 保留 学习了:https://blog.csdn.net/asdgbc/article/details/70196749 默认都是保留到class中,而在runtime中没 ...