一.什么是文件系统:
a) 一种数据管理规范。
b) 嵌入式系统中的一种映象。
二.Linux根文件系统目录结构。
1. /bin目录
存放所有的用户可以使用的、基本的命令。常用命令有:cat,charp,chmod,cp,ls
Sh、keil、mount、umount、mkdir、mknod、test。
2../sbin目录
存放系统命令。Shutdown、reboot、fdisk、fsck.
3./dev目录。
存放设备文件。
4./etc目录
存放配置文件.
5./lib目录。
存放库文件。
6./home目录
用户目录。
7./.root目录。
根目录。
8./usr目录。
存放共享,只读的程序和数据.
9./var目录。
存放目录中可变的数据
10./proc目录
常作为proc文件系统的挂载点.
11./mnt目录
用于临时挂载点.
12./tmp目录.
存放临时文件.
三.
各种文件系统的特点.
Vfat:访问的速度快.非日志式,rw,mount 速度快.
Yahs2:访问速度一般,日志式,rw,jhs2类似,yahs2 mount快,yafs2,可能快,可能慢.
Cramfs:访问速度比较快,ro,压缩率大,mount快。
Ext2,ext3.访问速度快,rw,压缩小,mount 快。
三.制作各种文件系统.
1.Rootfs目录的制作:
// farsignt linux 根文件系统建立步骤:
(1)建立rootfs目录结构:
cd /home/userN
mkdir filesytem_myself
cd filesystem_myself
mkdir lib bin dev etc var home tmp proc sys
(2)编译busybox
0)获取busybox源代码:
// 将busybox源码解压到/home/userN/目录下面
tar -zxf busybox-1.7.2_fs2410_ok.tgz /home/userN/
1)修改编译器路径:
vi busybox/Makefile
// 找到设置交叉编译器的地方:
// 改成类似如下你自己的编译器路径(以下为我电脑上交叉编译器的路径)
// 如果已经设置了PATH环境变量,则不用绝对路径
改为: CROSS_COMPILE ?= /usr/local/arm/eldk/usr/bin/arm-linux-
或 CROSS_COMPILE ?= arm-softfloat-linux-gnu-
2)配置busybox:
cp fjh.compileok.tabok.config .config
make menuconfig // 直接保存退出(这里可以选择你需要的工具) // 也可以自己修改后保存退出
3)编译:
make && make install // 等待一会儿后会编译结束
假设最后编好的文件放在如下目录:
/home/userN/busybox/_install
(3)拷贝busybox程序到自己的根文件系统filesytem_myself里面:
cd /home/use