教你制作可以随身携带的FreeBSD系统

前言

大家可能见到过很多在软盘上运行的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也应该删除,具体留下些什么要看自己的用途了,这没有什么标准。不过有几样是必须的:

时间: 2024-08-03 13:50:05

教你制作可以随身携带的FreeBSD系统的相关文章

教你制作基于busybox的Linux系统

我们有时候有需要在busybox基础上,制作linux,可是却不知道具体怎么做,这里将对基于busybox的linux小系统制作做出详细的步骤说明. 准备环境: 1.一个Redhat完整系统的虚拟机,本次实例使用的是Redhat Enterprise Linux 5.8 2.在主虚拟机上添加一块硬盘作为小系统的存储盘,这里添加的是IDE硬盘, 3.准备linux内核源码以及busybox源码,这里使用linux-2.6.38.5和busybox-1.20.2版本 4.复制当前系统上的内核配置(/

制作软盘上运行的FreeBSD系统

测试平台:FreeBSD 4.5 Release (i386) 大家可能见到过很多在软盘上运行的Linux系统,可在软盘上运行的FreeBSD反而比较少,虽然有PICOBSD,然而很多时候PICOBSD并不能满足我们的需要,那么可不可以自己制作一个在软盘上运行的FreeBSD系统呢?答案是肯定的.我在维护着一个Floppy Firewall的Project,它是一个基于FreeBSD和IPFilter的运行在软盘上的防火墙系统,很多网友在使用了Floppy Firewall之后发邮件来询问如何使

手把手教您制作一个完整网站(内附教程)

手把手教您制作一个完整网站(内附教程) 1.搞个简单的策划先. 至少应该有一个大概的方向吧,先确定网站的类型,是地区门户.行业门户,还是下载.电影.论坛等等.然后基本确定网站的名称. 2.找一个合适的域名. 域名注册.com(国际域名)和.cn(国内域名)为宜,域名最好不要太长.且有一定的意义.容易记,现在好的域名已经不多了,你可灵活的使用数字.英文单词.拼音等的组合,在域名的前.后加上i.e.51.ok.hao.88.163等,可以灵活的组合出许多好的域名.域名注册信息查询 http://ww

Flash教你制作悠闲来喝茶

核心提示:Flash教你制作悠闲来喝茶,操作方法非常的简单几步轻松搞定,适合有一定基础的人学习! 一.打开Flash,新建一个空白文档,设置下背景色,我这里设置的是绿色,你可以根据你的喜好去设置哈~ 然后按CTRL+F8新建一个影片剪辑,命名为茶. 二.开始画茶杯(因为刚新建影片剪辑了,所以这会应该是在名为茶的影片剪辑中了喔~).把填充色设置为无,线条色选个颜色,然后先用椭圆工具画一个椭圆,再用线条工具画一条直线,调整如图~椭圆工具的笔触高度设置为2. 1 2 3 4 5 6 7 下一页 >全文

Flash教你制作卡通MM眨眼睛动画

核心提示:前些天看到一张可爱的卡通娃娃图,发现其线条很简明,就画了个大家一起练习Flash教你制作卡通MM眨眼睛动画. 前些天看到一张可爱的卡通娃娃图,发现其线条很简明,就画了个大家一起练习~开始开始,今天不说废话了~先来看下最后效果: 打开Flash,新建一个空白的Flash文档.首先来画帽子~选择线条工具,先在场景中画一条横直线,然后用选择工具把它变成曲线(这个变曲线的方法在叶子的绘制里有说了,不明白的就去看下吧~) 截个小动画帮助大家理解曲线的制作~ 再次选择线条工具,加多一条直线,且选择

FreeBSD系统下安装应用软件

FreeBSD下拥有多种预编译好的软件包,包括了从数学运算到系统维护,从图象处理到Internet服务程序等大量的软件.之所以能拥有如此丰富的软件,除了Unix本身就是一个非常流行的开发平台之外,另一个重要原因就是每种Unix中均提供了高级语言C作为了标准开发语言,而C语言具有高度可移植性,并且随着Unix的流行它成为了最重要的一种程序设计语言. 由于Unix运行在多种不同的平台上,而不同平台上的二进制执行文件只包含本平台上的机器指令,因此造成一个平台上的应用程序不能直接在另一个平台上运行.但是

freebsd系统的功能、特点与应用

FreeBSD的运行环境是使用英特尔x86系列处理器的个人计算机,当然在AMD和Cyrix等公司的兼容芯片上运行也毫无问题(FreeBSD也被移植到使用sparc和alpha芯片上的RISC工作站环境上,然而这些平台不是FreeBSD的主要运行平台,相应的移植版本也不太完善). 从FreeBSD的起源和发展过程可以看出,FreeBSD是一种自由Unix系统,它是由计算机科学家.软件工程师等志愿者通过Internet合作开发的,目的是为所有的使用者提供没有任何附加条件的自由Unix操作系统.初次接

FreeBSD系统登录与退出

系统执行完rc启动脚本之后,FreeBSD将读取/etc/ttys文件,按照配置启动多个虚拟控制台,在控制台上启动登录进程login,以接受用户登录.使用者可以使用Alt-F1.Alt-F2和Alt-F3等功能键在不同的控制台之间进行切换.缺省条件下有4个虚拟控制台(其中第四个没有提供登录服务),最多到有12个虚拟控制台(受标准PC的12个功能键的限制). 系统在控制台上印出login提示,此时可以使用root用户和安装时设置的root口令登录系统. FreeBSD/i386 wb.online

教你制作自己的个性windows 7主题

看腻了windows7自带的那些主题?天天和beta鱼共度时光的日子太单调了?这里来教大家制作win7的个性化主题. 1.在在桌面单击右键,选择"个性化",在个性化窗口选择"Desktop Background",即桌面背景选择,选择一个你喜欢的壁纸的文件夹,在你打算使用作为壁纸的图片左上角的小框框上打勾 2.接下来选择图片放置桌面的方式,有平铺和居中,这一选项是防止有的图片不适合选定的屏幕分辨率的情况而导致图片变形的结果 3.选择每隔多长时间更换壁纸,从3分钟到1