1、福建农林大学金山学院实验报告系: 信息与机电工程系 专业: 计算机科学与技术 年级: 2010 级 姓名: 王金威 学号: 100202040 实验课程: 嵌入式系统概论 实验室号:田家炳 C407 实验设备号: C40716 实验时间:2013 年 4 月 16 日 指导教师签字: 成绩: 实验五 制作文件系统、烧写各部分到目标板1实验目的和要求1) 了解制作嵌入式Linux系统中文件系统的过程。2) 学习将嵌入式Linux各部分烧写到目标板上的方法。2实验原理文件系统是Linux 系统必备的一个部分,主要是一些系统文件和应用文件存储的地方,但是通常使用的PC 上的文件系统包括很多功能,但是
2、体积比较大通常有几百兆之多,但是在嵌入式系统中要使用这样的文件系统是不可能的,所以,嵌入式系统中的文件系统是一个简化版,包括必须的几个目录和文件,完成需要的功能即可。下面我们就来对文件系统中包含的东西和文件进行些简要的说明。文件系统要求建立的目录有/bin,/sbin,/etc,/dev,/lib,/mnt,/proc,/usr。/bin 目录下需要包含常用的用户命令,如sh等。/sbin 目录要包含所有系统命令,如reboot 等。/etc 目录下是系统配置文件。/boot 目录下是内核映像/dev 目录含有系统所有的特殊设备文件/lib 目录包含系统所有的库文件/mnt 目录只用于挂接,可
3、以是空目录/proc 目录是 /proc文件系统的主目录,包含了系统的启动信息/usr 目录含有用户选取的命令。上述目录应该包含适当的文件和子目录。目录/bin,date,sh,login,mount ,umount,cp,ls ,ftp,ping。这些命令文件的主要作用如下:date: 查取系统时间值。sh: 是 bash的符号链接。login: 登陆进程启动后,若有用户输入,此程序就提供 password提示符。mount: 挂接根文件系统时使用的命令,有些Linux开发商将此文件安排在 /sbin下。umount:卸载文件系统时使用的命令。cp: 文件拷贝命令。ls: 列出目录下的文件需
4、使用的命令。ftp: 根据文件传输协议实现的命令,可以用于FTP登陆。ping: 基本的网络测试命令,运行在网络层。目录/sbin 需包含 mingetty,reboot,halt,sulogin,update ,init,fsck ,telinit和mkfs。这些命令的主要作用如下:reboot: 系统重新启动的命令。halt: 系统关机命令,它与reboot共享运行的脚本。init: 它是最早运行的进程,从Start_kernel()函数中启动。此命令可以实现Linux 运行级别切换。目录/etc 需包含HOSTNAME,bashrc,fstab ,group ,inittab,nsswi
5、tch,pam.d,passwd,pwdb.conf,rc.d,securetty,shadow,shells 以及lilo.conf。这些配置文件的主要作用如下:HOSTNAME:用于保存Linux系统的主机名。fstab: 用于保存文件系统列表。group: 用于保存Linux系统的用户组。inittab: 用于决定运行级别的脚本。passwd: 保存了所有用户的加密信息。shadow: 密码屏蔽文件。shells: 支持的所有Shell版本。目录/dev需包含console ,hda1,hda2,hda3,kmem,mem,null,tty1 和ttyS0 。这些特殊设备文件的作用是:c
6、onsole:表示控制台设备。hda1: 表示第一个IDE盘的第1个分区。hda2: 表示第一个IDE盘的第2个分区。hda3: 表示第一个IDE盘的第3个分区。kmem: 描述内核内存的使用信息。mem: 描述内存的使用信息。null: 表示Linux系统中的空设备,可用于删除文件。tty1: 第 1 个虚拟字符终端。ttyS0: 第 1个串行口终端。目录/lib 需包含libc.so.6,ld-linux.so.2 ,libcom_err.so.2 libcrypt.so.2,libpam.so.0,libpam_misc.so.2 ,libuuid.so.2,libnss_files.s
7、o.2,libtermcap.so.2 和security。这些库文件的作用是:libc.so.6: Linux系统中所有命令的基本库文件。ld-linux.so.2: 基本库文件libc.so.6 的装载程序库。libcom_err.so.2: 对应命令出错处理的程序库。libcrypt.so.2: 对应加密处理的程序库。libpam.so.0: 对应可拆卸身份验证模块的程序库。libpam_misc.so.2: 对应可拆卸身份验证模块解密用的程序库。libuuid.so.2: 对应于身份识别信息程序库。libnss_files.so.2: 对应名字服务切换的程序库。libtermcap.s
8、o.2: 用于描述终端和脚本的程序库。security: 此目录用来提供保证安全性所需的配置,与libpam.so.0 配合使用。目录/mnt和/proc可以为空。3主要仪器设备1) 一套PXA270EP嵌入式实验箱。2) 安装Redhat9的宿主PC机,并且配置好ARM Linux 的开发环境。4操作方法与实验步骤4.1 制作文件系统1、目标板在/pxa270_linux/fs/rootfs270 目录中有文件系统的原文件。可以查看目录中的内容。在宿主PC 机端,打开一个终端窗口(Terminal),点击【Red Hat Linux System Tools Terminal】启动终端窗口,
9、请您输入下列2条命令查看该文件中的内容,如图5-1: cd /pxa270_linux/fs/rootfs270 ls可以查看目录中的内容如下:/*Applications boot dev home media opt root Settings tmp varbin conf etc lib mnt proc sbin srv usr/*图5-1它完全就是Linux 的文件系统(与目标板启动后的文件系统完全一样)。该文件中除了包含前面介绍过的必备目录外,还包括了一些为本目标板所设计的几个目录。2、制作jffs2根文件系统的映像jffs2是一种可读/写的文件系统。制作它的工具叫做mkfs.j
10、ffs2。可以用下面的命令来生成一个jffs2的文件系统。在上面同一个终端窗口中,请您输入下列3条命令,如图5-2 : cd /pxa270_linux/fs ./mkfs.jffs2 -r rootfs270 -o xscale_fs.jffs2 -e 0x40000 - -pad=0x01000000 cp xscale_fs.jffs2 /tftpboot -rf图 5-2这样,就会在fs 目录下生成一个名字叫做 xscale_fs.jffs2 的文件系统,将该文件拷贝到/tftpboot 目录下,为后面的烧写实验做准备,如图5-3。图5-35.2 烧写各部分到目标板1、硬件连接:按照实
11、验一的步骤,连接宿主PC机和一台PXA270-EP目标板。本实验要通过 JTAG烧写blob,所以需要注意,在插拔 JTAG 下载线时,PXA270-EP 目标板要处于断电状态。2、请您确认宿主PC机的tftp服务, minicom设置及IP 地址都已经正常配置,若没有配置成功,请您参照实验四、实验五、实验六的操作过程重新配置。前面实验装有Linux 的宿主机IP地址在本实验中一定要配置为192.168.0.100,使用如下配置命令:ifconfig eth0 192.168.0.100 up建议简单测试一下TFTP 服务器是否可用,即自己“tftp”自己,例如在宿主机上执行:cp /pxa2
12、70_linux/IMAGE/zImage /tftpboot/(也可以使用/tftpboot 目录中已有的文件,此处仅为举例说明)tftp 192.168.0.100tftpget zImage若出现如下信息:Received 608724 bytes in 0.6 seconds就表示TFTP 服务器配置成功了。若弹出信息说:Timed out,则表明未成功。3、烧写blob,在硬件的连接都已经准确无误后,给 PXA270-EP目标板通电。在宿主PC 机端,打开一个终端窗口(Terminal),点击【Red Hat Linux System Tools Terminal】启动终端窗口,进入
13、pxa270_linux 目录的工具部分,使用JFLASHMM 工具下载blob,输入下面2 条命令: cd /pxa270_linux/tools ./Jflashmm-linux PXA270 blob p这个命令是寻找PXA270.dat文件所指定的 CPU,把blob 文件小烧写到这个CPU使用的FLASH中。要求blob, PXA270.dat与Jflashmm-linux应用程序在一个文件夹中, .dat文件不可以加后缀。烧写成功后,Jflashmm会自动校验烧写结果。如果只做校验,比较目标板中的程序与现有程序是否一致,可以使用命令:./Jflashmm-linux PXA270
14、blob v烧写或效验的结果会在程序结束时打印出信息,如图5-5。图5-5由于设备问题导致错误。5实验内容及实验数据记录1. 介绍嵌入式Linux 中文件系统的概念和作用,动手制作一个文件系统的映像文件。2. 将前面制作出来ARM Linux Bootloader、Linux内核、文件系统等部分烧写到目标板上。6实验数据处理与分析实验命令如下: cd /pxa270_linux/fs/rootfs270 ls cd /pxa270_linux/fs ./mkfs.jffs2 -r rootfs270 -o xscale_fs.jffs2 -e 0x40000 - -pad=0x01000000 cp xscale_fs.jffs2 /tftpboot -rfifconfig eth0 192.168.0.100 up cd /pxa270_linux/tools ./Jflashmm-linux PXA270 blob p因为在上面已经解释的很清楚了,所以在这里就不一一解释了。7质疑、建议、问题讨论1.实验结果出现好多英文认识的不多。2.指导书上的那些命令是什么意思不是很清楚。3.学校的实验设备有待提高。4.很多设备上的硬件看不懂。5.希望学校赶紧弄好设备。