Gentoo Logo

Gentoo/x86 安裝提示與技巧

內容:

1.  介紹

序言

這份文件包含了許多給 Gentoo/x86 安裝用的提示與技巧,它們大部分都常常被討論到 - 這些提示與技巧算是個附錄,並非用來取得安裝說明。

內容

進階安裝

簡易安裝

修正錯誤/問題

2.  進階安裝

軟體磁碟陣列

注意: 如果您不知道什麼是軟體磁碟陣列,請參閱 Software-RAID-HOWTO

當您使用 LiveCD 開機後,請載入適當的磁碟陣列模組。舉個例子來說,如果您計 畫使用 RAID-1:

原始碼 2.1: 載入 RAID-1 模組

# modprobe raid1

當您在分割您的磁碟時,記得將您的分割區格式設為 fd (Linux raid autodetect) 而非 83 (Linux native)。在 fdisk 下, 您可以使用 t 指令來變更分割區格式。

在建立 RAID 陣列之前,我們需要先建立裝置結點:

原始碼 2.2: 建立裝置結點

# mknod /dev/md0 b 9 0
# mknod /dev/md1 b 9 1
# mknod /dev/md2 b 9 2

分割完之後,使用 mdadm 建立 /etc/raidtab 檔案,這是一個先進 的RAID 管理 工具。例如說,要讓你的開機,置換,根目錄分割區做鏡像 (RAID-1) 到 /dev/sda/dev/sda,你可以:

原始碼 2.3: mdadm 指令範例

# mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
# mdadm --create --verbose /dev/md1 --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2
# mdadm --create --verbose /dev/md2 --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3

Linux 軟體磁碟陣列驅動程式將會開始建立 metadevices。您可以從 /proc/mdstat 看到它目前的進度。等它完成後我們再繼續接下來的動作。

從現在開始,/dev/md0 便是您的 boot 分割區、/dev/md1 是您的 swap 分割區、而 /dev/md2 便是您的 root 分割區了。

載入 /dev/md2/mnt/gentoo 之後,別忘了將 /etc/mdadm.conf 複製到 /mnt/gentoo/etc

當您在設定您的核心時,記得將適當的磁碟陣列支援編您的核心的一部分, 別將它編成模組。

當您在安裝額外的工具時,順便 emerge mdadm。要注意的是,這並不是所有 的 LiveCD 都有這個工具,所以您可能無法在沒有存取網路的環境下,為您的 Gentoo 安裝軟體磁碟陣列!

當您在設定您的 bootloader 時,如果您使用映像 (mirroring) 時,別忘了將它安裝 至兩個磁碟機的 MBR 裡。

在 2.4 核心下使用 ATA 磁碟陣列

先確定您用 LiveCD 開機並使用 doataraid 參數。當開機完後,檢查一下 /dev/ataraid 的內容,它應該會有些像是 disc* 之類的 的資料夾給每一個 ATA 磁碟陣列的磁碟機。整個磁碟將會以 disc 顯示, 而分割區則以 part* 顯示。

