Ubuntu下修改system.img 解包system.img、打包system.img

一、准备工作:
解压解打包工具,得到三个文件:make_ext4fs、mkuserimg.sh、simg2img,
把它们跟要修改的 .img.ext4(或.img)文件放置到同一个目录下

二、转换源文件为img格式( .img则略过)
使用./simg2img src des命令来转换system.img.ext4格式文件
终端输入:

./simg2img system.img.ext4 system.img

等待一会就可以转换完毕

三、挂载镜像
新建一个目录,挂载此img到这个目录上使用
终端输入:

sudo mkdir sysmain

新建出一个名为sysmain的目录
继续输入:

mount -t ext4 -o loop system.img.ext4 sysmain

挂载成功后就可以在资源管理器中管理该img内的文件

四、修改镜像内容

五、重新打包
完成修改后就要打包,此时用到另外一个命令
首先在看看镜像挂载到目录后镜像分区的大小,例如是 512M
终端输入

chmod 777 ./mkuserimg.sh
./mkuserimg.sh -s sysmain systest.img.ext4 ext4 tmp 512M

随后就重新打包好了
#注意
下划线部分必须对应,如果是非M单位要转换成M

如果是打包成.img
终端输入

chmod 777 ./make_ext4fs
./make_ext4fs -l 512M -s -a system system_out.img ./sysmain

#注意:
-l 512M"是分区大小,i9100的system分区是512M;
"-a system",是指这个img用于Android,挂载点是/system
使用此参数后会自动根据private/android_filesystem_config.h里定义的权限给镜像中所有文件重新设置权限
如果刷机后发现有文件权限不对,可以修改android_filesystem_config.h添加权限重新编译make_ext4fs
也可以直接不使用 “-a system”参数,保持镜像中文件的默认权限。

时间: 2024-08-11 08:43:01

Ubuntu下修改system.img 解包system.img、打包system.img的相关文章

ubuntu 下修改文件访问权限chmod 777 -R *

本文转自: 个人建议 Ubuntu下修改目录权限命令如下:chmod 600 name (只有所有者有读和写的权限)chmod 644 name (所有者有读和写的权限,组用户只有读的权限)chmod 700 name (只有所有者有读和写以及执行的权限)chmod 666 name (每个人都有读和写的权限)chmod 777 name (每个人都有读和写以及执行的权限) 其中 name 指文件名,也可以是目录名. 整个命令的形式是chmod ×××(所有者)×××(组用户)×××(其他用户)

ubuntu 下修改host文件

原文地址:http://www.cnblogs.com/kingcat/archive/2012/02/23/2364509.html 有些时候,我们需要让某些域名指向本地,来实现调试,下面介绍下ubuntu下修改host实现域名指向本地的方法.    Ubuntu系统的Hosts只需修改/etc/hosts文件,在目录中还有一个hosts.conf文件,刚开始还以为只需要修改这个就可以了,结果发现是需要修改hosts.修改完之后要重启网络. 打开host文件 vim gedit /etc/ho

Ubuntu下apt-get命令详解

在Ubuntu下,apt-get近乎是最常用的shell命令之一了,因为他是Ubuntu通过新立得安装软件的常用工具命令. 本文列举了常用的APT命令参数: apt-cache search package 搜索软件包 apt-cache show package  获取包的相关信息,如说明.大小.版本等 sudo apt-get install package 安装包 sudo apt-get install package --reinstall   重新安装包 sudo apt-get -

Ubuntu下修改DNS重启也能用的方法

安装好Ubuntu之后设置了静态IP地址,再重启后就无法解析域名.想重新设置一下DNS,打开/etc/resolv.conf cat /etc/resolv.conf# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN 内容是一段警告:说这个文件是res

Ubuntu下apt-get命令详解(害怕自己会忘记)

在Ubuntu下,apt-get近乎是最常用的shell命令之一了,因为他是Ubuntu通过新立得安装软件的常用工具命令. 本文列举了常用的APT命令参数: apt-cache search package 搜索软件包 apt-cache show package  获取包的相关信息,如说明.大小.版本等 sudo apt-get install package 安装包 sudo apt-get install package --reinstall   重新安装包 sudo apt-get -

Ubuntu下修改为永久DNS的方法

安装好Ubuntu之后设置了静态IP地址,再重启后就无法解析域名.想重新设置一下DNS,打开/etc/resolv.conf cat /etc/resolv.conf # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN 内容是一段警告:说这个文件是resol

ubuntu下各种压缩包的解压命令

.tar解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)---------------------------------------------.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName.tar.gz 和 .tgz解压:tar zxvf FileName.tar.gz压缩:tar zcvf FileName.tar.g

ubuntu下修改子网掩码

修改网络配置 修改 /etc/netplan/01-network-manager-all.yaml 文件 vi /etc/netplan/01-network-manager-all.yaml Let NetworkManager manage all devices on this system network: version: 2 # renderer: NetworkManager ethernets: enp1s0: addresses: [10.150.154.100/22] ga

ubuntu下修改mysql默认data路径

由于ubuntu默认的mysql路径是在/var/lib/mysql下,很多时候我们如果没有挂载其它分区在/var的时候,随着网站逐渐浏览和添加内容,数据容量也会越来越大,自然磁盘空间也会比较吃紧.因此我们就需要把mysql的data路径转移到其它目录下. 今天在转移的时候走了不少弯路,最后经过反复尝试后得到了比较精简的步骤,提炼如下. 设置新data路径(假设新路径为/data/mysql)这里需要说明的就是,最开始我图省事使用了mv来移动,随后发现在设置完路径后mysql无法访问.因此为了保