游客:
注册
|
登录
|
帮助
网友俱乐部
»
操作系统
»
LINUX教程
» Linux启动盘boot/root盘的制作请看:
网友生活网
|
网友学堂
如何获得金币?
诚招斑竹
IP归属地查询 PR查询 收录查询 whois查询
免费超短2级域名,your.jpy.cc
传世私服
|
传奇世界私服
注册亚洲交友中心,找个人来同居吧!
免费存储空间,免费网络硬盘
‹‹ 上一主题
|
下一主题 ››
投票
交易
悬赏
活动
打印
|
推荐
|
订阅
|
收藏
标题: Linux启动盘boot/root盘的制作请看:
问天
元帅
UID 11493
精华
187
积分 34221
帖子 33355
威望 91
金币 13148
热心 2619
阅读权限 100
注册 2006-4-7
状态 离线
#1
使用道具
发表于 2007-2-15 03:39
资料
个人空间
主页
短消息
加为好友
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 &;#8212; 设备
/proc &;#8212; proc 文件系统所需目录
/etc &;#8212; 系统配置文件
/sbin &;#8212; 重要的系统程序
/bin &;#8212; 基本应用程序
/lib &;#8212; 共享函数库
/mnt &;#8212; 装载其他磁盘节点
/usr &;#8212; 附加应用程序
执行如下命令创建这些目录:
#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/* &;#8212; 系统启动脚本
fstab &;#8212; 列出要登录的文件系统
inittab &;#8212; 包含启动过程参数
而且这些文件都是最简单的。rc应该包括:
#!/bin/sh
/bin/mount -av
/bin/hostname yjy
网友
问天
签名 - 网友社区
请您回个帖。谢谢
PR查询
免费域名
免费空间
[广告]
免费域名(Free Subdomain)
免费空间(Free hosting)
PR查询(Google Pagerank)
投票
交易
悬赏
活动
控制面板首页
编辑个人资料
积分交易
公众用户组
好友列表
个人空间管理
基本概况
流量统计
客户软件
发帖量记录
论坛排行
主题排行
发帖排行
积分排行
在线时间
管理团队
管理统计
当前时区 GMT+8, 现在时间是 2008-11-24 00:44
信产部ICP备案:
京ICP备05066424号
北京市公安局网监备案:1101050648号
Powered by
Discuz!
5.5.0
TOP
清除 Cookies
-
联系我们
-
网友俱乐部
-
Archiver
-
WAP