因为自己有需要,所以花了一点时间来写了一下。

1. 解压工具

#!/bin/bash -
#===============================================================================
#
# FILE: unpackszbboot
#
# USAGE: ./unpackszbboot
#
# DESCRIPTION:
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# NOTES: ---
# AUTHOR: linkscue (scue), linkscue@gmail.com
# ORGANIZATION:
# CREATED: 2014年02月01日 00时58分49秒 CST
# REVISION: ---
#=============================================================================== usage(){
echo "Usage: ${0} bootimg extdir"
} if [[ $# -lt ]]; then
usage && exit
fi # 镜像文件位置
bootimg_org=$(readlink -f ${})
[[ ! -e ${bootimg_org} ]] && exit # 设置输出目录
extdir=$(dirname ${bootimg_org})/boot_extdir
[[ ${} != "" ]] && extdir=${}
echo ">> Will unpack to ${extdir}" # 清除旧目录,创建新目录
rm -rf ${extdir} >/dev/null
mkdir -p ${extdir}
cd ${extdir} # 解压bootimg和ramdisk
bootimg --unpack-bootimg ${bootimg_org}
dd if=ramdisk of=ramdisk.gz bs= skip=
mkdir root && cd root
gunzip -c ../ramdisk.gz | cpio -i
cd ../

2. 打包工具

#!/bin/bash -
#===============================================================================
#
# FILE: repackszbboot
#
# USAGE: ./repackszbboot
#
# DESCRIPTION:
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# NOTES: ---
# AUTHOR: linkscue (scue), linkscue@gmail.com
# ORGANIZATION:
# CREATED: 2014年02月01日 02时16分11秒 CST
# REVISION: ---
#=============================================================================== # 设置目录
boot_dir=${PWD}
[[ ${} != "" ]] && boot_dir=$(readlink -f ${})
root_dir=${boot_dir}/root
kernel_file=${boot_dir}/kernel
ramdisk_cpio=ramdisk.img.cpio
ramdisk_gz=ramdisk.img.cpio.gz
boot_output=boot.img.new # 工具位置
mkbootfs=/media/Source/cm10./out/host/linux-x86/bin/mkbootfs
minigzip=/media/Source/cm10./out/host/linux-x86/bin/minigzip [[ ! -e ${boot_dir} ]] && exit # 打包
cd ${boot_dir}
${mkbootfs} ${root_dir} | ${minigzip} > ${ramdisk_cpio} mkimage -A arm -O linux -T ramdisk -C none -a 0x40800000 -e 0x40800000 \
-n "ramdisk" -d ${ramdisk_cpio} ${ramdisk_gz}
mkbootimg --kernel ${kernel_file} --ramdisk ${ramdisk_gz} \
--base 0x10000000 --cmdline "" --pagesize -o ${boot_output} # 显示结果
ls -l ${boot_output}

〖Linux〗联想K860/i Android 4.2及以上的Bootimg解压与打包工具的更多相关文章

  1. Linux解压和打包jar

    linux 中解压jarunzip XXX.jar -d app 打jar 进入到解压目录里面(app)jar cvfm0 MR-XDR-JMR-NEW.jar META-INF/MANIFEST.M ...

  2. 【转载】在linux下别用zip 用tar来压缩文件 zip解压后还是utf-8 window10是GBK

    3.2 使用 unzip 命令解压缩 zip 文件 将 shiyanlou.zip 解压到当前目录:   $ unzip shiyanlou.zip 使用安静模式,将文件解压到指定目录:   $ un ...

  3. android system.img 解压和打包

    system.img重新编译的时间太长,添加和更改的文件系统内容,往往通过对system.img加压再打包的方式. 参考链接 http://blog.csdn.net/whu_zhangmin/art ...

  4. linux 如何对文件解压或打包压缩

    tar命令用与对文件打包压缩或解压,格式: tar [选项] [文件] 打包并压缩文件: tar -czvf  压缩包名 .tar.gz 解压并展开压缩包: tar -xzvf  压缩包名 .tar. ...

  5. linux的 复制 删除 解压 压缩 打包

    liunx 删除 删除文件夹实例: rm -rf /var/log/httpd/access 将会删除/var/log/httpd/access目录以及其下所有文件.文件夹 2 删除文件使用实例: r ...

  6. android studio下的NDK开发详解(一)

    源地址:http://www.voidcn.com/blog/chengkaizone/article/p-5761016.html 好记性不如烂笔头,开始坚持写博客,学一点记一点,只为了生活更好. ...

  7. Linux下常用压缩 解压命令和压缩比率对比

    常用的格式有:tar, tar.gz(tgz), tar.bz2, 不同方式,压缩和解压方式所耗CPU时间和压缩比率也差异也比较大. 1. tar只是打包动作,相当于归档处理,不做压缩:解压也一样,只 ...

  8. Android 解压boot.img

    其实解压.打包boot.img没什么难度一看就会咯!!   1.先下附件:工具. 点击打开链接 6.0 KB, 下载次数: 60)      解压到bin文件夹里,方便以后使用.   2.解压boot ...

  9. Linux与Windows 解压乱码 UTF8BOM读取问题

    Linux 与 Windows 文件乱码问题 这几天需要在linux下用CNN跑数据,但是把数据和数据列表list上传到linux下时却出现了不少乱码的问题.将这两天碰到的编码问题简单的总结一下. 1 ...

随机推荐

  1. [self removeAllSubviews]; // 删除所有子视图(包括 selfl.view) 所以,要慎用

    [self removeAllSubviews];  //删除所有子视图(包括 selfl.view)   所以,要慎用

  2. [PHP] ubuntu16.04下 Phpstorm发布项目到apache

    reference to : http://blog.csdn.net/qq_23937195/article/details/72953308 在网上找的不靠谱,倒腾了大半天的,终于找到正确姿势QA ...

  3. mac下zsh的使用:主题、z命令

    安装Oh-My-ZSH: `curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh` zs ...

  4. Informatica 常用组件Lookup之六 查询

    PowerCenter 基于您在查找转换中配置的端口和属性来查询查找.当第一行输入到查找转换时,PowerCenter 运行一个默认的 SQL 语句.如果使用关系查找,您可以在"查找 SQL ...

  5. Android4.2.2 Gallery2源码分析(4)——GLCanvas.java

    首先申明,找到这个类是在GLRootView.java中发现的线索.这是一个接口,源码中对该接口作了详细的说明: // // GLCanvas gives a convenient interface ...

  6. Sqlserver存储过程生成日期维度

    话不多说,之前已经有一篇日志是利用oracle的存储过程生成日期维度表,接下来我们就用sqlserver来实现这个操作,如下面的步骤所示 1:创建日期维度表(Dim_time) USE [DW] GO ...

  7. Memcached和Memcache 配置教程windows X64

    一.Memcached和Memcache的区别: 网上关于Memcached和Memcache的区别的理解众说纷纭,我个人的理解是: Memcached是一个内存缓存系统,而Memcache是php的 ...

  8. DockPanel 类

    DockPanel 类 .NET Framework 4.5   其他版本   此主题尚未评级 - 评价此主题   定义您可水平或垂直排列子元素的区域,互相. 继承层次结构   System.Obje ...

  9. JS中关于in运算符的问题

    转自:http://bbs.bccn.net/thread-412608-1-1.html in运算符 in运算符虽然也是一个二元运算符,但是对运算符左右两个操作数的要求比较严格.in运算符要求第1个 ...

  10. rapidxml 节点加入另一个xml

    void TestRapidXml() { ]; sprintf(xmlContent,"<root><head>aaa</head><body&g ...