前言
大家可能見到過很多在軟盤上運行的Linux系統,可在軟盤上運行的FreeBSD反而比較少,雖然有PICOBSD,然而很多時候PICOBSD并不能滿足我們的需要,那么可不可以自己制作一個在軟盤上運行的FreeBSD系統呢?答案是肯定的。我在維護著一個的Project,它是一個基于FreeBSD和IPFilter的運行在軟盤上的防火墻系統,很多網友在使用了Floppy Firewall之后發郵件來詢問如何使FreeBSD運行在一張小小的軟盤上。但由于前段時間事情太多一直沒有時間,今天終于找到時間,所以把制作在軟盤上運行的FreeBSD的過程寫出來與大家分享,由于時間倉促,文中難免有錯誤之處,還請大家指教。同時非常歡迎大家訪問CNFUG(China FreeBSD User Group, http://www.cnfug.org/),它是一個由一些FreeBSD愛好者組織起來的自由組織,目的是為大家提供中文的FreeBSD方面的資源,目前CNFUG定期的向大家發行免費的FreeBSD中文技術期刊(http://www.cnfug.org/journal/)和維護一些Project(http://www.cnfug.org/project/)。
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格式)。