Linux文件系统(一)--最小文件系统
文章摘要:
本文主要在于搭建一个最小的文件系统,使Linux能正常工作,后续再根据需要进一步完善文件系统。
根文件系统目录说明:
/bin 系统常用命令
/sbin 管理员常用命令
/usr/bin 不常用命令
/usr/sbin 管理员不常用的命令
/dev 设备文件
/etc 系统参数配置
/lib 库文件
/proc proc文件系统,内核与用户的接口
/sys sys文件系统,动态产生,设备,驱动,总线的信息
/mnt 手动挂载约定目录
/tmp 系统临时文件目录(该目录下的文件由系统生成,可手工清除)
/var 系统运行时要改变的数据.(由系统
/opt 一般约定用于安装第三方的软件的目录
制作根文件系统
1.新建所需目录:
#mkdir bin dev etc lib proc sbin sys usr mnt tmp var
#mkdir /usr/bin /usr/lib /usr/sbin /lib/modules
2.在dev目录下创建必须的两个设备文件
#mknod -m 666 console c 5 1
#mknod -m 666 null c 1 3
3.安装busybox命令集
配置busybox安装路径
Busybox Settings --->
Installation Options ("make install" behavior) --->
() BusyBox installation prefix
(根文件系统路径)
编译安装busybox
#make
#make install
4.完成etc目录下文件创建
创建inittab文件
inittab分开来看就是init table,由若干命令组成,init进程在不同的情况下执行不同的命令:
::sysinit:/etc/init.d/rcS
::respawn:-/bin/sh
::ctrlaltdel:/bin/umount -a -r
注意事项:
sysinit:指定初始化时要运行的脚本;
respawn:不管何时终止都重新启动进程;
稍后专门分析inittab文件。
创建fstab文件
系统启动时mount -a命令挂载列表.
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
创建init.d/rcS文件
系统初始化运行的脚本.
#!/bin/sh
/bin/mount -a
注意事项:
此处的运行权限最高,可以完成系统级配置
/bin/mount -a 挂载fstab文件中定义的列表项
创建profile文件
全局配置文件
echo
echo -n "Processing /etc/profile... "
# add shell here
echo "Done"
echo
注意事项:
这里暂时只做运行时的提示,后续可根据需要配置全局参数;
每个用户登陆时都会调用一次(本地登陆和远程登陆),所以要注意权限问题。
构建完以上文件,即成为最小文件系统所需要的文件,系统可以正常工作。