/dev/ataraid/disc*/* 抄下幾個您要用來安裝 Gentoo 的裝置檔案, 您將需要用它們來取代安裝說明中範例用的 /dev/hda 路徑。

在 chrooting 之前,先 bind-mount /dev 結構至新的環境下:

原始碼 2.4: Bind-mounting /dev

# mount -o bind /dev /mnt/gentoo/dev

在設定您的核心時,別忘了編入支援您的 ATA 磁碟陣列的晶片以及選項。舉例來說, 有一個蠻普遍的 ATA 磁碟陣列系統叫做 Promise FastTrack built-in RAID ,在這樣的情形下您當然要將 Promise FastTrack 選項 編進您的核心。

當您在設定 GRUB 時,您要先建立一個 GRUB 開機片,這並不像您想像中的那麼難。 首先,您先安裝 GRUB,當到了將 GRUB 安裝至 MBR 的步驟時,請依照下面的說明:

原始碼 2.5: 建立一片 GRUB 開機片

# cd /boot/grub
# dd if=stage1 of=/dev/fd0 bs=512 count=1
# dd if=stage2 of=/dev/fd0 bs=512 seek=1

您仍然需要編寫一個您自已的 grub.conf 檔案。這部分跟安裝說明沒有什 麼不同,但要記得把您的 root= 指到您的 ATA 磁碟陣列裝置。

完成整個安裝後,使用您剛剛建立的 GRUB 開機片開機。您將會看到一個 GRUB 提示畫面 。接下來便是設定 GRUB 由您的 ATA 磁碟陣列裝置開機。

原始碼 2.6: 安裝 GRUB 至 ATA 磁碟陣列裝置

grub> root (hd0,x)
grub> setup (hd0)
grub> quit

重新開機 (拿掉磁碟片)。

LILO 的使用者可以安全的依照安裝說明的指示。

使用 LiveCD 的核心

如果你不想自己編譯核心,你可以複製 LiveCD 的核心然後使用他。當你到要求你編譯核 心時,開啟另一個終端機 (按下 Alt-F2) 然後用開始安裝時你輸入的 root 密碼登入。

將核心及模組複製到你的 Gentoo 中:

原始碼 2.7: 複製 LiveCD 核心

(${KN} 是核心的名稱,通常是 like 'gentoo' 或 'smp')
cdimage ~# cp /mnt/cdrom/isolinux/${KN} /mnt/cdrom/isolinux/${KN}.igz /mnt/gentoo/boot
cdimage ~# mkdir -p /mnt/gentoo/lib/modules
cdiamge ~# cp -Rp /lib/modules/`uname -r` /mnt/gentoo/lib/modules

確定你有 emerge hotplug 並且把他加到 boot runlevel 中。為了要讓所有你目 前正在執行的模組(LiveCD 上的)在開機時自動載入,在 chroot 後的環境執行底下的指令:

原始碼 2.8: 在 modules.conf 檔案中加入所有正在執行的模組

# cat /proc/modules | cut -d ' ' -f 1 >> \
/etc/modules.autoload.d/kernel-`uname -r | cut -d . -f -2`
# modules-update

3.  簡易安裝

離開您的終端機

許多人想在它編譯時離開他們的系統。但假如您在公開的場合下,這是一件非常困難 的事,因為您沒辦法相信所有的人。這在情況下,您可以將所有的編譯動作放至背景 執行,然後登出所有的終端機。

當然,解決這個問題的方法很多,第一個方法便是使用 screen。由 LiveCD 開機後,設定您的 root 密碼然後再開始一個 screen session:

注意: 並不是所有的 LiveCD 提供 screen。在這情況下,您將需要考慮使用其它的方法,我 們會在下面另外說明。

原始碼 3.1: 開始一個 screen session

# screen -S gentoo

當進入 screen session 後,您便可以開始您的安裝。當您想離開您的終端機時,按 Ctrl-a, c (同時按下 ctrl 和 a,接著按 c) 來 分離 您的 screen session。這樣您便可以安裝的登出您的系統。

若是您想再次使用您的終端機,再次登入成 root 然後 載入 目前還在執行中 的 screen session:

原始碼 3.2: 載入一個正在執行中的 screen session

# screen -x gentoo

如果您無法使用 screen,這裡仍然還有一個辦法可以讓您可以暫時離開您的終端機。 先依照安裝說明,當要開始長時間的編譯時 (例如 ./scripts/bootstrap.sh 步驟),使用 nohup 的話,既使您登出來,它還是可以讓這個程序繼續下去。 別忘了加入 "&",不然該程序是不會被放到背景運行的喔!請順便記下目前您所 在的資料夾 (使用 pwd 指令查看),您等等會需要用到它。

原始碼 3.3: 使用 nohup

# pwd
/usr/portage
# nohup ./scripts/bootstrap.sh &

接下來離開 chrooted 的環境 (exit) 以及 LiveCD 的 session。您的編輯 程序仍然會在背景運行。

當您要查看該編譯程序時,登入成 root (從 LiveCD) 然後 chroot 回您的環境下, 然後切換至您剛剛在的資料夾:

原始碼 3.4: Chrooting 回去

# chroot /mnt/gentoo /bin/bash
# env-update && source /etc/profile
# cd /usr/portage

接下來使用 less 指令查閱存於目前資料夾下的 nohup.out 檔 案,編譯時出現的訊息將會存至該檔,所以如果您想要接著編譯進度的話,執行 less nohup.out 然後按 F 來看目前的進度。當編譯進度完成後, 您便可以按照剩下的安裝說明繼續安裝您的機器。

如果您懶得看進度,按 Ctrl-C 然後再按 q,這樣便會離開 less 程序,這並不會中止您的編譯。

4.  修正錯誤/問題

大規模的測試您的磁碟

如果您認為您的磁碟需要做完整的測試 (如壞的區段等等),在您建立 ext2 或是 ext3 檔案系統 (用 mke2fs) 時,您可以加入 -c 參數。這將會執行 讀取測試,然後會把所有的壞的區段標記起來。如果您硬要的話,您也可以使用 -c -c 參數來執行大規模的讀取/寫入測試。

原始碼 4.1: 檢查磁碟狀態

# mke2fs -j -c /dev/hda3

從安裝失敗中復原

如果因為一些原因你的 Gentoo 安裝失敗了,你並不需要重新做全部的安裝過程。相反地, 你可以安全的 "到" 你發生錯誤的地方 (或是你認為操作錯誤的地方) 然後試試另一種作 法。

你首先要做的就是 chroot 到你的 Gentoo Linux 環境下。再依照那些操作一次,但是忽 略和磁碟分割相關的那幾步,因為你已經建立並且在使用了。因此你可以直接掛載分割區 到 /mnt/gentoo。你也要忽略關於解壓縮 stage 檔以及修改 make.conf 的操作 - 你並不會想要覆蓋掉你的檔案吧?

在你 chroot 到你的 Gentoo Linux 環境後,可以馬上做你認為要試試別的方法的步驟。 除非是你認為有錯誤的地方,不要重做所有的步驟,如 bootstrap 等等。

例如,如果你認為 grub.conf 設錯了,你可以立即啟動編輯器來更新 /boot/grub/grub.conf

在你使用另一種方法時,你要考慮你還需要去執行哪些相關的步驟。如果這些步驟和你的 改變有關,你需要去再執行這些步驟。

舉幾個例子,

  • 假如你改變 make.conf 中的變數,你需要去做相關的編譯,因為那些都依 賴 make.conf 的設定。
  • 如果你改變 /boot/grub/grub.conf,你可以立即離開 chroot 環境然後重 開機,因為沒有任何步驟和 grub.conf 有關
  • 或者是你重新編譯核心,你只需要確定開機管理程式的設定檔有指向正確的核心(再三確認 你有掛載 /boot!),然後你可以離開 chroot 環境並且重開機。
  • 架如是改變了 /etc/fstab 你可以離開 chroot 環境並且重開機。

如同你看到的,大部分的操作都可以馬上重開機。只有某些情況你需要做相關的步驟。



列印

最後更新 2005年 1月 24日

這份文件的原始版本已不再被維護

大綱: Gentoo 安裝說明盡可能的考慮到各種的安裝方式,可惜的是,我們無法安插所有的 提示與技巧至安裝說明文件,這份文件便是用來收集所有提交上來的提示與技巧來 給您參考。

Sven Vermeulen
Author

Rick Lan
Translator

YiDa Chiang
Translator

Donate to support our development efforts.

Copyright 2001-2012 Gentoo Foundation, Inc. Questions, Comments? Contact us.