根文件系统移植(2)——根文件系统的两种格式

一:镜像格式的根文件系统

(1)镜像文件的根文件系统的主要作用是用来以后烧录到块设备上面的,块设备上的内核启动后去挂载它。

(2)镜像形式的根文件系统是由文件夹格式的根文件系统通过特定的工具(mke2fs)制作得到的

(3)镜像文件系统具有一定的格式,格式是内化的,跟文件名后缀是无关,而是在制作时决定的。

二:文件夹格式的根文件系统

(1)简单来说,文件夹格式的根文件系统其实就是我们开发主机下的一个文件夹而已,不同之处在于这个文件夹里面包含了我们根文件系统所需的内容(包括etc目录下的运行时配置文件、/bin等目录下的可执行程序、/lib目录下的库文件等···)

(2)文件夹格式的根文件系统是没有格式的,它是通过我们的nfs来实现挂载的

三:制作ext2格式的根文件系统

(1)先mkdir创建一个空的文件夹rootfs,然后通过下面的命令来实现ext2格式的根文件系统的制作

dd if=/dev/zero of=rootfs.ext2 bs=1024 count=2048 
//这里就是创建了一个空的ext2格式的镜像创建的根文件系统的blocksize是1024,大小是2M
losetup  /dev/loop1 rootfs.ext2
//loop 设备是一种伪设备(pseudo-device),或者也可以说是仿真设备。
//它能使我们像块设备一样访问一个文件。
mke2fs -m 0 /dev/loop1 2048
mount -t ext2 /dev/loop1 ./rootfs/
//将我们创建的空的ext2格式的镜像挂载到rootfs这个文件夹中,
//当我们进入到rootfs这个文件夹时就相当于是进到了rootfs.ext2这个镜像中,
//这样就可以往rootfs.ext2这个文件里面放东西了。

(2)当我们将需要的文件放到镜像里面之后,然后执行下面的命令卸载,这个镜像就制作完成了。

umount /dev/loop1
losetup -d /dev/loop1

(3)将我们制作的ext2格式的镜像复制到windows下面,然后使用fastboot将镜像烧录到SD卡中就可以了。

四:挂载文件夹格式的根文件系统

(1)安装并配置nfs服务器,具体过程百度,需要注意的是,当我们重新设置/etc/export下面的导出目录之后,要更新nfs服务器

(2)mkdir创建一个空文件rootfs,并touch我们需要的linuxre文件

(3)内核配置支持nfs启动

//配置网络部分,主要是使能CONFIG_IP_PNP以在2中能够看到Root file system on NFS选项
Networking support
	Networking options
		TCP/IP networking
				IP: kernel level autoconfiguration
					[*] IP: DHCP support
					[*] IP: BOOTP support

//配置开启nfs服务
File systems  --->
	Network File Systems  --->
		<*> NFS client support
		[*] NFS client support for NFS version 3
		[*] NFS client support for NFS version 4 (EXPERIMENTAL)
		[*] NFS client support for NFSv4.1 (DEVELOPER ONLY)
		[*] Root file system on NFS

(4)修改bootargs

setenv bootargs root=/dev/nfs nfsroot=192.168.1.141:/x210_kernel/rootfs/rootfs 
ip=192.168.1.10:192.168.1.141:192.168.1.1:255.255.255.0::eth0:off  
init=/linuxrc console=ttySAC2,115200
//注意空格

(5)重新启动uboot,下载并启动内核,就可以看到我们已经挂载了根文件系统。

时间: 2025-01-03 00:24:08

根文件系统移植(2)——根文件系统的两种格式的相关文章

Android中system.img的两种格式及其相互转换方法

搞Android的同学经常会接触到system.img.但是该文件经常以两种格式出现:raw和sparse. 一种是raw ext4 image,即经常说的raw image,使用file观察它: 其特点是完整的ext4分区镜像(包含很多全零的无效填充区),可以直接使用mount进行挂载,因此比较大(一般1G左右). $ file system.img system.img: Linux rev 1.0 ext4 filesystem data, UUID=57f8f4bc-abf4-655f-

CAD图纸的两种格式如何进行互转?

