?? linux+freebsd.txt
字號:
Linux+FreeBSD mini-HOWTO 中譯版 作者: Niels Kristian Bech Jensen, [1]nkbj@image.dk譯者: [2]黃則榮 [3]tjhuang@technologist.com v1.4, 23 January 1998 翻譯日期: 17 March 1998 _________________________________________________________________ 這份文件途述如何在一個系統中使用 Linux 和 FreeBSD. 它介紹 FreeBSD, 并討 論這兩個系統如何互相影響, 如一起分享 swap 空間. 你在讀這份文件之前, 應 該要有使用 Linux 與做硬碟分割的經驗. 如果你對這篇文件有任何的評論, 問 題, 與建議, 請不要猶豫, 寫封電子郵件給我. 我也希望聽聽有同時使用 Linux 和 NetBSD 或 OpenBSD 經驗的人說說. _________________________________________________________________ 1. 什麼是 FreeBSD? 2. FreeBSD 標示硬碟的方式 * 2.1 FreeBSD ``slices'' 和 ``partitions'' * 2.2 Linux 和 FreeBSD 中的硬碟與切割區標示. 3. 在 Linux 和 FreeBSD間分享 Swap 空間 * 3.1 安裝和準備 Linux * 3.2 安裝 FreeBSD * 3.3 在 Linux 中設定 FreeBSD 的 swap 切割 4. 使用 LILO 來啟動 FreeBSD 5. 架構檔案系統 * 5.1 在 Linux 中架構 UFS 檔案系統 * 5.2 在 FreeBSD上架構 ext2fs 檔案系統 6. 執行外來的執行檔 * 6.1 在 Linux 下執行 FreeSBD 的執行檔 * 6.2 在 FreeBSD 下執行 Linux 的執行檔 7. 參考文獻於其他有趣的文件8. 感謝和版權 * 8.1 Disclaimer * 8.2 Copyright _________________________________________________________________ 1. 什麼是 FreeBSD? FreeBSD 和 Linux 一樣是個免費的, 如同 unix 般的作業系統. 最主要的差異 是, Linux 是自首到尾從新發展的, 而 FreeBSD 是基於 4.4BSD (柏克來大學軟 □ Distribution) 自由 redistribution 的那一個部份而來. 這個部份也被稱為 4.4BSD-lite. 這個事實也許會使人這麼想: FreeBSD 比 Linux 更近於'真正' 的unix. FreeBSD 只能在 Intel PC 平臺上(i386或更高)執行. 而移植到 DEC Alpha 平臺的版本目前正在被討論. FreeBSD 對硬□的需求與 Linux 非常的相 像. FreeBSD 的發展與 Linux 比較起來是比較封閉的. 主要的決定是由一個開發人員 所成立的中心團隊負責. 大的改變先在mail-list 上事先做討論. FreeBSD 有兩 個發展樹, (如同 Linux 一般) : ``-current'' 和 ``-stable". 新功能的發展 在``-current"發展樹中, 而``-stable"樹中的改變主要都是己除去 bug 的了. FreeBSD 如同 Linux一般可自由免費的使用與(re-)散發. 系統的大部份是在BSD 版權下發行, 而其他的則是在 GNU GPL 或 GNU LPGL 下. 你可以在 [4]FreeBSD Inc. 下找到更多的資訊或是下載整個系統. 最新 ``-stable"的版本和 ``-current"發展程式碼可以在 [5]Walnut Creek CDROM 購 得. (他們是使用 FreeBSD 來提供 web 和 ftp 服務) 2. FreeBSD 標示硬碟的方式 Linux 和 FreeBSD 使用兩種不同的方式來標示與切割硬碟. 2.1 FreeBSD ``slices'' 和 ``partitions'' FreeBSD 只需要用硬碟上的一個主硬碟切割區. 這個主切割區在 FreeBSD 的術語 中被稱為 ``slice''. 然後它用 disklabel 這個程式在這個主硬碟切割區中制造 邏輯切割區. 這些邏輯切割區在 FreeBSD 的術語中被稱為``partitions''. 這個 觀念與 Linux (和 DOS) 處理括充切割區中的邏輯切割區是非常相像的. 注意: Linux fdisk 程式的主功能表中并不會將 FreeBSD slice 中的 partitions 顯示 出來, 但是你可以使用命令 'b' 來顯示 BSD 磁碟標簽的訊息. 它的輸出將如這 樣 : (/dev/hda4 是 FreeBSD 的 slice): # fdisk /dev/hdaCommand (m for help): pDisk /dev/hda: 64 heads, 63 sectors, 621 cylindersUnits = cylinders of 4032 * 512 bytes Device Boot Begin Start End Blocks Id System/dev/hda1 * 1 1 27 54400+ 83 Linux native/dev/hda2 28 28 55 56448 83 Linux native/dev/hda3 56 56 403 701568 83 Linux native/dev/hda4 404 404 621 439488 a5 BSD/386Command (m for help): bReading disklabel of /dev/hda4 at sector 1624897.BSD disklabel command (m for help): p8 partitions:# size offset fstype [fsize bsize cpg] a: 64512 1624896 4.2BSD 0 0 0 # (Cyl. 404 - 419) b: 104832 1689408 swap # (Cyl. 420 - 445) c: 878976 1624896 unused 0 0 # (Cyl. 404 - 621) e: 64512 1794240 4.2BSD 0 0 0 # (Cyl. 446 - 461) f: 645120 1858752 4.2BSD 0 0 0 # (Cyl. 462 - 621)BSD disklabel command (m for help): q# 在第一個欄位中的字母 `a'...`f' 與下面 FreeBSD slice 的例子中的是相同 的. 字母`b'指的是 swap partition, 而`c'指的是整個 slice. 閱讀 FreeBSD 文件以便獲取指定這些字母給不同切割型態的``標準方法" 的更多資訊. 2.2 Linux 和 FreeBSD 中的硬碟與切割區標示. Linux 和 FreeBSD 中的硬碟是如下列方法標示的: Linux FreeBSDFirst IDE drive /dev/hda /dev/wd0Second IDE drive /dev/hdb /dev/wd1First SCSI drive /dev/sda /dev/sd0Second SCSI drive /dev/sdb /dev/sd1 FreeBSD slice 是如下方法標示: (/dev/hda 為□例): Linux FreeBSDFirst primary partition /dev/hda1 /dev/wd0s1Second primary partition /dev/hda2 /dev/wd0s2Third primary partition /dev/hda3 /dev/wd0s3Fourth primary partition /dev/hda4 /dev/wd0s4 FreeBSD slice 中的 partitions 如下述方法標示 (/dev/hda4 是例子中的 FreeBSD slice ): Linux label FreeBSD label Default FreeBSD mount point/dev/hda5 /dev/wd0s4a //dev/hda6 /dev/wd0s4b swap/dev/hda7 /dev/wd0s4e /var/dev/hda8 /dev/wd0s4f /usr 如果你在 Linux中執行 dmesg 你將會看到如下 (Linux 的 kernel 必須有 UFS 支援才能奏效. 看 [6]安裝并準備 Linux) 部份: Partition check:hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 hda8 > 如果你在 /dev/sdb3 slice 中安裝 FreeBSD, 而且 /dev/sdb2 是一個含有兩個 邏輯切割的 Linux 擴充切割 (/dev/sdb5 及 /dev/sdb6), 之前的例子看起來將 如同這樣: Linux label FreeBSD label Default FreeBSD mount point/dev/sdb7 /dev/sd1s3a //dev/sdb8 /dev/sd1s3b swap/dev/sdb9 /dev/sd1s3e /var/dev/sdb10 /dev/sd1s3f /usr 在 dmesg 的輸出中看起來將如 Partition check:sdb: sdb1 sdb2 < sdb5 sdb6 > sdb3 < sdb7 sdb8 sdb9 sdb10 > 如果你有一個 Linux 延伸磁區在 FreeBSD slice 之後, 你便有了麻煩. 因為大 多數的 Linux 核心安裝磁片沒有內含UFS 支援, 它們認不得 FreeBSD slice 中 的 partitions. 看到的(/dev/hda3 是 FreeBSD slice 而 /dev/hda4 是 Linux 延伸切割) Partition check:hda: hda1 hda2 hda3 < hda5 hda6 hda7 hda8 > hda4 < hda9 hda10 > 出現成: Partition check:hda: hda1 hda2 hda3 hda4 < hda5 hda6 > 這會導致錯誤的設施指定, 并會令資料遺失. 我的建議是 永遠把你的 FreeBSD slice 放在任何 Linux 延伸切割之後, 并且不要在安裝 FreeBSD 後, 改變 Linux 延伸切割中的任何邏輯切割. 3. 在 Linux 和 FreeBSD間分享 Swap 空間 這一個篇幅描述我如何讓 Linux 和 FreeBSD 共用一個 Swap 切割. 可能還有別 的方法可以做到相同的結果. 這里所用的 Linux 是 Red Hat 4.1 和 4.2 (Linux 核心 2.0.29 和 2.0.30) 與 FreeBSD 2.2.2. 如果你愿意, 你可以在安 裝 Linux 之前先安裝 FreeBSD, 但要注意 FreeBSD slice 中 partition 的順 序. 3.1 安裝和準備 Linux 第一步是如平常一樣的安裝 Linux. 你必須在你的硬碟中留下給 FreeBSD slice 的空間. 你不用作 Linux 的 Swap 切割, 但如果你要這樣一個切割, 就把它放在 你要給 FreeBSD 的空間中. 這樣, 你便可以在稍後刪除這個切割, 并把它拿來給 FreeBSD 用 . 在完成 Linux 的安裝後, 你必須要重新編譯 kernel. 如果你對這不清楚, 可以 參考 The Linux Kernel HOWTO. 你 必須 加入對 UFS 檔案系統 的支援, 與對 BSD disklabel (FreeBSD partition tables) 的支援.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -