文章目录
针对块设备提出的,用来统管系统资源
disk
主分区(0 < x <= 4个) +
扩展分区( y >= 0 && y+x <= 4)()
扩展分区 = 逻辑分区之和(hda5+hda6+…)
root filessytem
根目录(概念是逻辑的无限严拓的)是根文件系统必须的,
必须在成功加载根文件系统后,才可以在其中挂载其他文件系统;
根文件系统需要被第三方加载(kernel);
根文件系统关联着一个设备如:root=/dev/hda8 or root=/dev/nfs
系统根目录是根目录概念的实现,它拥有必须的功能(本身自有大量内部命令)
一下几个目录是必须的: /bin /sbin /dev /etc /usr /proc /lib
VFS
- 用来统管其他所有的文件系统(它直属于根文件系统) devFS
- 设备文件系统是为了系统在启动时能够自动挂载 /dev,在内核配置时必须要选择 ISO9660
- CD-ROM
cramfs
linus发明,ARM上用的最多的文件系统,只是在需要的时候才将需要的部分解压到内存中
sudo apt-get install mkcramfs,具体参见«嵌入式Linux.doc»P128
yaffs,jffs2,tmpfs
NFS
网络文件系统最早是由SUN公司开发的;
目标板要挂载NFS根文件系统必须先给目标板内核添加网卡的驱动
嵌入式开发中需要不停的改动kernel如果每次改动都是烧录到开发板则会影响开发板flash的寿命,故应该使用tftp来调试
sudo mount 127.0.0.1:/armnfs /mnt/nfs # 挂载nfs文件系统,也可以用宿主机的实际IP来代替127.0.0.1
# 挂载以后/mnt/nfs目录下就有了/armnfs目录下的文件
showmount -a 127.0.0.1 # 查看挂载的目录(df命令也可以查看到当前挂载的NFS)
sudo umount /mnt/nfs # 卸载NFS,不过在执行该命令前一定要退出/mnt目录
sudo apt-get install nfs-kernel-server # 安装NFS服务器程序,会自动安装nfs-common,portmap
# NFS挂载目录及权限在/etc/exports文件中定义
/armnfs 210.43.111.212(rw,sync) # IP为210.43.111.212的NFS客户端能够共享NFS服务器/armnfs目录,且有rw权限
/armnfs *(rw,sync) # 意思是任何IP的NFS客户端都能够共享NFS服务器上/armnfs目录内容, sync是默认参数,最好加上
/armnfs ...(rw,sync,all_squash,anounid=0,anoungid=0) # 强制每个client的操作都当做root,避免服务端上文件权限的变动(默认是no_root_squash)
sudo exportfs -r # refresh