实验室实验3-文件系统移植

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

项目三:文件系统移植

1.能力培养目标

●了解Linux文件系统结构

●了解Busybox、mkfs.jffs2工具

●了解Linux文件系统生成过程

●能够完成一个简单的文件系统生成步骤

●掌握Linux文件系统烧写过程

2.项目任务要求

(1)项目任务

根文件系统的移植。

使用Busybox生成文件系统中的命令部分,使用mkfs.jffs2工具制作文件系统,并完成将文件系统放置到开发板的烧写工作。

(2)项目来源及应用

对于较复杂的嵌入式系统项目,当硬件平台制作好之后,就需要向其移植操作系统,如果移植的是嵌入式Linux且为GUI应用,那么移植过程一般包含:

第一步,移植引导程序(Vivi、Blob、U-Boot等);

第二步,移植内核kernel;

第三步,移植根文件系统;(本次实验内容)

第四步,移植库文件,如QT库;

第五步,运行项目程序。

(3)功能需求

移植一个可用的根文件系统,并烧写到目标机上,能正确运行。

(4)项目开发环境需求

3.项目预习

(1)了解项目目标、项目任务要求、项目设计和项目实施步骤。

(2)下载本次实验所需要的软件和代码,包括mkfs.jffs2和Busybox工具等。

(3)完成根文件系统的定制及编译好映像文件,即完成第5大项中的步骤(1)-(2)。

(4)回答以下问题

文件系统概念、作用?

什么是根文件系统,根文件系统的基本组成是什么?

了解本实验中文件系统的构建方案。

如何能够在目标机上访问宿主机上的文件?

说明使用mount命令进行文件挂载的方法。

说明mount命令执行不成功可能的原因和解决方法。

说明文件系统裁减定制的方法。

本实验所使用的文件系统制作工具是什么?

说明文件系统如何烧写到目标机上?

4.项目设计

(1)嵌入式根文件系统

Linux下的根文件系统目录结构。

目录习惯用法

bin 用户命令所在目录

dev 硬件设备文件及其它特殊文件

etc 系统配置文件,包括启动文件等

home 多用户主目录

lib 链接库文件目录

mnt 装配点,用于装配临时文件系统或其他的文件系统

opt 附加的软件套件目录

proc 虚拟文件系统,用来显示内核及进程信息

root root用户主目录

sbin 系统管理员命令目录

tmp 临时文件目录

usr 用户命令目录

var 监控程序和工具程序所存放的可变数据

对于用途单一的嵌入式系统,上边的一些用于多用户的目录可以省略,例如/home、/opt、/root目录等。而/bin、/dev、/etc、/lib、/proc、/sbin和/usr目录,是几乎每个系统必备的目录,也是不可或缺的目录。

(2)文件系统构建方案

2.1 根文件系统:

根文件系统是系统启动时挂载的第一个文件系统,其它的文件系统需要在根文件系统目录中建立节点后再挂载。

UP-TECH-S2410&P270-DVP有一个16M大小的NORFLASH,根文件系统是建立在该flash的后大半部分。该flash的前小半部分用来存放bootloader和kernel映像。

出于安全和稳定性考虑,UP-TECH-S2410&P270-DVP根文件系统选用了JFFS2文件系统格式。

2.2.用户Y AFFS文件系统:

为了得到比JFFS2文件系统格式更快的读写速度,用户文件系统采用YAFFS格式。用户文件系统挂载于根文件系统下的/mnt/yaffs目录。

UP-TECH-S2410&P270-DVP有一个64M大小的NANDFLASH,用户YAFFS文件系统建立在该flash上。

2.3 临时文件系统:

为了避免频繁的读写操作对Flash造成的伤害,系统对频繁的读写操作的文件夹采用了Ramfs文件系统。根目录下的/var,/tmp目录为Ramfs临时文件系统的挂载点。

综上所述,这几类文件系统在系统中的关系如下图所示:

(3)文件系统构建流程

在嵌人式Linux系统中混合使用JFFS2、YAFFS和Ramfs三种文件系统的实现思路如下:

①配置内核:将内核对MTD,JFFS2,YAFFS以及Ramfs文件系统的支持功能编译进内核。

②划分Flash分区:对Flash物理空间进行分区,以便在不同的分区上存放不同的数据,采用不同的文件系统格式;

③必要时编写MAPS映射文件。

④修改系统脚本:在系统启动后利用脚本挂载文件系统。

⑤创建文件系统镜像文件:利用工具生成文件系统镜像文件,并通过Flash烧写工具将镜像文件烧写到Flash物理空间。

这几个步骤的详细过程如下。

3.1内核配置(此部分内核裁剪移植实验中已经做好了,不用再做)

内核目录下make menuconfig

(1) 配置MTD·要使用JFFS2和Y AFFS文件系统,首先需要配置MTD.在Memory Technology Devices (MTD) --->选项中选中如下选项:

<*> Memory Technology Device (MTD) support MTD支持

[*] MTD partitioning support MTD分区支持

<*> Direct char device access to MTD devices 字符设备的支持

<*> Caching block device access to MTD devices 块设备支持

RAM/ROM/Flash chip drivers --->对RAM/ROM/Flash芯片驱动支持

<*> Detect flash chips by Common Flash Interface (CFI) probe CFI接口检测

[*] Flash chip driver advanced configuration options

[*] Specific CFI Flash geometry selection

[*] Support 16-bit buswidth

[*] Support 1-chip flash interleave

<*> Support for RAM chips in bus mapping

<*> Support for Neusoft/Sharp flash chips Neusoft芯片支持

Mapping drivers for chip access --->

<*> CFI Flash device mapped on UP-TECHPXA270 XScale eval board UP-TECHPXA270分区映射

NAND Flash Device Drivers ---> UP-TECHPXA270的NAND Flash支持

<*> NAND Device Support

<*> Nand flash on PXA27x board

相关文档
最新文档