根文件系统的建立

基本文件系统结构:
/dev —— 设备文件目录
/proc —— 可不要
/bin —— 基本用户命令工具和程序
/etc —— 系统配置文件和脚本
/lib ——包含系统库和内核模块
/usr —— 可不要
/boot —— 作为系统启动存放Grub内核的文件夹,好像也可以不要
最低限度的配置文件,如/etc/rc/rcS、/etc/inittab、/etc/fstab等;
设备:/dev/hd*、/dev/ tty*、/dev/fd0、/dev/console;基本程序运行所需的函数库。 
 
首先创建基本目录:
# mkdir dev proc bin etc etc/init.d lib usr boot
然后再创建设备文件:
可以用mknod手工建立,也可以直接从原系统的/dev目录下拷贝过来。
1、手工建立的方法:
# ls -l /dev/console
crw------- 1 root root 5 …
这样就查看到了console设备的主设备号是5,辅设备号是1,是一个标记为C的字符设备。
于是,可以用mknod建立一个同样的设备文件:
# cd /mnt/cf/dev
# mknod console c 5 1
# mknod tty c 5 0
2、直接拷贝的方法
直接从/dev下把需要的设备文件拷贝过来。这些设备文件是特殊文件,在拷贝时一定要加上-r参数才能拷贝。
#cp -r /dev/console /mnt/cf/dev
#cp -r /dev/null /mnt/cf/dev
以下设备是必须的console、null、hda、hda1、tty、fb0、ttyS0、ttyS1、/dev/msys/fla、/dev/msys/fla1等。console一般终端机设备;null空设备;tty VGA显示虚拟机设备;msys/fla doc存储设备;fb0 Frame buffer设备;ttyS0 串口设备Port1;ttyS1 串口设备Port2;hda硬盘设备。
接下来是几个配置文件的创建和设置:
init作为内核启动后执行的文件系统中的第一个进程,它完全控制着系统如何进一步引导的流程。为了实现最小化文件系统,就必须根据init的执行流程来安排整个系统的进一步引导。init有一个配置文件/etc/initab来决定其行为,不同的系统中的init配置条目有所不一样,本课题设计的嵌入式系统中使用busybox init,其配置文件与桌面的配置文件不太一致。init读取/etc/inittab时,首先找出标明sysinit的一行,并执行其后被指定的脚本文件,这个脚本文件通常类似/etc/init.d/rcS,它是一组建立基本系统服务的shell程序,诸如:
(1)挂载/etc/fstab文件中指定的分区到指定的目录;
(2)对所有磁盘执行fsck;
(3)启动GUI程序;
(4)打开串口。
当/etc/init.d/rcS执行结束后,控制权回到init上,接下来init进程会根据/etc/inittab的说明在指定的终端上运行shell程序,通常为/bin/sh或者login程序。至此一个简单的Linux的启动过程就结束了。   
配制文件/etc/inittab内容如下所示:
::sysinit:  /etc/init.d/rcS          //指定初始化文件
::respawn: /bin/getty 9600 ttyS0   //打开一个串口,波特率9600
::respawn: /bin/sh               //启动时执行shell
::ctrlaltdel: /bin/unount -a –r      //捕捉ctrl+alt+del快捷键,退出系统
::shutdown:/bin/unount -a -r       //关机时动作,卸载所有文件系统
配制文件/etc/init.d/rcS内容如下所示(这个文件创建完成后需要用命令chmod +x rcS命令将其变为可执行shell):
#! /bin/sh
mount -a              //挂载/etc/fstab文件中指定的分区到指定的目录
cd ../
./minigui              //启动minigui程序
(3)配制文件fstab内容如下所示:
/dev/hda1   /    ext2   defaults  1  1
none       /proc proc   defaults  0  0
busybox构建出来的init程序用到的inittab文件的语法和一般Linux操作系统的不一样,不能直接把原系统/etc下inittab文件拷贝过来,但是结构大同小异,好像就是identifier、run_level没有注明。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值