📄 00000005.htm
字号:
# CONFIG_MODVERSIONS is not set <BR> CONFIG_KMOD=y <BR> 所以可以把这个文件保存起来,并且给文件名带上版本号,方便管理、使用。 <BR> <BR> cp .config ~/config-2.4.20-8-R2Lips <BR> <BR> <BR> <BR> <BR>5 根文件系统 <BR> <BR> 创建根文件系统比编译内核要复杂的多,也更难理解。这里的关键是掌握init <BR>rd(初始化RAM盘)的使用方法。 <BR>5.1 根文件系统 <BR> 这里我们将要创建的根文件系统与通常Linux主机的根文件系统类似,只是它应 <BR>该仅仅包括系统运行所必须的应用程序、库和相关文件的最小集合。根文件系统的 <BR>尺寸大小是一个重要的指标。 <BR>5.2 文件系统的内容 <BR>5.2.1 应用程序(applications) <BR> /bin,/sbin,/usr/bin,/usr/sbin <BR> 应用程序大致可以分为3部分,第一是操作系统正常运行所需的基本工具软件, <BR>比如bash,cp,rm等;第二是提供某项服务的服务器软件,比如httpd,telnetd, <BR>proftpd等;第三是我们所开发的应用程序。其实后面讲的配置文件等也可以粗略按 <BR>照这个原则来分类。 <BR> 到底需要复制哪些软件,弹性是比较大的,很多软件都是可要可不要,可以实 <BR>际情况灵活选择。这个列表可能很长,并且变化也比较大,因此不在这里列出。 <BR> 为了进一步减小所创建的根文件系统的尺寸,可以考虑使用下列工具包软件来 <BR>替代某些标准的工具: <BR>O BusyBox(<A HREF="http://www.busybox.net)">http://www.busybox.net)</A> <BR>O TinyLogin(<A HREF="http://tinylogin.busybox.net)">http://tinylogin.busybox.net)</A> <BR>O Embutils(<A HREF="http://www.fefe.de/embutils/)">http://www.fefe.de/embutils/)</A> <BR> 其详细使用方法请参考相关资料,此处不再赘述。LIPS的实现目前没有使用这 <BR>些软件包。 <BR>5.2.2 设备文件(device files) <BR> /dev <BR> 设备文件也可以称作设备节点(device node)。设备文件非常重要,缺少某些 <BR>有些设备文件可能导致系统不能正常运行甚至不能引导。有些设备文件是必须的, <BR>而更多的是根据具体目标系统的硬件配置来进行取舍。 <BR> 比如硬盘的设备文件,在完整的系统中一般有hda,hdb,……,hdt,即最多支 <BR>持20个IDE硬盘,每个硬盘有hdX1,hdX2,……,hdX32,(其中X表示a-t),即支 <BR>持32个分区,另外还有表示SCSI硬盘的节点。根据实际情况,如果只需要支持少量 <BR>的硬盘、少量的分区,这些节点可以被大大简化。如果目标系统中没有的设备,其 <BR>对应的设备文件也可以省掉。 <BR>设备文件 <BR>描述 <BR>/dev/console <BR>系统控制台设备,非常重要。 <BR>/dev/fd0 <BR>第一个软驱 <BR>/dev/hda <BR>/dev/hda[1-8] <BR>IDE硬盘及分区 <BR>/dev/initctl <BR>实际上是一个FIFO设备,跟init有关(切换运行级别时用于新init与原init通信) <BR> <BR>/dev/initrd <BR>Initial RAM disk <BR>/dev/input <BR>(目录)Input core(包括游戏杆、鼠标等) <BR>/dev/kmem <BR>内核虚拟内存 <BR>/dev/loop[0-7] <BR>Loopback设备 <BR>/dev/mem <BR>访问物理内存 <BR>/dev/null <BR>NULL设备 <BR>/dev/psaux <BR>PS/2鼠标 <BR>/dev/ptmx <BR>UNIX98 PTY master <BR>/dev/pts <BR>(目录)UNIX98 PTY slaves <BR>/dev/ptyp[0-7] <BR>伪终端主设备(远程登录使用) <BR>/dev/ram[0-7] <BR>/dev/ramdisk <BR>/dev/ram <BR>RAM Disk设备。至少/dev/ram0是应用initrd机制所必须的。 <BR>/dev/ramdisk链接到/dev/ram0,是为了兼容老版本内核而保留的。 <BR>/dev/ram链接到/dev/ram1。 <BR>/dev/random <BR>随机数发生器 <BR>/dev/sda <BR>/dev/sda[1-8] <BR>SCSI磁盘及分区设备 <BR>/dev/shm <BR>共享内存设备 <BR>/dev/systty <BR>指向系统tty设备的符号链接,一般是tty0。 <BR>/dev/tty <BR>当前TTY设备 <BR>/dev/tty[0-7] <BR>虚控制台(Virtual console) <BR>/dev/ttyp[0-7] <BR>伪终端从设备 <BR>/dev/ttyS0 <BR>/dev/ttyS1 <BR>串口(COM1和COM2) <BR>/dev/urandom <BR>速度更快、安全性较差的随机数发生器 <BR>/dev/zero <BR>零设备,只能读0出来 <BR> 设备节点的主设备号(Major)、次设备号(Minor)的文档是内核源代码中的 <BR>/Documentation/device.txt,如果有疑问可以查看这个文件[8]。 <BR>5.2.3 脚本和配置文件(scripts and configuration files) <BR> /etc <BR> /etc/rc.d目录下的启动脚本是系统的重要部分。必须对启动脚本做相应的修改 <BR>以简化系统的启动过程。 <BR> 系统和各种应用程序用到的几乎所有的配置文件都位于/etc目录,是裁减Linu <BR>x最麻烦的部分,最容易出问题。配置文件的选择需要综合很多方面的信息,需要对 <BR>系统有比较全面、深入的了解,并结合经验才能做出正确的判断。 <BR>配置文件 <BR>描述 <BR>/etc/default <BR>(目录)某个命令(比如useradd)的缺省设置(man useradd(8)) <BR>/etc/ld.so.cache <BR>由ldconfig命令根据/etc/ld.so.conf文件产生 <BR>/etc/ld.so.conf <BR>库文件路径配置文件,ldconfig命令根据该配置文件生成/etc/ld.so.cache <BR>/etc/localtime <BR>本地时间、时区设置 <BR>/etc/login.defs <BR>全局缺省设置 <BR>/etc/fstab <BR>文件系统列表(man fstab(5)) <BR>/etc/group <BR>组文件(man group(5)) <BR>/etc/hosts <BR>列出主机名和IP地址(man hosts(5)) <BR>/etc/init.d <BR>符号链接到/etc/rc.d/init.d <BR>/etc/initlog.conf <BR>Initlog日志配置文件(man initlog(8)) <BR>/etc/inittab <BR>Init配置文件(man inittab(5)) <BR>/etc/ioctl.save <BR>该文件包含了用于单用户模式的串口和终端参数,因为这些参数是由getty设置的, <BR>而在单用户模式时没有运行getty,所以用该文件保存参数。单用户模式对系统安全 <BR>是个威胁,我们应该禁止使用单用户模式,因此这个文件实际上并没有必要复制过 <BR>来。 <BR>/etc/issue <BR>登录信息和标识文件(man issue(5)) <BR>/etc/modules.conf <BR>模块的配置文件(man modules.conf(5)) <BR>/etc/mtab <BR>已经挂载的文件系统列表(man mount(8)) <BR>/etc/nsswitch.conf <BR>Name Service Switch的配置文件(配置名称服务数据源和查询的顺序)(man nss <BR>witch.conf(5)) <BR>/etc/pam.d <BR>放置PAM配置文件的目录(有关PAM请参考5.5节) <BR>/etc/passwd <BR>用户口令文件(man passwd(5)) <BR>/etc/profile <BR>系统环境变量和登录配置文件 <BR>/etc/rc.d <BR>放置启动脚本的目录 <BR>/etc/services <BR>列出可用的网络服务及其端口(man services(5)) <BR>/etc/termcap <BR>终端(terminal)功能数据库(man termcap(5)) <BR> 还有那些跟特定应用程序相关的配置文件,比如apache服务器需要的/etc/htt <BR>pd/conf/httpd.conf 等,此处不再一一列出。 <BR>5.2.4 库文件(libraries) <BR> /lib,/usr/lib,/usr/share <BR> 库文件也是系统运行所必需的。到底需要哪些库文件,是根据所复制的可执行 <BR>程序用 ldd 工具来确定的。比如,要知道/bin/bash需要哪些库文件,使用如下命 <BR>令: <BR> [root@lips xmdong]# ldd /bin/bash <BR> libtermcap.so.2 => /lib/libtermcap.so.2 (0x40020000) <BR> libdl.so.2 => /lib/libdl.so.2 (0x40024000) <BR> &nb
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -