网络安全参考 | UNIX参考 | GPS参考 | 无线参考 | 在线手册 | OSBUG.ORG | SUNNY-NETWORK.COM
天线制作 GPS 地标
网站地图 RSS订阅
高级搜索 收藏本站
Home | 业界动态 | Open source | GNU | Linux | BSD | Solaris | AIX | HP-UX | IRIX | Mac OS X | Minix | Tru64 | SCO UNIX | Network | Security | X-Window | Database | 应用服务 | Programming | 经典著作 | 永远的纪念 | 杂项
 当前位置: Home > BSD > FreeBSD > 文章  
制作软盘上运行的FreeBSD系统
文章来源: 绿盟 文章作者: 黑夜编码人 发布时间: 2003-08-06   字体: [ ]  
 

  测试平台:FreeBSD 4.5 Release (i386)

  大家可能见到过很多在软盘上运行的Linux系统,可在软盘上运行的FreeBSD反而比较少,虽然有PICOBSD,然而很多时候PICOBSD并不能满足我们的需要,那么可不可以自己制作一个在软盘上运行的FreeBSD系统呢?答案是肯定的。我在维护着一个Floppy Firewall的Project,它是一个基于FreeBSD和IPFilter的运行在软盘上的防火墙系统,很多网友在使用了Floppy Firewall之后发邮件来询问如何使FreeBSD运行在一张小小的软盘上。但由于前段时间事情太多一直没有时间,今天终于找到时间,所以把制作在软盘上运行的FreeBSD的过程写出来与大家分享,有错误之处,还请大家指教。

  1、FreeBSD的启动过程简介

  当BIOS读入MBR之后,MBR中的程序读入硬盘FreeBSD Slice(FreeBSD分区)中的引导程序,引导程序默认情况下会加载/boot/loader,然后loader将加载/kernel,此时kernel开始检测一些硬件和做一些初始化。初始化完成后kernel将mount root device,然后启动系统初始化进程/sbin/init,init将根据/etc/rc中的设置来进行初始化等。

  可以看出我们需要解决的部分就是:引导程序 -> /boot/loader -> /kernel -> /sbin/init -> /etc/rc

  在了解了启动过程之后和问题所在之后,我们便可以开始制作软盘上的FreeBSD了。

  2、初始化软盘

  首先要做的就是要将软盘初始化,包括设置disklabel和创建文件系统(格式化成ufs格式)。

bsd# disklabel -r -w fd0a fd1440

  接下来是安装引导程序。

bsd# disklabel -B fd0a

  现在软盘已经能够引导了,但因为我们要在它上面放置程序,所以要创建文件系统。

bsd# newfs fd0a

  刚才已经做好了引导程序,因为引导程序会加载/boot/loader,所以我们还需要将系统中的/boot/loader复制到软盘中。

bsd# mkdir /fd
bsd# mount /dev/fd0a /fd
bsd# mkdir /fd/boot
bsd# cp /boot/loader /fd/boot/loader

  根据FreeBSD的启动过程,现在我们已经准备好了引导程序和loader,接下来就要准备内核了。

  3、定制内核

  软盘的空间有限,所以我们需要定制一个小内核,而不能直接使用系统原来的内核。

  由于我们只使用软盘,所以内核中的关于scsi、ata、atapi和raid等这些东西都应该删除,因为我们不需要IPv6所以INET6也应该删除,具体留下些什么要看自己的用途了,这没有什么标准。不过有几样是必须的:

options MFS      # 内存文件系统支持
options MD_ROOT    # 使用MD(内存磁盘)设备做root
options UFS      # UFS文件系统支持
options UFS_ROOT    # UFS ROOT
pseudo-device md    # MD设备支持

  下面是我使用的一个内核配制文件:

#
# GENERIC -- Generic kernel configuration file for FreeBSD/i386
#
#
# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.246.2.38 2002/01/25 17:41:40 murray Exp $
machine          i386
cpu            I386_CPU
cpu            I486_CPU

 
推荐文章
·FreeBSD系统终极安装手册(图)
·教你制作软盘上运行的FreeBSD系
·教你定制自己的压缩的FreeBSD内
·打造FreeBSD桌面系统
·FreeBSD6.0中cpu_switch调度机制
 

 
共5页: 上一页 1 [2] [3] [4] [5] 下一页
↑返回顶部   打印本页   关闭窗口↓  

Google
 
Web oldhand.org unixreference.net meshmea.org
相关分类
热点文章
·打造FreeBSD桌面系统
·FreeBSD服务器的安装与
·FreeBSD系统安装配置之
·FreeBSD系统终极安装手
·教你制作软盘上运行的Fr
·FreeBSD系统安装与配置
·FreeBSD服务器的安装与
·FreeBSD,实实在在的选
相关文章
·让FreeBSD更安全
·配置基于ADSL的防火墙
·OpenBSD内核编译和优化
·FreeBSD服务器的安装与
·FreeBSD服务器的安装与
·FreeBSD上用IP Filter进
·FreeBSD,实实在在的选
·打造FreeBSD桌面系统
更多...
 
 

Copyright(c) 2001-2009 OLDHAND ORGANIZATION, All Rights reserved.
Power by DedeCms 织梦内容管理系统