亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關注微信公眾號

制作可以隨身攜帶的FreeBSD系統(上)
2007-01-23   中國IT實驗室

前言

  大家可能見到過很多在軟盤上運行的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

  cpu I586_CPU

  cpu I686_CPU

  ident "MINI-KERNEL"

  maxusers 0

  #maxusers最好讓系統自動分配,如果設得過大,會占用過多的內存。

  options INET #InterNETworking

  options FFS #Berkeley Fast Filesystem

  options FFS_ROOT #FFS usable as root device [keep this!]

  options MFS #Memory Filesystem

  options MD_ROOT #MD is a potential root device

  options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!]

  options NO_SWAPPING #Disable swap   

  device isa

  device pci   

  # Floppy drives

  device fdc0 at isa? port IO_FD1 irq 6 drq 2

  device fd0 at fdc0 drive 0

熱詞搜索:

上一篇:Linux能干高精尖事情Windows都干不了
下一篇:制作可以隨身攜帶的FreeBSD系統(中)

分享到: 收藏