设为首页 友情链接
在线留言 发表文章
加入收藏 广告联系

刺猬首页

| 专案技术 | 网络技术 | 图形图象 | 网络编程 | 网页设计 | 操作系统 | 服务器 | 技术白皮书 | 在线实验室 | 刺猬论坛 |
小说专版  | 数据库 | 设计赏析 | 存储频道 | 网络安全 | 私服架设 |  Solaris | 网站评估 | PC维护技巧 | 下载中心 | 博 客 |
专   题: | Linux | java | cisco | 防病毒 | 刀片 | SOA | iscsi | ASP.NET | SQL | Oracle |
您现在的位置: IT公社 IT community >> Linux专题 >> Linux入门 >> 教程正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
教你在服务器上实现Linu…
制作可以随身携带的Free…
在FreeBSD4.x中制作启动…
FreeBSD光盘运行版的制作…
教你制作软盘上运行的Fr…
busybox 制作tiny linux
制作RAMDISK in KERNEL的…
教你如何从 FireWire 设…
制作Linux系统启动盘的四…
制作debian的U盘网络安装…
  教你制作Linux操作系统的Boot/Root盘         
教你制作Linux操作系统的Boot/Root盘
 

boot/root盘由两部分组成,即核心和根文件系统。要把这两部分都放到一个1.44MB的软盘上去,通常要对内核和根文件系统进行压缩,压缩核心的最好方法是进行重新编译内核,将一些不必要的支持去掉,如对网络和其它周边设备的支持,重要的一点是记住内核必须支持RAMDISK及ext2,否则系统不能正常引导。关于内核的编译本文不再阐述,下面重点介绍如何生成根文件系统的压缩包。对于根文件系统的压缩包括两方面的问题,第一是只保留必要的根文件系统组件,第二是将根文件系统做成一个压缩包,类似于内核工作的原理。

1 根文件系统概述

一个根文件系统必须包括支持完整Linux系统的全部东西,它至少应包括以下几项:

·基本文件系统结构;

·至少含有以下目录:/dev、 /proc、 /bin、 /etc、 /lib、 /usr、 /tmp;

·最基本的应用程序,如sh、 ls、 cp、 mv等;

·最低限度的配置文件,如rc、 inittab、 fstab等;

·设备:/dev/hd*、 /dev/tty*、 /dev/fd0;

·基本程序运行所需的库函数。

以上所需文件一般情况下会超过1.44M,因此我们通常的做法是先准备好内容后再压缩到软盘中,当用软盘启动时,再把文件解压到内存中,形成一个虚拟盘(RAMDISK),通过RAMDISK控制系统启动。

为了能创建以上的根文件系统,你必须有一个空闲的能够放下大约4MB文件的RAMDISK。系统缺省情况下已替我们建好了一个大小为4096KB的RAMDISK,其设备名一般为/dev/ram0,我们就使用它来保存我们预先准备好的根文件系统。

2 创建根文件系统

Linux内核识别两种可以直接拷贝到RAMDISK的文件系统,它们是minix 和ext2,ext2性能更好。mke2fs缺省情况下在1.44M的软盘上产生360个信息节点,使用压缩格式的根文件系统需要更多的信息节点,所以使用如下命令创建文件系统可以创建2000个信息节点,而且一般不会用完。

  

    mke2fs -m 0 -i 2000 /dev/ram0
  

mke2fs将会自动判断设备容量的大小并相应地配置自身,-m 0参数防止它给root保留空间,这样会腾出更多的有用空间。接着把虚拟盘挂在节点/mnt上:

  

    mount -t ext2 /dev/ram0 /mnt/floppy
 

接着是创建目录。根文件系统最少应该有如下8个目录:

/dev — 设备;

/proc — proc 文件系统所需目录;

/etc — 系统配置文件;

/sbin — 重要的系统程序;

/bin — 基本应用程序;

/lib — 共享函数库;

/mnt — 装载其他磁盘节点;

/usr — 附加应用程序。

执行如下命令创建这些目录:

    #cd /mnt/floppy

    #mkdir dev proc etc sbin bin lib mnt usr
  

接下来的工作就是确定各个目录下的内容了:

·/dev:/dev中含有系统不可缺少的设备文件。可以把现有系统中/dev的文件拷贝过来,然后删除不必要的文件。命令cp -dpR /dev /mnt会拷贝/dev整个目录但不拷贝文件内容,dp开关保证链接文件仍然不变,不会拷贝链接所指原文件,而且属性不变。如果你没有SCSI设备,删除所有的以sd开头的文件。如果你不想使用串口设备,删除所有以cua开头的文件。不过记住一定要保留console、kmem、mem、null、ram、tty1等文件。

·/etc:这个目录中含有一些必不可少的系统配置文件。这下面的文件比较多,那么到底哪些文件是必需的,哪些可有可无呢?由于这下面的文件一般是一些文本文件,都不是很大,干脆全部保留算了。

我的启动盘中含有不到15个配置文件,大致可分为3部分:

·rc.d/* — 系统启动脚本;

·fstab — 列出要登录的文件系统;

·inittab — 包含启动过程参数。

而且这些文件都是最简单的。rc应该包括:

  

    #!/bin/sh

    /bin/mount -av

    /bin/hostname yjy

    fstab应包括:

    /dev/ram0 / ext2 defaults

    /dev/fd0 / ext2 defaults

    /proc /proc proc defaults

    inittab包括:

    id:2:initdefault:

    si::sysinit:/etc/rc

    1:2345:respawn:/sbin/getty 9600 tty1

    2:23:respawn:/sbin/getty 9600 tty2
Linux联盟收集整理

频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。

原始作者:佚名 录入时间:2007-1-2 16:45:04
信息来源:不详 投稿信箱:itqoo@126.com
教程录入:itqoo    责任编辑:itqoo 
  • 上一个教程:

  • 下一个教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    - 关于我们 - 合作伙伴 - 友情链接 - 广告刊登 - 投稿热线 - 在线留言版权声明联系方式 -
    IT公社版权所有 粤ICP备05127012号
    Copyrigh@2005-2006 itqoo.com.Inc All Rights Reserved  推荐分辨率 1024*768
    联系站长:E-Mail:itqoo@126.com     MSN:urchincc@hotmail.com    QQ:点击这里给我发消息
    特别感谢:亿太网络提供空间支持