ext4文件系统制作 - make_ext4fs 参数介绍【转】

本文转载自:http://blog.csdn.net/u011784994/article/details/53816976

make_ext4fs用于Android平台上制作ext4文件系统的镜像。用法举例:

make_ext4fs -l 512M -s -a system system.ext4img system

之后再使用simg2img制作镜像。

有一个问题是,使用这样制作的镜像,system分区文件的权限都是预定的,即使先修改system目录文件权限后在制作镜像,烧入设备后,其权限仍未改变。关键问题在make_ext4fs工具,在制作ext4fs时更改了权限,其依据为system/core/private/android_ilesystem_config.h所定义的权限。

查询make_ext4fs的参数含义,可以了解到这一点。

-l 512M"是分区大小,i9100的system分区是512M;
-s就是生成ext4的S模式制作;
"-a system",是指这个img用于Android系统,挂载点是/system,使用这个参数,make_ext4fs会根据private/android_filesystem_config.h里定义好的权限来给文件夹里的所有文件重新设置权限,如果你刷机以后发现有文件权限不对,可以手工修改android_filesystem_config.h来添加权限,重新编译make_ext4fs,也可以不使用 “-a system”参数,这样就会使用文件的默认权限。

如果不使用-a参数,则可。

----------------------------------------------------------------------------------------------------------------------

制作ext4文件系统需要使用make_ext4fs命令,例如:

#make_ext4fs -s -l 314572800 -a root -L linux  ./rootfs_qt.img  ./root

执行之后即会将root文件打包成  rootfs_qt.img 文件系统镜像。

下载:make_ext4fs
-------------

关于各参数的含义

命令行下执行make_ext4fs即可看到使用方式:

[email protected]:~# make_ext4fs

Expected filename after options

make_ext4fs  [ -l <len> ] [ -j <journal size> ] [ -b <block_size> ]

[ -g <blocks per group> ] [ -i <inodes> ] [ -I <inode size> ]

[ -L <label> ] [ -f ] [ -a <android mountpoint> ]

[ -z | -s ] [ -J ]

<filename> [<directory>]

-------------------------------------------------------------------

-s  就是生成ext4的S模式制作;

-l   314572800  是分区大小;

-a root 是指这个img用于Linux系统若为-a system即表示为android系统,挂载点即是/system。使用这个参数,make_ext4fs会根据private/android_filesystem_config.h里定义好的权限来给文件夹里的所有文件重新设置权限,如果你刷机以后发现有文件权限不对,可以手工修改android_filesystem_config.h来添加权限,重新编译make_ext4fs,也可以不使用 “-a system”参数,这样就会使用文件的默认权限

./rootfs_qt.img  表示在当前目录下生成镜像文件。

./root 指定源路径。

时间: 2024-10-16 05:24:14

ext4文件系统制作 - make_ext4fs 参数介绍【转】的相关文章

根文件系统制作、NFS配置与安装及利用NFS挂载根文件系统

最近打算从头开始制作根文件系统,下面是开发过程. 一.根文件系统的制作 0.FHS(Filesystem Hierarchy Standard)标准介绍 该标准规定了根目录下各个子目录的名称及其存放的内容: 目录名 存放的内容 /bin 必备的用户命令,例如ls.cp等 /sbin 必备的系统管理员命令,例如ifconfig.reboot等 /dev 设备文件,例如mtdblock0.tty1等 /etc 系统配置文件,包括启动文件,例如inittab等 /lib 必要的链接库,例如C链接库.内

NFS文件系统制作

内核:              linux-3.0 u-boot:          2010.08 开发板:         fl2440(s3c2440主芯片) 交叉编译器:   2011.11 我们在上面移植了initramfs文件系统,并且已经成功运行了.下面我们开始移植nfs,之前开启PC上的nfs服务功能 确认并安装NFS服务依赖软件包 一般NFS服务器要提供服务,必须启动inet,nfs, mount,portmap或rpcbind这些守护进程并保持在后台状态运行. 这里需要提示

ext4文件系统的delalloc选项造成单次写延迟增加的分析

