实验八 构建根文件系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验八构建根文件系统
一、实验目的
1、了解嵌入式Linux文件系统的作用和类型;
2、了解jffs2文件系统的优点和在嵌入式系统中的应用;
3、理解文件系统的挂载过程;
4、使用BusyBox制作一个根文件系统。
二、实验环境
预装redhat9.0(内核版本2.4.x)的pc机一台,XScale嵌入式实验箱一台(已构建嵌入式Linux系统),以太网线一根,交叉编译工具链,BusyBox软件包。
三、实验步骤
1、解压BusyBox软件包;
2、使用make menuconfig来配置BusyBox,修改交叉编译器前缀;
Build Option
[*] Build BusyBox as a static binary(no shared library)
[*]Do you want to build BusyBox with a Cross ompile /usr/local/hybus-linux-R1.1/bin/arm-linux-
Installation Option
[*]Don't’t use /use
Coreutils
[*]ls
[*]cp
[*]reboot
[*]echo
[*]mkdir
[*]rm
Editors
[*]vi
Login Utilities
[*]getty
3、交叉编译BusyBox;
make
make install
4、建立BusyBox顶层目录结构
mkdir etc dev proc tmp lib var sys
5、在dev目录下创建必要的设备节点
(ram0,console,null,zero);
mknod mdblock b 31 3
mknod console c 5 1
mknod null c 1 3
mknod zero c 1 5
cp –dpR /dev /_install/dev (假设busybox的安装目录为/_install)
6、创建inittab文件;
vi /etc/rc
#!/bin/sh
hostname 192.168.0.3
mount –t proc proc /proc
cat /etc/motd
vi /etc/inittab
::sysinit:/etc/init.d/rcS
::askfirst:/bin/sh
::restart:/sbin/init
::ctrllaltdel:/sbin/reboot
配置motd文件
Welcome to XSBASE255 broad
7、建立sysinit动作项执行的命令脚本vi etc/init.d/rcS
#!/bin/sh
hostname 192.168.0.3
mount –t proc proc /proc
ifconfig lo 127.0.0.1
ifconfig eth0 192.168.0.50
最后chmod + x rcS
chmod 777 rcS
mkdir init.d
cd init.d
ln –s ../rc rcS
file rcS
8、创建根文件系统映像文件
使用mkfs.jffs2生成映像文件
mkfs.jffs2 –o rootfs.img –e 0x400000 –r _install –p -l
9、移植文件系统到开发板
四、实验要求
1、要求随时观察记录实验结果;
2、掌握配置和编译BusyBox;
3、掌握构建根文件系统的方法。
五、实验报告要求
1、每人一份实验报告;
2、对文件系统裁剪的体会;
3、比较裁剪的文件系统与原文件系统的大小,理解文件系统裁剪对嵌入式系统的意义。
4、理解和掌握建立根文件系统的方法和步骤。
六、思考题
1、嵌入式文件系统的特点?
2、BusyBox的优点?
3、根文件系统的作用?