〖Linux〗联想K860/i Android 4.2及以上的Bootimg解压与打包工具
因为自己有需要,所以花了一点时间来写了一下。
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解压与打包工具的更多相关文章
- Linux解压和打包jar
linux 中解压jarunzip XXX.jar -d app 打jar 进入到解压目录里面(app)jar cvfm0 MR-XDR-JMR-NEW.jar META-INF/MANIFEST.M ...
- 【转载】在linux下别用zip 用tar来压缩文件 zip解压后还是utf-8 window10是GBK
3.2 使用 unzip 命令解压缩 zip 文件 将 shiyanlou.zip 解压到当前目录: $ unzip shiyanlou.zip 使用安静模式,将文件解压到指定目录: $ un ...
- android system.img 解压和打包
system.img重新编译的时间太长,添加和更改的文件系统内容,往往通过对system.img加压再打包的方式. 参考链接 http://blog.csdn.net/whu_zhangmin/art ...
- linux 如何对文件解压或打包压缩
tar命令用与对文件打包压缩或解压,格式: tar [选项] [文件] 打包并压缩文件: tar -czvf 压缩包名 .tar.gz 解压并展开压缩包: tar -xzvf 压缩包名 .tar. ...
- linux的 复制 删除 解压 压缩 打包
liunx 删除 删除文件夹实例: rm -rf /var/log/httpd/access 将会删除/var/log/httpd/access目录以及其下所有文件.文件夹 2 删除文件使用实例: r ...
- android studio下的NDK开发详解(一)
源地址:http://www.voidcn.com/blog/chengkaizone/article/p-5761016.html 好记性不如烂笔头,开始坚持写博客,学一点记一点,只为了生活更好. ...
- Linux下常用压缩 解压命令和压缩比率对比
常用的格式有:tar, tar.gz(tgz), tar.bz2, 不同方式,压缩和解压方式所耗CPU时间和压缩比率也差异也比较大. 1. tar只是打包动作,相当于归档处理,不做压缩:解压也一样,只 ...
- Android 解压boot.img
其实解压.打包boot.img没什么难度一看就会咯!! 1.先下附件:工具. 点击打开链接 6.0 KB, 下载次数: 60) 解压到bin文件夹里,方便以后使用. 2.解压boot ...
- Linux与Windows 解压乱码 UTF8BOM读取问题
Linux 与 Windows 文件乱码问题 这几天需要在linux下用CNN跑数据,但是把数据和数据列表list上传到linux下时却出现了不少乱码的问题.将这两天碰到的编码问题简单的总结一下. 1 ...
随机推荐
- [self removeAllSubviews]; // 删除所有子视图(包括 selfl.view) 所以,要慎用
[self removeAllSubviews]; //删除所有子视图(包括 selfl.view) 所以,要慎用
- [PHP] ubuntu16.04下 Phpstorm发布项目到apache
reference to : http://blog.csdn.net/qq_23937195/article/details/72953308 在网上找的不靠谱,倒腾了大半天的,终于找到正确姿势QA ...
- mac下zsh的使用:主题、z命令
安装Oh-My-ZSH: `curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh` zs ...
- Informatica 常用组件Lookup之六 查询
PowerCenter 基于您在查找转换中配置的端口和属性来查询查找.当第一行输入到查找转换时,PowerCenter 运行一个默认的 SQL 语句.如果使用关系查找,您可以在"查找 SQL ...
- Android4.2.2 Gallery2源码分析(4)——GLCanvas.java
首先申明,找到这个类是在GLRootView.java中发现的线索.这是一个接口,源码中对该接口作了详细的说明: // // GLCanvas gives a convenient interface ...
- Sqlserver存储过程生成日期维度
话不多说,之前已经有一篇日志是利用oracle的存储过程生成日期维度表,接下来我们就用sqlserver来实现这个操作,如下面的步骤所示 1:创建日期维度表(Dim_time) USE [DW] GO ...
- Memcached和Memcache 配置教程windows X64
一.Memcached和Memcache的区别: 网上关于Memcached和Memcache的区别的理解众说纷纭,我个人的理解是: Memcached是一个内存缓存系统,而Memcache是php的 ...
- DockPanel 类
DockPanel 类 .NET Framework 4.5 其他版本 此主题尚未评级 - 评价此主题 定义您可水平或垂直排列子元素的区域,互相. 继承层次结构 System.Obje ...
- JS中关于in运算符的问题
转自:http://bbs.bccn.net/thread-412608-1-1.html in运算符 in运算符虽然也是一个二元运算符,但是对运算符左右两个操作数的要求比较严格.in运算符要求第1个 ...
- rapidxml 节点加入另一个xml
void TestRapidXml() { ]; sprintf(xmlContent,"<root><head>aaa</head><body&g ...