嵌入式实验6

2026/1/27 6:28:59

实验六 内核与根文件系统实验

一、实验目的

1.了解UP-NetARM2410-S的根文件系统结构 2.了解根文件系统的生成过程 3.完成一个简单的文件系统生成步骤 4.了解busybox、mkcramfs工具 二、实验内容

使用busybox生成文件系统中的命令部分,使用mkcramfs工具制作文件系统,并完成 将文件系统放置到开发板的烧写工作。 三、预备知识

1.熟悉linux下文件目录结构 2.熟悉linux下常用命令的使用 3.掌握Makefile 的编写和使用。

4.掌握Linux下的程序编译与交叉编译过程 四、实验设备及工具

硬件:UP-NetARM2410-S嵌入式实验仪,PC机pentumn500以上, 硬盘10G以上。

软件:PC机操作系统REDHAT LINUX 9.0 +MINICOM + AMRLINUX开发环境。 五、实验步骤

1.UP-NetARM2410-S Linux文件系统构建方案: 1) 根文件系统:

根文件系统是系统启动时挂载的第一个文件系统,其他的文件系统需要在跟文件系统 目录中建立节点后再挂载。UP-NetARM2410-S有一个64M大小的NANDFLASH,根文件系统和用户文件系统建立在该 flash的后大半部分。该flash的前小半部分用来存放bootloader和kernel映像。根文 件系统选用了Cramfs文件系统格式。 2) 用户YAFFS文件系统:

由于Cramfs为只读文件系统,为了得到可读写的文件系统,用户文件系统采用YAFFS 格式。用户文件系统挂载于根文件系统下的/mnt/yaffs目录。 3) 临时文件系统:

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

时文件系统的挂载点。

文件系统构建流程:在嵌人式Linux系统中混合使用Cramfs、YAFFS和Ramfs。

三种文件系统的实现思路如 下:

配置内核:将内核对MTD,Cramfs,YAFFS以及Ramfs文件系统的支持功能编译进内核。划分Flash分区:对Flash物理空间进行分区,以便在不同的分区上存放不同的数据,采用 不同的文件系统格式;必要时编写MAPS文件。今修改系统脚本:在系统启动后利用脚本挂载 文件系统。今创建文件系统镜像文件:利用工具生成文件系统镜像文件,并通过Flash烧写。工具将镜像文件烧写到Flash物理空间。 2.内核配置

1) 内核配置(运行make menuconfig)

① 配置MTD_要使用Cramfs和YAFFS文件系统,首先需要配置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 块设备支持 NAND Flash Device Drivers ---> 对NAND Flash的支持 <*> SMC Device Support

<*> Simple Block Device for Nand Flash(BON FS) <*> SMC device on S3C2410 SMDK [*] Use MTD From SMC ② 配置文件系统。

<*> Kernel automounter version 4 support (also supports v3) 文件系统自动挂载支持

<*> DOS FAT fs supportt fs support 对DOS/FAT文件系统的支持 <*> VFAT (Windows-95) fs support

<*> Yaffs filesystem on NAND 对YAFFS文件系统的支持 <*> Compressed ROM file system support 对Cramfs文件系统的支持 [*] Virtual memory file system support (former shm fs) 对temfs文件系统的支持 <*> Simple RAM-based file system support

[*] /proc file system support 对/proc和/dev设备文件系统的支持

[*] /dev file system support (EXPERIMENTAL) /dev设备文件系统支持 [*] Automatically mount at boot 启动时自动挂载的支持[*] /dev/pts file system for Unix98 PTYs

Network File Systems ---> 对NFS网络文件系统的支

持 <*> NFS file system support [*] Provide NFSv3 client support 2) 根文件系统的实现

制作Cramfs格式的根文件系统: 一个使用 linux内核的嵌入式系统中的root文件系统必须包括支持完整 linux系统的全部东西,因此它至少应包括:基本文件系统结构;至少含有目录/dev/proc/bin/etc/lib/usr;最基本的应用程序,如sh、ls、cp、mv等;

最低限度的配置文件,如inittab、fstab等;

设备:/dev/null/dev/console/dev/ tty*/dev/ttyS*对应flash分区的设备节点等; 基本程序运行所需的函数库。但由于嵌入式系统资源相对紧缺,在构建的时候要根据系统进行定制。

实验步骤如下:

cd /arm2410s/exp mkdir rootfs cd rootfs/

cp –arf/arm2410s/busybox-1.00-pre10/ /arm2410s/root/ . cd busybox-1.00-pre10/ 进行到这一步时注意: General Configuration --->

[*] Use the devpts filesystem for Unix98 PTYs Build Options --->

[*] Build BusyBox as a static binary (no shared libs) [*] Do you want to build BusyBox with a Cross Compiler?

选择交叉编译(/opt/host/armv4l/bin/armv4l-unknown-linux-gcc) Cross Compiler prefix 回车

将路径改为/opt/host/armv4l/bin/armv4l-unknown-linux- Installation Options ---> [ ] Don't use /usr Init Utilities ---> 全都不要

网络环境不差的话几秒钟应该可以烧完。如图1所示。

六、实验总结

通过本次实验,移植QT/E到UP-ARM2410CL上;在QT/E中添加触摸屏鼠标等设备支持;在Qt Designer下编写程序,ARM设备上运行;了解了UP-NetARM2410-S的根文件系统结构,了解了根文件系统的生成过程以及busybox、mkcramfs工具的使用 。能够完成一个简单的文件系统生成步骤。

图1(a)

图1(b)


嵌入式实验6.doc 将本文的Word文档下载到电脑
搜索更多关于: 嵌入式实验6 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219