打印

嵌入式LINUX文件系统映像包含哪些功能什么?

[复制链接]
3117|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
a5566255|  楼主 | 2011-12-10 20:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
嵌入式LINUX系统安装时,内核映像只有2M左右,但文件系统却有100M,为什么? 另外,我正在用的开发板(mini2440)手册说:“以前的目标文件系统有 4 个版本:root_default, root_nfs, root_qtopia_tp, root_qtopia_mouse,它们分别是为实现不同的启动方式和功能外设而创建的”
文件系统比如FAT32之类只要实现了一种管理存储器文件的函数就行,跟启动方式和功能外设有啥关系?
难道是指文件系统映像也包括以此文件系统方式存放的LINUX系统外设驱动程序等等吗?那LINUX内核映像是应该存放在这种文件系统管理的存储器上,为什么能先于文件系统映像烧写呢?

相关帖子

沙发
Tinnal| | 2011-12-12 11:33 | 只看该作者
一、文件系统为什么这么大?
因为文件系统包含的所有系统启动后的应用程程序、驱动、配置、应用程序库、数据文件(如歌、电影)等。100M左右大小的一般都是带qtopia图型用户环境的。给你用winxp做个参考,winxp 一点多G的空间占用量,其实核心也就是十几M。

二、为什么文件系统会有多个版本?
这没什么,只是系统提供方的个人意途罢了。我在里头放了不同文件,为了区分,就做成不同的包而已。因为里头的应用程序类别和个数不同,因此文件系统包功能就不同了。
所谓的启动方式应该就是指:1.做成镜像烧到目标板里,2.通过nfs持载而不去烧写两种。
下面是我的猜测:
root_default, 镜像文件,就该是比较小,应用比较少的。
root_nfs, 就该不是镜像文件,就该是想给你在PC里解压缩,然后通过nfs方式挂载根文件系统用的。
root_qtopia_tp, 镜像文件,带qtopia,比较大。是按触摸屏的配置来编译qtopia的。
root_qtopia_mouse, 镜像文件,带qtopia,比较大。是按鼠标的配置来编译qtopia的。

三、文件系统比如FAT32之类只要实现了一种管理存储器文件的函数就行,跟启动方式和功能外设有啥关系?
文件系统有三层含义,我们一般说一个文件系统为FAT32,包括:
1. 一个存储格式规定,规定了通过什么方式存储数据到存储设备当中,又怎么管理和检索当中的信息
2. 一份实现该规定的内核代码,通过《1》规定的方式去操作存储设备。我们常说的移植yaffs,说的就是这份代码,当然,在Winxp里是预先编译到内核里的,不用我们去弄。
3. 按《1》规定保存的数据。这些数据可以有两种方式产生:
   i:有了《2》以后,通过新建、拷贝等操作,由《2》去完成建立。
  ii:可以通过第三方工具,按《1》规定生成镜像文件,然后址接烧写进存储设备

四、难道是指文件系统映像也包括以此文件系统方式存放的LINUX系统外设驱动程序等等吗?
设备驱动可以编译进内核,也可以以模块的方式存放在文件系统里。
编译进内核的驱动要完成系统的基本启动和文件系统的装载。
编译成模块的驱动需要在系统初步启动后通过命令加栽到内核空间。

五、那LINUX内核映像是应该存放在这种文件系统管理的存储器上,为什么能先于文件系统映像烧写呢?
要注意的是文件系统可以管理存储设备,但管理存储设备却不一定或不全由文件系统进行管理。
一般来说,内核能先于文件系统映像烧写,是因为我们不想让存储内核的空间在文件系统的管理内。
也就是说我们不想按《1》的规定来存放我们的内核,因为如果按《1》的规定,我们的内核就有可以被切片存在不同的块当。这样我们就不能在BootLoader中通过简单的连续读取命令把内核加载到内存中了。
但有一些BootLoader是支持文件系统的,如u-boot,我们也可以把内核也存放在文件系统镜像里,然后告诉BootLoader内核的文件名,让它去按《1》把内核的内容找回来,并加载到内存。但这不常用,因为还得移植BootLoader的文件系统代码。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

218

帖子

1

粉丝