CAD图纸的两种格式如何进行互转?相信专业从事CAD工作的人都知道CAD基本的两种格式是dwg和dxf格式,这两种格式在工作中也会需要对其进行相互的转换,那么我们应该如何进行操作来将这两种格式进行相互的转换呢?今天小编就来教大家使用CAD转换器来将这两种CAD图纸的格式进行转换的全部操作,希望能够帮助到大家! 第一步:首先要打开你们电脑上面的CAD转换器软件,如果你们电脑上没有这款软件的话,就需要去到官网上面进行下按在操作了,今天小编在这里使用的就是这款"迅捷CAD转换器"需要可以进行

【转】思维导图编写测试用例的两种格式

现在有一个需求,完整的描述如下: 现在有一个 PC 客户端的命令行工具,这个工具可以接收三个命令行参数,其中,前两个是数字,最后一个是运算符,运算符只支持加减乘除四种,工具的功能就是把前两个数字使用运算符做下运算,然后输出运算结果. 分别使用两种格式来编写的测试用例如下图所示(部分用例): 第一种风格,完全是遵循脑图的本来用法,属于层级递进式,前面层级都是后面层级的前置条件,需要把每一个分支的所有层级全部组合到一起,才是一条完整的用例. 第二种风格,是按照要素归类的方式,每一层都是同一要素的不同

文本的两种格式---dos和unix

本文虽然题目是这样写的,但是并不仅仅有这两种.至少我还知道另外一种,mac格式.不过本文只讨论这两种,另外一种可参考这两种做出处理. 今天看了一个脚本,完全都没有问题,但是就是运行不过去.总是提示    syntax error near unexpected token `$'\r''   令人百思不得其解.其实看了字面的意思也能大致明白错误的原因.但是不知道解决的办法.幸好有度娘. 其实问题的根源作于文本格式,在我一直纠结的过程中却忽略掉了一个重要的问题. dos文本格式  :   换行是\

C# 用Serializer.ToXml()方法转换成两种格式的XML

常见XML格式两种: 这种是属性的格式,实体的Model属性上面加上这个特性 [XmlAttribute] <AAA aa="11" bb="22"/> 这种是标签的格式,实体的Model属性上面加上这个特性[XmlElement(ElementName = "显示的名字")] <AAA> <aa>11<aa/> <bb>22<bb/> <AAA/> 原来在VS中

java读写excel(POI,支持xls和xlsx两种格式)

这应该是一个比较全的示例了,更加复杂的功能可以在此基础上扩展.此示例基于apache的POI类库,相关jar包就不列举了.这个类库很通用,网上很好找. 1.不包含单元格合并的写excel /** * excel导出到输出流 * 谁调用谁负责关闭输出流 * @param os 输出流 * @param excelExtName excel文件的扩展名,支持xls和xlsx,不带点号 * @param data * @throws IOException */ public static void

(转)MP4文件两种格式AVC1和H264的区别及利用FFMPEG demux为h264码流事项

出自:http://www.mworkbox.com/wp/work/314.html 2013-05-04 MP4的视频H264封装有2种格式:h264和avc1,对于这个细节,很容易被忽略.笔者也是在改编LIVE555流媒体时,增加mp4文件类型支持时遇到了该问题. (一)首先,从原理上了解一下这2种格式的区别:AVC1 描述:H.264 bitstream without start codes.一般通过ffmpeg转码生成的视频,是不带起始码0×00000001的.H264 描述:H.2

java解析Excel(xls、xlsx两种格式)

一.需要导入的jar 1.commons-collections4-4.1.jar 2.poi-3.17-beta1.jar 3.poi-ooxml-3.17-beta1.jar 4.poi-ooxml-schemas-3.17-beta1.jar 5.xmlbeans-2.6.0.jar 二.主要API 1.import org.apache.poi.ss.usermodel.Workbook,对应Excel文档: 2.import org.apache.poi.hssf.usermodel.

log4j配置参考手册:log4j.properties和log4j.xml两种格式

log4j是Java Web开发中,最常用的日志组件之一.网上关于log4j的配置满天飞,我主要是从网上学习的配置.之前的很多年,主要使用log4j.properties这种格式.后来,项目中boss使用了log4j.xml这种配置.   关于xml配置,之前也用过,主要觉得麻烦,而且还要手动配置listener,所以基本不用.   和boss交流了下,发现xml格式的配置,语法更全面.我主要发现了2种"高端用途" :1.业务日志与系统日志相分离.(这个比较有价值)2.配置过滤器. (