〖Linux〗联想K860/i Android(安卓)4.2及以上的Bootimg解压与打包工具
16lz
2021-01-24
因为自己有需要,所以花了一点时间来写了一下。
1. 解压工具
#!/bin/bash - #===============================================================================## FILE: unpackszbboot# # USAGE: ./unpackszbboot # # DESCRIPTION: # # OPTIONS: ---# REQUIREMENTS: ---# BUGS: ---# NOTES: ---# AUTHOR: linkscue (scue), [email protected]# ORGANIZATION: # CREATED: 2014年02月01日 00时58分49秒 CST# REVISION: ---#===============================================================================usage(){ echo "Usage: ${0} bootimg extdir"}if [[ $# -lt 1 ]]; then usage && exitfi# 镜像文件位置bootimg_org=$(readlink -f ${1})[[ ! -e ${bootimg_org} ]] && exit# 设置输出目录extdir=$(dirname ${bootimg_org})/boot_extdir[[ ${2} != "" ]] && extdir=${2}echo ">> Will unpack to ${extdir}"# 清除旧目录,创建新目录rm -rf ${extdir} 2>/dev/nullmkdir -p ${extdir}cd ${extdir}# 解压bootimg和ramdiskbootimg --unpack-bootimg ${bootimg_org}dd if=ramdisk of=ramdisk.gz bs=64 skip=1mkdir root && cd rootgunzip -c ../ramdisk.gz | cpio -i cd ../
2. 打包工具
#!/bin/bash - #===============================================================================## FILE: repackszbboot# # USAGE: ./repackszbboot # # DESCRIPTION: # # OPTIONS: ---# REQUIREMENTS: ---# BUGS: ---# NOTES: ---# AUTHOR: linkscue (scue), [email protected]# ORGANIZATION: # CREATED: 2014年02月01日 02时16分11秒 CST# REVISION: ---#===============================================================================# 设置目录boot_dir=${PWD}[[ ${1} != "" ]] && boot_dir=$(readlink -f ${1})root_dir=${boot_dir}/rootkernel_file=${boot_dir}/kernelramdisk_cpio=ramdisk.img.cpioramdisk_gz=ramdisk.img.cpio.gzboot_output=boot.img.new# 工具位置mkbootfs=/media/Source/cm10.1/out/host/linux-x86/bin/mkbootfsminigzip=/media/Source/cm10.1/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 2048 -o ${boot_output}# 显示结果ls -l ${boot_output}
更多相关文章
- Android(安卓)Studio中的“无法解析符号R”
- Android遍历所有文件夹和子目录搜索文件
- Android(安卓)内存监测工具 DDMS --> Heap
- Android(安卓)4.0源码下载
- android 字符串string
- java android 删除文件和文件夹的函数
- Android常用的多渠道打包方式整理(不断更新...)
- Android(安卓)获得手机信息工具类
- android ndk之常用命令