最近我们的服务进程遇到kill -15后处于Z的状态,变为了僵尸进程,经过/proc/{thread_id}/stack查看其上线程的栈,发现是卡在了fwrite的过程中,而我们的系统中所有文件系统挂载参数都使用了delalloc参数,怀疑是这个原因:ext4挂载的时候打开了delalloc选项,然后系统在没有分配磁盘块的情况下写写写,到page cache被回写到磁盘时,发现磁盘已经满了,没办法分配新的磁盘块了,就Hang住了. 这篇文章是淘宝内核组的刘峥同学在内部技术论坛上发表的一篇文章,但

linux分区,磁盘系统的管理,文件系统制作

最近又开始重新拾起linux了,因为工作中用的很少,所以看得东西很容易就忘记了. 这几天看了下linux的分区,以及如何制作文件系统等相关命令的用法,下面就按照这个流程来讲一讲,免得自己日后忘记了. 1.分区 磁盘分区,即指定分区的起始和结束柱面.我们在安装linux系统的时候,都会将磁盘划分为独立的几块,这就是分区,柱面是分区的最小单位,柱面由扇区构成,第一个扇区是最重要的,里面有MBR(446byte)和分区表(64byte),扇区大小固定为512byte. 2.文件系统 文件系统是怎么来的

linux系统移植和根文件系统制作

1.1 Linux内核基础知识 在动手进行Linux内核移植之前,非常有必要对Linux内核进行一定的了解,下面从Linux内核的版本和分类说起. 1.1.1  Linux版本 Linux内核的版本号可以从源代码的顶层目录下的Makefile中看到,比如2.6.29.1内核的Makefile中: VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 29 EXTRAVERSION = .1 其中的“VERSION”和“PATCHLEVEL”组成主版本号,比如2.4.2.5.

SQLMAP参数介绍

转自:http://zhan.renren.com/bugpower?gid=3602888498044629629&checked=true SQLMAP参数介绍 sqlmap的使用方式:python sqlmap.py [options]: sqlmap中一共有以下十六个选项卡: 帮助选项卡: Target(目标选项卡): Request(请求选项卡): Optimization(优化选项卡): Injection(注射选项卡): Detection(探测选项卡): Techniques(注

Ext4文件系统架构分析(二)

接着上一篇博文,继续分析Ext4磁盘布局中的元数据. 1.7 超级块 超级块记录整个文件系统的大量信息,如数据块个数.inode个数.支持的特性.管理信息,等待. 如果设置sparse_super特性标志,超级块和块组描述符表的冗余备份仅存放在编号为0或3.5.7的幂次方的块组中.如果未设置sparse_super特性标志,冗余备份存在与所有的块组中.以下是2.6.32.18内核中对Ext4超级块的描述: 3.0的内核中,Ext4的超级块加入了以下相关元数据:快照.文件系统错误处理相关.挂载选项

Ext4文件系统架构分析(一)

本文描述Ext4文件系统磁盘布局和元数据的一些分析,同样适用于Ext3和Ext2文件系统,除了它们不支持的Ext4的特性外.整个分析分两篇博文,分别概述布局和详细介绍各个布局的数据结构及组织寻址方式等.感兴趣的看官敬请留意和指导! 1. Ext4文件系统布局综述 一个Ext4文件系统被分成一系列块组.为减少磁盘碎片产生的性能瓶颈,块分配器尽量保持每个文件的数据块都在同一个块组中,从而减少寻道时间.以4KB的数据块为例,一个块组可以包含32768个数据块,也就是128MB. 1.1 磁盘布局 Ex

根文件系统制作命令小结

1.将根文件系统制作 成ramdisk #genext2fs -b 8192 -d /home/fs/myrootfs/  ramdisk 说明:这一步出现问题,后来发现是这个分配的空间太小,于是将8192改为120400 #genext2fs   -b   /home/xiongyao/rootfs/  ramdisk #gzip  -9  -f  ramdisk 这样就可以将ramdisk.gz下载到开发板上面去了 2.jffs2文件格式 命令使用实例:mkfs.jffs2 -d ~/tar