Gentoo Linux 2005.0 x86 手冊[16]

[入库:2006年2月23日] [更新:2007年3月24日]

本文简介:

現在請從設定核心模組繼續。

7.d. 其他選擇:使用 genkernel

如果您正在讀這個部份,那您應該是選擇使用我們的 genkernel 程序來為您設定核心。

現在您的核心原始碼已經安裝了,我們該使用 genkernel 程序來自動幫您編譯核心。genkernel 是利用類似 Installation CD 的核心設定來進行工作的。這代表著當您使用 genkernel 編譯您的核心,您的系統大致上會在開機時偵測所有的硬體,就和我們的 Installation CD 一樣。因為 genkernel 不需要手動核心設定,所以適合不會編譯核心的使用者。

現在讓我們來看看如何使用 genkernel。首先,安裝 genkernel:

原始碼 16: 安裝 genkernel

# emerge genkernel

接下來,把 Installation CD 上的核心設定複製到 genkernel 找尋預設核心設定的位置:

原始碼 17: 複製 Installation CD 核心設定

# zcat /proc/config.gz > /usr/share/genkernel/x86/kernel-config-2.6

現在,編譯您的核心原始碼。如果您是透過 grp 安裝 genkerenl,直接執行 genkernel all。請注意,當 genkernel 正在編譯所有硬體支援時,等待的時間會有點久!接下來,把 Installation CD 上的核心設定複製到 genkernel 找尋預設核心設定的位置:

如果您的開機分割區沒有使用 ext2 或是 ext3 為檔案系統,您將需要使用 genkernel --menuconfig all 手動設定,然後在核心內加入您所使用的檔案系統支援( 不能 編成模組)。EVMS2 或 LVM2 的使用者可能會想要再加上 --evms2--lvm2 參數。

原始碼 18: 執行 genkernel

# genkernel --udev all

genkernel 完成的時候,一個核心映像檔,一套模組和一個 initial root disk (initrd)將會被建立。我們將在稍後設定開機程式時使用核心映像檔和 initrd。寫下核心和 initrd 的檔名方便您稍後設定開機程式。initrd 將會在開起到"真正的"系統之前馬上偵測硬體支援(就和 Installation CD 一樣)。

原始碼 19: 查看已建立的核心映像檔名和 initrd

# ls /boot/kernel* /boot/initrd*

如果您想要您的系統更像 Installation CD,在 Gentoo 安裝程序完成之後,您需要 emerge coldplug。initrd 會自動偵測您系統開機所需要的硬體,coldplug 擇會自動偵測所有其他事項。coldplug 在套件 CD 上有提供。

原始碼 20: 安裝和開啟 coldplug

(在安裝完成之後,GRP 安裝指令中)
# emerge -k coldplug
# rc-update add coldplug boot

7.e. 核心模組

設定模組

您將需要將想要開機時自動載入的模組放到 /etc/modules.autoload.d/kernel-2.4 (或是 kernel-2.6)。您也可以加上模組的選項。

要查看所有可用的模組,執行 find 指令。不要忘了將 "<kernel version>"更改為您剛剛編譯的版本:

原始碼 21: 查看所有可用的版本

# find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko'

舉例來說,要自動載入 3c59x.o 模組,編輯 kernel-2.4 或是 kernel-2.6

原始碼 22: 編輯 /etc/modules.autoload.d/kernel-2.4

(2.4核心的範例)
# nano -w /etc/modules.autoload.d/kernel-2.4

原始碼 23: /etc/modules.autoload.d/kernel-2.4 或是 kernel-2.6

3c59x

現在請從 設定您的系統 繼續安裝。

8. 設定您的系統

8.a. 檔案系統資訊

什麼是 fstab?

在 Linux 中,所有在系統中被使用的分割區要被列在 /etc/fstab 之中。在這個檔案之中包含了這些分割區的掛載點(他們在檔案系統中哪裡被存取),他們如何掛載( 一些特別的參數),以及何時掛載(要不要自動掛載,一般使用者可不可以掛載等)。

建立 /etc/fstab

/etc/fstab 使用特別的語法。每一列包含六個欄位,以空格(一個以上)、tab或兩者同時用來分隔。每一個欄位有他自己的定義:

  • 第一個欄位設定分割區的位置(裝置的路徑)
  • 第二個欄位設定分割區要在哪個掛載點被掛載
  • 第三個欄位設定分割區的檔案系統
  • 第四個欄位設定 mount 要掛載時所使用的掛載參數。 因為不同的檔案系統有不同的參數,您要去查詢 manpage (man mount) 來取得完 整的參數列表。這些參數之間以逗號分隔。
  • 第五個欄位被 dump 用來決定這個分割區需不需要被傾印。一般而言您可以設成 0(零)
  • 第六個欄位讓 fsck 決定當系統不正常的關機時,檔案系統檢查的順序。 根目錄要被設成 1 而其他則要設成 2,如果檔案系統不需要被檢查的 話,則設成 0

Gentoo 提供的預設 /etc/fstab 檔案 不是一個有效的 fstab 檔 ,接下來啟動 nano (或您慣用的編輯器)來建立/etc/fstab

原始碼 1: 開啟 /etc/fstab

# nano -w /etc/fstab

接著來看看我們如何設定 /boot 分割區。這只是一個範例,所以如果您的系統不需要 /boot 分割區(如:PPC),不要直接複製它。

在我們的 x86 分割範例中 /boot 是位於 /dev/hda1 分割區中,而且使用 ext2 檔案系統。他不應該在開機時自動掛載 (noauto),但是需要被檢查,所以我們應該記下來:

原始碼 2: /etc/fstab 中 /boot 設定範例

/dev/hda1   /boot     ext2    defaults        1 2

如果您不需要自動掛載 /boot 分割區,來增加您的系統安全性,您將需要將 defaults 更換成 noauto。這代表著您將需要在使用時手動掛載。

為了增進效能,大部分使用者都會在要掛載的分割區掛載參數中設定 noatime,因為這會讓系統不更新上次檔案的存取時間(一般來說您並不需要這個功能),因此可以加快速度:

原始碼 3: etc/fstab 中改進過的 /boot 設定範例

/dev/hda1   /boot     ext2    default,noatime    1 2

接下來,我們繼續完成下面這幾行,包括 /boot/ 還有置換區:

原始碼 4: /etc/fstab 中三行設定

/dev/hda1   /boot     ext2    default,noatime    1 2
/dev/hda2   none      swap    sw                0 0
/dev/hda3   /         ext3    noatime           0 1

最後,您要加入 /proctmpfs (必要),以及CD-ROM。如果您還有其他的裝置,也加到檔案中:

原始碼 5: 完整的 /etc/fstab

/dev/hda1   /boot     ext2    defaults,noatime     1 2
/dev/hda2   none      swap    sw                0 0
/dev/hda3   /         ext3    noatime           0 1

none        /proc     proc    defaults          0 0
none        /dev/shm  tmpfs   nodev,nosuid,noexec  0 0

/dev/cdroms/cdrom0    /mnt/cdrom    auto      noauto,user    0 0

本文关键:Gentoo Linux 2005.0 x86 手冊
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top