〖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 ...
随机推荐
- python文本 字符串对齐
python 字符串对齐 场景: 字符串对齐 python提供非常容易的方法,使得字符串对齐 >>> print("abc".center (30,'-')) ...
- XFire Web Service
Web Service 创建HelloWorldService项目 首先要启动Web Service Project 向导.该向导由三个页面组成,第一页设置Web项目配置的详细信息:第二页设置XFir ...
- <jsp:directive.page import=""/>的用法和解释
<jsp:directive.page import="zero.space.ch03.BookBean"/> 相当于 <%@ page import ...
- CMMI之功能点估算法---内部逻辑文件和外部接口文件
功能点分析的步骤 在本文中将以国际标准IFPUG(International Function Point Users Group)组织提供的功能点估算法V4.1.1为基础与大家进行讲解.如下图所示, ...
- UnityEditor研究学习之自定义Editor
UnityEditor研究学习之自定义Editor 今天我们来研究下Unity3d中自定义Editor,这个会让物体的脚本在Inspector视窗中,产生不同的视觉效果. 什么意思,举个例子,比如游戏 ...
- Android NDK开发篇(五):Java与原生代码通信(数据操作)
尽管说使用NDK能够提高Android程序的运行效率,可是调用起来还是略微有点麻烦.NDK能够直接使用Java的原生数据类型,而引用类型,由于Java的引用类型的实如今NDK被屏蔽了,所以在NDK使用 ...
- GUI程序设计
1. 对话框(JDialog)使用示例 例1. JDialog简单使用示例. import javax.swing.JLabel; public class demoJDialog { JFrame ...
- Visual Studio Code 构建C/C++开发环境
转自: https://blog.csdn.net/lidong_12664196/article/details/68928136#visual-sutdio-code%E4%BB%A5%E5%8F ...
- QT QCharts QScatterSeries 空心点阵图,鼠标移动到上面显示数值,鼠标移开数值消失
在最近接到的需求是这样的,画一个折线图,关键点使用空心的圆点标识出来,鼠标移动到关键点上,显示出当前数值:鼠标移走数值消失. 我们遇到这个需求的时候,第一时间就会想到使用 QLineSeries 画折 ...
- SQL Server基础知识三十三问 (15-21)
15. 存储过程可以调用自己么, 或者说可能有递归的存储过程么? SP nesting最多可以到多少层? 答: 可以的. 因为Transact-SQL 支持递归, 你可以编写可以调用自己的存储过程. ...