QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1923|回复: 6

我下载了gentoo的iso文件,但是要怎么安装?

[复制链接]
发表于 2004-1-27 23:39:41 | 显示全部楼层 |阅读模式
我的linux因为我的一次失误,刚刚坏掉了,安装盘又不在,因此开始对gentoo感兴趣!我下载了iso文件,可是我不知道怎么安装!请高手讲一下在么有linux的条件下如何安装gentoo!谢谢
发表于 2004-1-28 00:27:50 | 显示全部楼层
Gentoo Linux 1.4 安裝指南

Contents: 1. 關於安裝 2. 開機 3. 選擇性硬體設定 4. 選擇性網路設定 5. 設定系統日期和時間 6. 檔案系統, 硬碟分割和區塊裝置(Block Devices) 7. 掛載分割區 8. Stage 壓縮檔與 chroot 9. 使用 sync 更新 Portage tree 10. 設定 Gentoo 自訂參數 (make.conf) 11. 從 Stage1 開始安裝 12. 從 Stage2 開始, 或是繼續 Stage 1 的步驟 13. 從 Stage3 開始 14. 設定時區 15. 設定 /etc/fstab 16. 安裝Linux 核心(kernel) 和系統記錄器 17. 安裝其他必要的軟體 18. 帳號管理 19. 設定主機名稱 20. 設定 /etc/hosts 21. 最後網路設定 22. 最後步驟: 設定基本選項 (包括國際鍵盤設定) 23. 設定開機程式 24. 製作開機片 25. 使用 GRP 26. 完成安裝 27. 在 Gentoo 上使用少見的硬體
1. 關於安裝

介紹

歡迎使用 Gentoo Linux! Gentoo Linux 可以透過許多方法進行安裝. 如果你想要選擇快速的方式, 你可以使用我們已經編譯好的預編套件. 如果你比較在乎完全自訂的 Gentoo Linux, 你可以使用編譯安裝的方式.

官方 Gentoo 1.4 的發表版本有一個明顯的改變. 那就是兩片安裝光碟. 這份安裝光碟可以從Gentoo Linux 商店, 還有我們其他的 對映站. 你可以到對映站的 releases/x86/1.4/livecd/ 的路徑找到. 目前我們的兩片安裝光碟有適合 x86 (486 或以上), i686 (Pentium Pro, Pentium II, Athlon/Duron 或以上), Pentium III, Pentium 4 和 Athlon XP. 這些光碟都是特別為你打造的, 請參考 商店 取得更多的詳細說明. 商店裡面的說明將包括各種處理器(CPU)的相容資料.

安裝光碟

關於兩片安裝光碟 -- 第一片光碟 ("CD 1") 是取名為 "Live CD 安裝". 此片光碟可以使用光碟機啟動, 意思就是你可以直接地使用 "CD 1" 來執行 Gentoo Linux. 接著你可以使用光碟裡面的版本進行硬碟安裝. 此外, CD 1 將包含著所有安裝時所需要的檔案, 所以你不一定需要網路的連線來進行安裝. CD 1 還包括了一些已經編譯好的套件 如重要的 XFree86 伺服器. 如果你有 CD 1 的 ISO 映像檔, 此光碟的尾端為 "-cd1".

相反的, 第二片光碟 ("CD 2") 不能用來開機. 此片光碟包含著許多已經編譯好的系統套件. 這片光碟將包含著各種自訂版本的安裝套件, 如: KDE, GNOME, OpenOffice, Mozilla, Evolution 和其他. 第二片光碟是非必要的, 此片光碟是針對想要快速完成 Gentoo Linux 安裝的使用者. 在一般單處理器(CPU)的系統, 第二片裡面的套件通常需要 36 小時編譯. 如果你有 CD 2 的 ISO 映像檔, 此光碟的尾端為 "-cd2".

Note: 一份完整的 Gentoo Linux 雙光碟 包含著 Gentoo 參考平台 (Gentoo Reference Platform), 此平台有完整已編譯的 Gentoo Linux 系統, 包括 GNOME, KDE, Mozilla 和 OpenOffice. Gentoo 參考平台 ("GRP") 的主要目的是為了那些想要快速安裝 Gentoo Linux 的使用者. "原始編譯 (compile from source)" 包含著所有的安裝功能及選項. GRP 的目的是為了讓部分使用者更方便地安裝, 而不需要接觸到 Gentoo 強大的 "原始編譯" 安裝模式.


除了我們的雙光碟, 我們也有非常小的 "基本 (basic)" Live CD. 你可以使用此光碟(Basic Live CD), 開機, 安裝. 你可以設定網路連線, 和透過網路安裝 Gentoo Linux. 使用 "基本"光碟的好處是它的映像光碟很小, 讓你可以更快速地下載. 如果你是進階的使用者, 而且想要安裝最新的 Gentoo Linux 版本, 和擁有快速的網路連線, 你或許會選擇此項安裝. 如果你有我們的 "基本 (basic)" Live 光碟, 此光碟的尾端為 "-basic".

硬體需求

使用安裝光碟, 你必須要有 486 以上的處理器(CPU)和最少64 Megabytes 記憶體. (Gentoo 已經成功的在 64MB 記憶體 加上 64MB 的 Swap 環境下執行, 但是建立過程是相當慢的.)

選擇安裝方式

當你使用我們任何一個 Live 光碟開機時, 你將可以選擇安裝的方式. Gentoo Linux 可以使用 任何一個 "stage" 壓縮檔案. 你選擇的壓縮檔案將會是你想要自己編譯的程度. 如果你選擇使用 stage1 壓縮檔, 你將會需要 bootstrap 和自己建立整個系統. stage2 的壓縮檔通常是 stage1 的半成品. stage3 的壓縮檔已經包含著已經編譯完成的 Gentoo Linux 系統. 如果你想要進行 "GRP" 安裝, 那你就該從 Stage3 開始.

如果你不是要進行 GRP 安裝, 那你該使用哪一個呢? Stage1, Stage2, 或是 Stage3 呢?以下將提供你一些幫助你決定的資訊.

從 Stage1 開始將讓你可以完全自訂和設定系統. 進階的使用者使用 Stage1 安裝時會知道自己在做些什麼. 這也是一個讓想了解 Gentoo Linux 核心的安裝方法.

Stage2 安裝將跳過 Stage1 的步驟, 你將會使用我們預設的自訂設定.

選擇 Stage3 將會讓你快速地安裝 Gentoo Linux, 但是這也代表著你的系統將會是我們為你所編譯的 (老實說, 完善的設定, 增加效能及穩定度). Gentoo Linux 的重要發表版本都有為 Stage3 進行最佳設定 -- 快速地安裝及完善的系統設定.

如果這是你第一次安裝 Gentoo Linux, 請考慮使用 Stage3 或是 GRP.

Note: 進階使用者: 如果你使用 Stage3 安裝, 你將無法改變 /etc/make.conf 預設的的 CHOST 設定. 如果你需要更改此項設定, 你應該要從 Stage1 開始編譯你的系統以及你所要的 CHOST 設定. CHOST 設定通常會看起來像這樣: i686-pc-linux-gnu.

Important: 如果你在任何安裝過程中遇到問題, 也想要申報為錯誤 (bug), 請到 http://bugs.gentoo.org/. 如果這個錯誤需要送到原來的系統開發者 (例; KDE 團隊), Gentoo Linux 開發者 將會為你傳送.

Note: LiveCD 的安裝指南或許已經過時了, 請參考我們最新的網路文件 http://www.gentoo.org/doc/tw/gentoo-x86-install.xml. 如果中文版尚未更新, 請參考英文版 http://www.gentoo.org/doc/en/gentoo-x86-install.xml.


安裝過程

現在, 讓我們複習一次安裝過程. 首先, 我們將需要下載, 燒錄光碟和一片 LiveCD. 開機到達 root 提示(Prompt)後, 我們將要建立分割區, 建立檔案系統, 和解開 Stage1, Stage2 或是 Stage3 的壓縮檔. 如果我們使用 Stage1 或是 Stage2 壓縮檔, 我們將需要確實地按照步驟到達 Stage3. 當我們的系統到達 Stage3 的步驟時, 我們可以設定它 (自訂設定檔, 安裝開機程式, 等等.) 重開後我們將會有一個完善的 Gentoo Linux 系統. 當基本的 Gentoo Linux 系統執行時, 你可以使用 "CD 2" 安裝任何的已編譯套件. 如 KDE, GNOME, OpenOffice, Mozilla, 或者是其他你想要安裝的套件.

依照你所想要的安裝過程, 以下為安裝過程中所需要的:

Stage 壓縮檔 需要網路連線 安裝媒體 步驟
1 是 basic 或是 CD 1  硬碟分割/設定檔案系統, emerge sync, bootstrap, emerge system, 最後設定
2 是 basic 或是 CD 1  硬碟分割/設定檔案系統, emerge sync, emerge system, 最後設定
3 如果使用 CD 1不需要, 其他則需要 basic 或是 CD 1  硬碟分割/設定檔案系統, emerge sync (如果使用 CD 1則不需要), 最後設定
3+GRP 否 CD 1, CD 2 非必須 硬碟分割/設定檔案系統, 最後設定, 安裝 CD1 已編譯套件 (非必須), 重新啟動, 安裝其他已編譯套件 如 KDE 和 GNOME (如果有使用 "CD2")  
Note: 硬體 ATA 多磁碟機陣列的使用者將需要在開始前閱讀最下面關於 ATA 陣列的部分.


2. 開機

Warning: 開始這個步驟前, 請先閱讀這個部分, 特別是開機參數. 如果你略過此項建議, 你有可能會誤設鍵盤, 無法啟動 pcmcia 服務等等..


使用 LiveCD 開機時, 你應該會看到一個很漂亮的 Gentoo Logo 圖示. 在這邊你可以按下 Enter 進行開機程序, 或是使用 LiveCD 的自訂核心開機選項然後按下 Enter. 例: gentoo nousb nohotplug. 如果你的系統有超過一個處理器 ("SMP"), 你應該輸入 smp 而不是 gentoo. 如此一來 LiveCD 將會偵測到所有的處理器, 而不是只有第一個.

請參考以下列表關於可利用的核心和開機選項, 或是按下 F2 和 F3 查詢說明.

可利用的核心 說明
gentoo 標準 gentoo 核心 (預設)
nofb 關閉 framebuffer 模式
smp 在 noframebuffer 模式內載入 smp 核心
acpi 開啟 acpi=on + 啟動時載入 acpi 模組
memtest 啟動時開始記憶體測試程式
可利用的開機選項 說明
doataraid 從 initrd載入 ide raid 模組
dofirewire 從 initrd 載入 firewire 模組(適用於 firewire 光碟機, 等等.)
dokeymap 啟用 non-us 鍵盤 陳列
dopcmcia 開始 pcmcia 服務
doscsi 偵測 scsi 裝置 (破壞某些網路卡)
noapm 關閉 apm 模組
nodetect 防止 hwsetup/kudzu 和 hotplug 執行
nodhcp 將 dhcp 偵測關閉
nohotplug 關閉 hotplug 服務
noraid 停止載入 evms 模組
nousb 從 initrd 停止 usb 模組, 停止 hotplug
ide=nodma 強制停止無法使用的 ide 裝置的 dma
cdcache 緩衝貯存光碟裡面的資料到記憶體裡面. 這將會使用 40mb 的記憶體, 但是允許你在安裝過程中從 /mnt/cdrom掛載其他的光碟  

當你按下 Enter 時, 你將會看到一個更漂亮的開機銀幕和進度槓.

Warning: 如果你的螢幕沒有顯示任何畫面, 請嘗試在開機參數後面加入 nofb 的核心選項. 這個是因為我們所用的核心沒有支援到你的顯示卡.


當開機程序完成時, 你將會自動的登入為 "root", 最高權限使用者. 登入後, 你應該會看見 ("#"). 如果要更換密碼, 輸入 passwd 再依照銀幕上的指令進行即可. 你也可以使用 Alt-F2, Alt-F3 和 Alt-F4 切換成其他操作介面(console). 回到原來的螢幕可以按下 Alt-F1.

Note: 進階使用者: 當 LiveCD 啟動時, LiveCD 預設的 root 密碼是隨機設定的(安全起見). 如果你計畫啟用 sshd 進行網路安裝, 你將需要輸入 passwd 自行設定密碼. 不然你將無法登入並且進行安裝.


你應該也注意到 # 上方有一些說明文字, 這些文字將告訴你如何設定你的網路和告訴你光碟裡面的 Gentoo Linux Stage 壓縮檔和套件.

3. 選擇性硬體設定

當 LiveCD 啟動時, 它會嘗試自動偵測你的硬體和載入你所需要的核心模組. 在大部分的例子來說, 它做的非常好. 但是, 在其他例子來說, 它有時無法自動的載入正確的核心模組. 如果 PCI 自動偵測(auto-detection) 錯過了系統上的硬你, 你將需要手動載入. 輸入: ls /lib/modules/<核心版本>/kernel/drivers/net/* 查看可以載入的核心模組. 載入某個模組, 輸入:

Code listing 3.1: PCI 模組 設定

(將 pcnet32 該改為你的網路卡所需要的模組)
# modprobe pcnet32



如果你需要使用到任何未被偵測到的 SCSI 硬體, 你將需要在 /lib/modules 尋找正確的模組, 同樣的載入方式使用 modprobe:

Code listing 3.2: 載入 SCSI 模組

(將 aic7xxx 換成你的 SCSI 控制卡模組)
# modprobe aic7xxx
(sd_mod 模組是支援 SCSI 的磁碟)
# modprobe sd_mod


Note: SCSI 光碟機和磁碟通常已被編入核心內

Note: 進階使用者: Gentoo LiveCD 應該會自動開啟磁碟上的 DMA, 以便加強傳輸速度. 如果沒有, 請按照以下進行 hdparm: Code listing 3: 設定 DMA

更換 hdX 為你的硬碟裝置.
啟用 DMA
# hdparm -d 1 /dev/hdX
(使用安全和有效率的方式啟用 DMA
# hdparm -d1 -A1 -m16 -u1 -a64 /dev/hdX
(強制啟用 Ultra-DMA -- 危險 -- 有可能搞亂你的硬碟)
# hdparm -X66 /dev/hdX





4. 選擇性網路設定

或許系統已經自動設定好了?

如果你的系統有插入一張網路卡, 很有可能你的網路設定已經自動完成了. 如果是這樣, 你將可以使用一些光碟上的功能 例如: ssh, scp, ping, irssi,wget, links 等等...

如果網路已經設定好了, 你可以使用 /sbin/ifconfig, 查看一些除了 lo 的網路裝置, 例如 eth0:

Code listing 4.1: /sbin/ifconfig 查看安裝成功的網路卡

eth0      Link encap:Ethernet  HWaddr 00:50:BA:8F:61:7A
          inet addr:192.168.0.2  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::50:ba8f:617a/10 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1498792 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1284980 errors:0 dropped:0 overruns:0 carrier:0
          collisions:1984 txqueuelen:100
          RX bytes:485691215 (463.1 Mb)  TX bytes:123951388 (118.2 Mb)
          Interrupt:11 Base address:0xe800



你應該嘗試著 ping 你的網路公司的 DNS 伺服器 (可以在 /etc/resov.conf裡面找到) 或是你喜歡的網站, 這個動作只是為了要確認你的主機有連上網路, 和名稱伺服器設定無誤, 等等..

Code listing 4.2: 進一步的網路測試

# ping -c 3 www.yahoo.com



你的網路設定好了嗎? 如果是, 你可以跳過這段繼續下面的部分.

PPPoE 設定

如果你是使用 PPPoE 連上網路, 任何 Gentoo 開機光碟已包含著此功能: rp-pppoe. 請使用 adsl-setup 程序幫你你設定連線. 你會被要求將你的網路卡連上 adsl 數據機, 和你的帳號,密碼, DNS 伺服器 IP, 和需不需要一個簡單的防火牆.

Code listing 4.3: PPPoE 設定E

#  adsl-setup
#  adsl-start



如果發生錯誤, 請在 /etc/ppp/pap-secrets 確認你的帳號及密碼. 或是/etc/ppp/chap-secrets, 確認你使用的網卡是否正確.

自動網路設定

如果系統沒有自動設定, 最簡單的方法就是使用 net-setup 模式.

Code listing 4.4: 網路設定程式

# net-setup eth0



當然, 如果你高興, 你也可以自行設定網路. 下面將教你如何手動設定.

手動設定動態式IP(DHCP)

設定動態IP(DHCP) 很簡單; 如果你的IP為固定式,請跳過以下移致固定IP設定.

Code listing 4.5: DHCP 網路設定

# dhcpcd eth0


Note: 如果你的網路公司提供主機名稱(hostname), 你可以在eth0 前面加入 -h 主機名稱


如果你從 dhcpConfig 收到警告, 別緊張; 請往下移置網路測試的部分.

自行設定固定式IP

我們只需要設定到足夠我們下載原始檔, 和 localhost 介面. 以下列表為需要的資訊.

資訊 說明 範例值
IP 位置 你將需要在你的網路卡上指定一個 IP 192.168.1.2
廣播位置(broadcast) 向這個網路的其他主機廣播你的IP位置 192.168.1.255
網路遮罩(netmask) 這個遮罩和 IP 位置使用同一個網路,以方便查看此 IP 位置是在哪個網路裡面. 這樣是為了辨認主機. 255.255.255.0
通訊閘(gateway) 電腦的 IP 位置將會將封包轉到本地網路以外的地方(大部分是網路連線共用) 192.168.1.1

輸入以下指令, 並且將 $IFACE 換成你的網路卡裝置 (大部分為 eth0) $IPNUM 為你的IP位置, $BCAST 為你個廣播位置, 最後, $NMASK 為網路遮罩. 關於 route, 更改 $GTWAY 為你的通訊閘.

Code listing 4.6: 固定式IP設定

# ifconfig $IFACE $IPNUM broadcast $BCAST netmask $NMASK
# /sbin/route add -net default gw $GTWAY netmask 0.0.0.0 metric 1 $IFACE



接下來我們該建立 /etc/resolv.conf 方便我們尋找網路名稱(利用名子尋找 Web/FTP 站名, 取代IP地址). 你可以輸入nano -w /etc/resolv.conf 建立 /etc/resolv.con. nano 是一個小而好用的文字編輯器.

以下為 /etc/resolv.conf 的範例:

Code listing 4.7: /etc/resolv.conf 範例

domain mydomain.com
nameserver 10.0.0.1
nameserver 10.0.0.2



將 10.0.0.1 和 10.0.0.2 取代為你的主DNS 和 附DNS伺服器的IP.

Proxy Configuration

如果你必須使用代理伺服器. 我們必須在開始下載前先匯出一些變數.

Code listing 4.8: 設定使用代理伺服器

(HTTP 代理伺服器
# export http_proxy="http://machine.company.com:1234"
(FTP 代理伺服器
# export ftp_proxy="ftp://machine.company.com"
(RSYNC 代理伺服器
# export RSYNC_PROXY="rsync:machine.company.com"


Note: 如果你所使用的代理伺服器需要認證, 請使用如下的方式: http://使用者名稱:密碼@machine.company.com (加入了"username:password").


網路已設定完成

到達這個步驟時, 網路應該已經設定完成了. 你可以使用內含的 ssh, scp, links, irssi 和 wget 連上網路.
回复

使用道具 举报

发表于 2004-1-28 00:28:56 | 显示全部楼层
5. 設定系統日期和時間

現在我們必須設定系統和日期. 我們將會使用date.

Code listing 5.1: 設定系統日期

# date
Thu Feb 27 09:04:42 CST 2003
(如果你的系統時間錯誤,請輸入以下指令
# date 022709042003
(date 月,日,時,分,西元年)



6. 檔案系統, 硬碟分割和區塊裝置(Block Devices)

介紹區塊裝置

在這個部分,我們將仔細地看看 Gentoo Linux 和大部分 Linux 的磁碟概念. 包括了, Linux 檔案系統, 硬碟分割和區塊裝置(Block Devices). 一旦你熟悉了硬碟的設定, 你將會被帶入設定分割區及檔案系統的部份

我將以介紹 "區塊裝置" 作為開始. 最有名的大概就是 Linux 中代表的第一個 IDE 磁碟:

Code listing 6.1: /dev/hda, 代表著系統中的第一個 IDE 磁碟

/dev/hda



如果你的系統使用 SCSI 磁碟, 你的第一個磁碟將會是:

Code listing 6.2: /dev/sda, 代表著系統中的第一個邏輯磁碟

/dev/sda



以上的區塊裝置代表著連接磁碟的介面. 你可以使用程式進行 IDE, SCSI 或是其他的磁碟處理. 這個程式將隨機讀取 512-byte 區塊設定進行簡單的磁碟儲存設定.

硬碟分割和 fdisk

在Linux底下,我們會用mkfs (或是 mke2fs, 還有 mkreiserfs 等等) 建立檔案系統.

當然, 你也可以使用整個硬碟來當一個分割區. 一個分割區代表著整個硬碟. 例: /dev/hda 或是 /dev/sda. 但是從未有人這樣做過. 大部分的 Linux 都是將分割區分割成小塊一點. 所設定的分割區 我們就叫他 "partitions". 你可以利用 fdisk 設定每個硬碟內有幾個分割區及大小

我們可以使用 fdisk來看硬碟的分割表. 所以我們需要提供區塊裝置給 fdisk:

Note: 除了 fdisk cfdisk以外, 你也可以使用 parted 和 partimage進行分割. 我們建議使用 fdisk 因為他是 Unix/Linux 世界中有名的強大分割軟體.

Code listing 6.3: 使用 fdisk

# fdisk /dev/hda



or

Code listing 6.4: 在 /dev/sda 使用 fdisk

# fdisk /dev/sda


Important: 如果你的硬碟或是分割區有重要資料, 你 不應該 更改或是寫入磁碟列表, 不然這些資料將會消失


當你進入 fdisk 時,你將會看到以下的畫面:

Code listing 6.5: fdisk 畫面

Command (m for help):



輸入 p 查看分割區列表:

Code listing 6.6: 分割區設定範例

Command (m for help): p

Disk /dev/hda: 240 heads, 63 sectors, 2184 cylinders
Units = cylinders of 15120 * 512 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1             1        14    105808+  83  Linux
/dev/hda2            15        49    264600   82  Linux swap
/dev/hda3            50        70    158760   83  Linux
/dev/hda4            71      2184  15981840    5  Extended
/dev/hda5            71       209   1050808+  83  Linux
/dev/hda6           210       348   1050808+  83  Linux
/dev/hda7           349       626   2101648+  83  Linux
/dev/hda8           627       904   2101648+  83  Linux
/dev/hda9           905      2184   9676768+  83  Linux

Command (m for help):



這棵硬碟被分割為七個分割區(顯示為 "Linux") 也有一個 Swap (顯示為 "Linux swap")

每個分割區的名稱會出現在列表的最左邊, 從 /dev/hda1 到 /dev/hda9 在早期的時代, 分割軟體最多只能分割到4塊. 說實在的,有點限制. 因此, 新版的 fdisk 可以使用 extension partitioning. 一個延續的分割區(Extended partitioning)可以建立更多的分割區. 我們叫他 logical分割區. 因此才解決了4個分割區的限制.

/dev/hda5 或是以上的分割區, 我們稱它為 Logical 分割區. 號碼 1 到 4的分割區, 我們稱它為 Primary(基本) 或是 Extended(延續) 分割區.

從以上範例來看, /dev/hda1 到 /dev/hda3 為基本分割區. /dev/hda4 為延續分割區,將包含著 /dev/hda5 到 hda9 Logical 分割區的定義. 請注意不要使用 /dev/hda4 作為儲存分割區. 所以我們可以說可以作為檔案系統的分割區只有 hda1 到 hda3 和 hda5 到 hda9

另外, 你是否發現了列表上有一個 "ld"? 他的意思為: "分割區種類" 當你建立了一個新的分割區, 你必須要確定你的種類社為 '83'. 83 代表著Linux 的檔案系統. 而 '82' 代表著 Linux swap 分割. 你可以使用 fdisk 裡面的 t 選項進行設定. Linux 核心(kernel) 將會在開機時自動發現這些分割區和 swap.

使用 fdisk 設定分割區

你是否對Linux 分割區的設定有所了解了呢? 現在我將一步一步地帶你設定分割區. 當我們完成後, 你的分割區將會看起來像以下列表:

Code listing 6.7: 完成分割後,你的分割區列表會看起來像這樣

Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1   *         1        14    105808+  83  Linux
/dev/hda2            15        81    506520   82  Linux swap
/dev/hda3            82      3876  28690200   83  Linux

Command (m for help):



我們建議新手將硬碟分割成三部份. 第一個 (/dev/hda1) 將會被設定為分割區中的第一個. 我們用它來作為開機分割區 (Boot partition). 開機分割區的將儲存所有開機需要的檔案. -- GRUB 開機程式的資料 (如果你選擇使用GRUB) 和 Linux 核心. 使用開機分割區是為了確保開機檔案不被影響. 在正常的狀況下, 開機分割區將不會被掛載. 如果你使用的是 SCSI 系統, 你的開機分割區將會看起來像 /dev/sda1

我們建議把開機分割區 (Boot patition) 放在磁碟的最前面. 雖然不是強制要求, 但是這是一個有用的老方法. 以前的 lilo 無法在超過 1024 的 cylinder 載入核心.

第二個分割區 (/dev/hda2) 是用來當 Swap 空間. 核心會在 RAM 不夠用時把 swap 當成虛構記憶體(Virtual Memory). 此分割需不必太大.. 大約512MB即可. 如果你使用的是 SCSI 系統, 你的分割區將會看起來像 /dev/sda2

第三個分割區 (/dev/hda3) 需要蠻大的空間. 或許你可以把剩下的空間全部給它. 這個分割區我們將叫他 "根(root)" 分割區. 我們將在此放入所有的系統檔案.和 Gentoo Linux. 如果你使用的是 SCSI 系統, 你的分割區將會看起來像 /dev/sda3

我們開始分割前,以下是一些關於分割區和檔案系統的技術性建議 .

分割區 大小 類別 範例裝置
開機分割區, 包含著核心及相關開機所需程式 32 Megabytes 建議使用 ext/3 (最簡單); 如果使用 ReiserFS, 你將需要加入 -o notail為參數. 如果你使用 ext3 或是 ReiserFS, 你一定要在分割區的大小加入日誌式的紀錄空間; 我們建議 64 Megabytes.  /dev/hda1
swap 分割區 (之前是不得大於128MB, 現在可以使用為 2GB) 以大部分的例子來說, Swap 的大小通常為記憶體的一到兩倍. Linux swap /dev/hda2
"根(root)"分割區, 包含著主要的檔案系統 (/usr, /home, 等等) >=1.5 Gigabytes ReiserFS, 建議 ext3; 或是 ext2  /dev/hda3

OK, 現在我們該來建立這些分割區了. 我們可以輸入 fdisk /dev/hda 或是 fdisk /dev/sda (依你的硬碟類型 IDE 或 SCSI ). 然後按下 p 查看你目前的分割區列表. 裡面有你想留住的的嗎? 如果有, 請 馬上停止 如果你繼續下去的話, 所有分割區裡面的資料將會不見

Important: 這些步驟將會把硬碟上的資料全部清除. 如果你沒有重要資料的話, 請再次確定你選擇對的硬碟


現在, 我要把們所有的分割區刪除. 你可以輸入 d 再按 Enter. 你將會被問要刪除那個分割區. 要刪除第一個分割區 /dev/hda1, 你將要輸入:

Code listing 6.8: 刪除某一分割區

Command (m for help): d
Partition number (1-4): 1



這個分割去已被設定為刪除, 如果你按 p 他將不會出現在清單內. 但是請記住, 這個分割區在你還沒儲存之前還是會存在. 如果你將分割區設定錯誤, 你可以馬上按 q 才可避免分割區不會被刪除.

現在, 假設你要刪除所有的分割區, 請重複輸入 p 列出分割區列表, 然後 d 加上你要刪除的分割區. 最後你的分割區將會看起來像這樣:

Code listing 6.9: 空的分割區列表

Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System

Command (m for help):



現在, 我們需要建立一個開機分割區(Boot partition). 輸入 n 建立一個新的分割區,然後按 p 告訴 fdisk 你要一個基本分割區. 接著按 1 建立我們第一個分割區. 當他問你 "cylinder"時, 請按 enter. 當他問你 "last cylinder"時 輸入 +32M 來建立一個 32M 的分割區. 請參考以下輸出:

Note: 日誌式檔案系統 (Journaled filesystems) 需要多餘的空間來放日誌資料. 預設的設定大概需要 33 Megabytes. 如果你為 /boot 使用日誌式檔案系統時, 你需要在他問你 "last cylinder" 時輸入 +64M

Code listing 6.10: 建立 boot 分割區

Command (m for help): n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-3876, default 1): (Hit Enter)
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876): +32M



現在, 按 p, 就可以看到我們剛剛建立的分割區:

Code listing 6.11: 第一個分割區已建立

Command (m for help): p

Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1          1        14    105808+  83  Linux



接下來, 我們需要建立 swap 分割區. 輸入 n 建立一個新的分割區. 然後 p 告訴 fdisk 你要一個基礎型(primary)的分割區. 以我們的例子 /dev/hda3 輸入 2. 當 fdisk 問起 "first cylinder"時, 按 enter. 之後,當 fdisk 問起 "last cylinder" 時 請輸入 +512M. 當步驟完成後, 請按 t 設定系統類型. 按 2 選擇我們剛才建立的分割區. 你將要輸入 82 告訴系統這是一個 swap 分割區. 當以上步驟完成後, 輸入 p 你的分割區列表將會看起來像這樣:

Code listing 6.12: Swap 分割區以建立完成

Command (m for help): p

Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1          1        14    105808+  83  Linux
/dev/hda2         15        81    506520   82  Linux swap



最後讓我們來建立 "根"(root) 分割區. 輸入 n 建立一個新的分割. 然後輸入 p 告訴系統你要一個基礎型(primary)的分割. 接著輸入 3. 當 fdisk 問起 "first cylinder"時 請按 enter. 之後,當 fdisk 問起 "last cylinder" 時 你可以按 Enter 表示你要剩下的空間. 完成之後 輸入p 你的分割區列表應該會看起來像這樣:

Code listing 6.13: "根"分割區以建立完成

Command (m for help): p

Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1          1        14    105808+  83  Linux
/dev/hda2         15        81    506520   82  Linux swap
/dev/hda3         82      3876  28690200   83  Linux



最後, 我們需要設立一個開機旗標 然後寫到分割區列表. 我們需要把 /dev/hda1 設為開機用分割區. 輸入 a 然後輸入 1. 你將看到 /dev/hda1 旁邊有一個 *. 接下來, 我們要將之前做好的分割區寫入硬碟. 輸入 w 再按 Enter. 接下來你已經可以進行 Gentoo Linux 的安裝了.

Note: 如果 fdisk 或是 cfdisk 顯示需要重開, 請用光碟重新開機.


建立檔案系統

現在分割區已經完成了, 是時候在開機分割區和分割區根建立檔案系統方便於儲存資料. 我們也需要建立 swap 系統方便儲存 swap 資料.

Gentoo Linux 支援多種檔案系統, 每種都有他的強處及壞處. 目前我們支援 ext2, ext3, XFS, JFS 和 ReiserFS 系統.

ext2 是一個舊的 Linux 檔案系統, 沒有日誌功能. 啟用的時間通常需要很久. 目前有許多 日誌型態的檔案系統可以以更快的速度及更好的效率完成系統啟用和檢查.

ext3 為 ext2 的日誌版. 提供了 metadata 日誌系統 並且可以快速地使用日誌系統復原. ext3 是個相當不錯並且可靠的檔案系統. 在大部分的情況下, 他都可以表現的很好. 唯一的壞處是, 他不使用 Tree 為內部設計 所以無法很有效率的處理過大的檔案. 但是他的參數卻設計的很好. 是個很不錯的檔案系統.

ReiserFS 整體來說是個相當不錯的系統, 它處理小型檔案(少於4kb)時效能會比 ext2 和 ext3來的好. 他使用的是 B*-tree 為基礎的檔案系統. 另外也能很有效率地處理大型檔案. 核心版本 2.4.18+ 後, ReiserFS 是一個相當有值得推薦的系統, 從很少,到很多檔案. ReiserFS都可以處理的非常好. 開機分割區並不建議使用此檔案系統.

XFS 是一個 metadata 日誌系統. Gentoo Linux 也完全支援此項檔案系統. 你可以使用 xfs-sources 核心搭配 XFS. 如果你使用高速 SCSI 或是纖維的儲存裝置, 我們才推薦你使用 XFS. 如果沒有, 請使用其他檔案系統.

JFS 是 IBM 發展的高效能日誌系統. 目前雖然已經可以算是個完成品, 關於他的穩地度並沒有太多的優點及缺點.

如果你想找一個最耐用的日誌型檔案系統, 請使用 ext3. 如果你想要使用大部分都不錯的高效能檔案系統(日誌型) 請使用 ReiserFS. Ext3 和 ReiserFS 都相當成熟, 並且推薦為一般使用.

基於以上的介紹, 我們將用以下的指令來建立檔案系統.

Code listing 6.14: 建立檔案系統 (範例)

# mke2fs /dev/hda1
# mkswap /dev/hda2
# mkreiserfs /dev/hda3



我們將選用 ext2 為 /dev/hda1 開機分割區的檔案系統. 因為此檔案系統堅固並且大部分的開機程式都有支援. 我們會在 /dev/hda2 使用 mkdswap 建立 Swap 分割區. 對於根目錄, /dev/hda3 我們將使用 ReiserFS. 原因是因為他的建構強大並且穩定. 以下為建立那些檔案系統的指令:

在安裝過程中, 裡面有很多 mkfs 的指令.

我們將使用mkswap建立 swap:

Code listing 6.15: 建立 Swap

# mkswap /dev/hda2



你也可以使用 mke2fs 建立 ext2 的檔案系統:

Code listing 6.16: 建立 ext2 檔案系統

# mke2fs /dev/hda1



如果你想使用穩定點的系統 建立 ext3 的指令為: mke2fs -j:

Code listing 6.17: 建立 ext3 的檔案系統

# mke2fs -j /dev/hda3


Note: 你可以在以下的網址找到關於 Linux 2.4 的 ext3 系統. http://www.zip.com.au/~akpm/linux/ext3/ext3-usage.html.


建立 ReiserFS 檔案系統, 使用: mkreiserfs 指令:

Code listing 6.18: 建立 ReiserFS 檔案系統

# mkreiserfs /dev/hda3



建立 XFS 檔案系統, 使用 mkfs.xfs 指令:

Code listing 6.19: 建立 XFS 檔案系統

# mkfs.xfs /dev/hda3


Note: 使用 mkfs.xfs 時你需要加入一些參數 例: mkfs.fs -d agcount=3 -l size=32m -d agcount=3代表著此參數將會減少配置群 (Allocation groups). XFS 會要最少一個配置群有 4GB. 舉例來說, 你有一個 20GB 的分割區, 最少的 agcount 是 5 -l size=32m 將會增加日誌大小到32MB 以增加效率.


建立 JFS 檔案系統, 使用 mkfs.jfs 指令:

Code listing 6.20: 建立 JFS 檔案系統

# mkfs.jfs /dev/hda3
回复

使用道具 举报

发表于 2004-1-28 00:29:28 | 显示全部楼层
7. 掛載分割區

現在, 我們將啟用 Swap 以便接下來的步驟所需.

Code listing 7.1: 啟動 swap

# swapon /dev/hda2



接下來, 我們需要建立 /mnt/gentoo/boot 的掛載點. 我們將會把分割好的硬碟掛在這目錄上. /mnt/gentoo 將會成為我們主要的檔案系統. 如果你要將 Gentoo Linux 裡面的 /usr 和 /var 使用自己的分割區. 我們將要多建立幾個目錄. 如 /mnt/gentoo/usr 和 /mnt/gentoo/var 等等.

Important: 如果你的開機分割區 (Boot Partition, 用來儲存 Kernel及 開機檔案) 使用的是 ReiserFS, 請確定你掛時載加入 -o notail 的參數. 這樣一來 GRUB 才可以正常的安裝. 另外, 請確定 /etc/fstab 的掛載設定也有此參數 (ReiserFS 檔案系統專用). 如果你要使用 LILO, 那麼你就不需要 -o notail 的參數. 如果你不知道該怎麼做, 安全起見, 你可以放入 -o notail.

Code listing 7.2: 建立掛載目錄

# mount /dev/hda3 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/hda1 /mnt/gentoo/boot


Important: 如果你在掛載分割區時(使用的是 ext2), 你可以嘗試以下指令: mount /dev/hXX /mnt/gentoo -t ext2


8. Stage 壓縮檔與 chroot

選擇一個你想安裝的 Stage 壓縮

現在, 你需要決定要用哪一個 Stage 的壓縮檔. 這些 Stage 的壓縮檔都會在 LiveCD 裡面的 /mnt/cdrom/stages/ 你可以輸入 ls /mnt/cdrom/stages/ 查看.

GRP 使用者 需要使用 stage3-xx-yy.tar.bz2 壓縮檔.

如果你想使用的 Stage 壓縮檔不在 你的 CD 裡面 (或許你使用的是 "basic" Live CD"), 你將需要按照以下步驟下載你想要的 Stage 壓縮檔. 然後再到 "解開壓縮檔的部分".

Code listing 8.1: 下載你要的壓縮檔

# cd /mnt/gentoo
# links http://gentoo.oregonstate.edu/releases/x86/1.4/
使用 上 或 下 方向鍵 (或是 TAB )
尋找你想下載的 Stage 壓縮檔       
按 d 就可以開始下載
儲存檔案,然後離開 links.
另一個方法 使用 wget:

# wget (Stage 壓縮檔的網址 URL)



解開壓縮檔

現在我們需要將 Stage 壓縮檔解開到 /mnt/gentoo. 記住! 你只需要解開一個 Stage 壓縮檔. 如果你想要使用最簡單的 Stage 3, 你只需要解開 Starge3 的壓縮檔. 依照下面指令解開壓縮檔:

Important: 記得要在 tar 的參數內加入 p. 如果沒有加入 p 會導致權限錯誤.

Code listing 8.2: 解開 Stage 壓縮檔

# cd /mnt/gentoo
請依照你所想要安裝的 Stage 將 "stage3" 換成 "stage2" 或是 "stage1"
請把你要的 Stage 壓縮檔放到 "/mnt/gentoo/" 而不是 "/mnt/cdrom/stages/".
# tar -xvjpf /mnt/cdrom/stages/stage3-*.tar.bz2



當你解開壓縮後, 可以把 Stage 壓縮檔刪除了. 請輸入: rm /mnt/gentoo/stage*.tar.bz2.

GRP 套件/snapshot 步驟

Important: 以下步驟只適合 GRP 使用者. 如果你不是使用 GRP, 請跳過這段, 從 選擇對映站(非必要) 繼續.


GRP 使用者: Livd CD 裡面有一份 Portage 快照. 你將需要使用這個份 Portage 你跳過下面的 emerge sync 步驟. 因為 emerge sync 需要網路連接, 請按照以下解開光碟裡面的 Portage:

Code listing 8.3: 使用光碟裡的 Portage

將 yyyymmdd 更改為檔名裡面的日期
# tar -xvjf /mnt/cdrom/snapshots/portage-yyyymmdd.tar.bz2 -C /mnt/gentoo/usr



以上步驟將會將光碟裡面的 Portage 目錄複製到你的 Gentoo 安裝裡面. 現在你將不需要連到網路使用 emerge sync. 現在我們要將 distfiles 和套件複製到光碟上.

Code listing 8.4: 複製 GRP 檔案

# cp -R /mnt/cdrom/distfiles /mnt/gentoo/usr/portage/distfiles
# cp -a /mnt/cdrom/packages/ /mnt/gentoo/usr/portage/packages



所有需要的檔案現在都會複製到硬碟裡, 現在你可以不用網路連線進行 Gentoo Linux 安裝.

選擇對映站 (非必要)

mirroselect 是一個設計來幫你自動/手動選擇最快的對映站軟體. 缺點是, mirrorselect 在防火牆/分享器後面無法正常作用.

Code listing 8.5: 使用 mirrorselect

(自動尋找對映站
# mirrorselect -a -s4 -o >> /mnt/gentoo/etc/make.conf
(手動尋找對映站
# mirrorselect -i -o >> /mnt/gentoo/etc/make.conf



如果 mirrorselect 無法正常使用, 你還是可以繼續安裝.

進入 chroot 環境

接下來我們將使用 chroot "進入"新的 Gentoo Linux 建造環境.

Note: 你應該會在 env-update 時收到系統告知 /etc/make.profile/make.defaults 不存在: 請略過它. 晚點我們將會使用 emerge sync 解決此問題.

Code listing 8.6: 準備和進入 chroot 環境

# mount -t proc proc /mnt/gentoo/proc
# cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
# chroot /mnt/gentoo /bin/bash
# env-update
Regenerating /etc/ld.so.cache...
# source /etc/profile
以上步驟將會將你的 shell 帶到新的路徑和更新二進位檔案(binaries)



當你執行以上檔案時, 你將會被"帶入" 新的 Gentoo Linux 環境 (/mnt/gentoo). 我們可以在 chroot 裡面繼續剩下的安裝環境.

9. 使用 sync 更新 Portage tree

Important: 如果你正在使用 GRP 安裝, 你可以略過 emerge sync 的步驟.


現在, 輸入 emerge sync. 這個指令是告訴 Portage 下載目前最新的 Gentoo Linux Portage tree. 如果你的 Portage tree 是從 CD 1 複製的, 你可以安全地跳過這個步驟. Portage tree 包含著所有需要安裝的程式程序 (我們叫它 ebuilds). 目前我們有接近 4000 個程式包裝. 當你的 emerge sync 完成後, 最新的 Portage 安裝程序(Ebuilds) 就會放在 /usr/portage:

Code listing 9.1: 使用 sync 更新

# emerge sync



10. 設定 Gentoo 自訂參數 (make.conf)

現在你已經擁有了一份完善的 Portage tree, 我們需要自訂編譯的參數到你的 Gentoo Linux 系統上. Portage 將會使用這些參數進行編譯. 你將需要編輯 /etc/make.conf. 在這個檔案裡, 你將要設定你的 USE 參數, 此項參數將告訴系統你想要編譯哪些套件. 預設的參數是空的,所以你必須設定以使系統達到最好的效率. 你可以到查看USE的教學 或是 查看 USE 的參數.

如果你打算從 Stage1 開始, 你應該要設定 CHOST, CFLAGS 和 CXXFLAGS 以便再編譯時告知系統資訊. (檔案內會有註解幫助你設定).

Warning: 如果你打算從 Stage2 或是 Stage3 開始, 這些設定已經預設了, 你 不可以 更改 CHOST 參數.

Warning: 進階使用者: CFLAGS 和 CXXFLAGS 設定是告訴 C 和 C++ 編譯器如何編譯最適合你系統的軟體. 正常來說, Athlon XP 的處理器將會設定為 "-march=athlon-xp" 到 CFLAGS 和 CXXFLAGS 裡面. 使用這項編譯方式的軟體將達到最佳效能. /etc/make.conf 裡面的註解將交你如何設定 CFLAGS 和 CXXFLAGS.


如果需要, 你也可以把代理伺服器的資料放進去. 你可以使用 nano 編輯 /etc/make.conf:

Code listing 10.1: 設定 make.conf 選項

# nano -w /etc/make.conf


Note: 進階使用者: 需要完全自訂的使用者可以看一下 /etc/make.globals. 這個檔案為 Gentoo 的預設, 但是請不要修改它. 如果預設無法滿足你, 你可以將需要新增的選項放入 /etc/make.conf., make.conf 裡面的選項將會蓋過 make.globals. 如果你想要自訂 USE 設定, 看一下 /etc/make.profile/make.defaults. 如果你想要關掉這邊任何的 USE 參數, 你可以在 /etc/make.conf 加入 USE="-foo" 關閉在 /etc/make.globals 或是 /etc/make.profile/make.defaults 預設的 foo.

Warning: 如果你不是從 Stage1 開始, 請確認在 USE 參數裡面沒有 'static' 的參數.


11. 從 Stage1 開始安裝

Note: 你果你不打算從 Stage1開始, 請跳過這個部份.


Stage1 可以讓你完全依自己的需要自訂系統設定. 如果你選擇這個壓縮檔, 你應該想要一個完全為自己需要的系統吧.請慢慢享受, 雖然這個階段將用掉你很多時間. 但是可以完全達到你對系統的需求標準.

現在該開始我們的 "bootstrap" 階段. 作者使用的是 1200Mhz AMD Athlon系統 大約將花費 2 兩個小時. 在此階段我們將編譯, GNU C 編譯器和其他重要的系統程式. 請跟著以下步驟進行:

Code listing 11.1: Bootstrapping

# cd /usr/portage
# scripts/bootstrap.sh



Bootstrap 將開始進行編譯.

Note: bootstrp.sh 現在支援 --fetchonly 選項. 使用撥接的使用者應該會蠻喜歡這個想法的. 它將會下載全部的 bootstrap 所需要的檔案, 以便後時編譯所需. 請查看 bootstrap.sh -h 關於更多說明.

Note: Portage 預設編譯目錄為 /var/tmp, 所以編譯中的檔案都會放在那邊(常常會佔用幾百 megabytes 硬碟空間). 如果你想要把編譯目錄改到別的路徑, 你可以在 bootstrap 開始前更改 PORTAGE_TMPDIR. 如以下步驟: Code listing 2: 更改 Portage 的儲存路徑

# export PORTAGE_TMPDIR="/otherdir/tmp"





bootstrap.sh 將會把 binutils, gcc, gettext,和 glibc, 重新編譯 而 glibc.需要長一點的時間.當你以上程序完成後你就會到達第二階段 (Stage 2)

12. 從 Stage2 開始, 或是繼續 Stage 1 的步驟

Note: 這個階段是開始第二階段.或是繼續第一階段. 如果你選擇從 Stage3 開始, 請跳過這裡.

Warning: 如果你是從 Stage2 進行安裝, 記住不要更改 /etc/make.conf 裡面的 CHOST 參數. 不然會造成系統或是編譯上的錯誤.


Stage2 壓縮檔已經幫你完成了 Bootstrapping(Stage1) 的動作. 接下來你所需要做的就是安裝剩下系統:

Note: 如果你是從已經編譯好的 Stage2 開始, 請確定你的編譯器有更新. 在指令後面加上 -u 的選項將會更新系統軟體. 如果你不明白這是什麼意思, 你可以選擇略過下面步驟.

Code listing 12.1: 安裝其餘的系統檔案

# emerge -p system
(使用 -p 將會顯示出有那些程式會被編譯)
# emerge system



編譯系統需要一段時間, 筆者建議你去玩 PS2 的 "Star Wars - Super Bombad Racing"

當完成編譯時, 請跳過以下步驟, 從 "設定時區" 繼續.

13. 從 Stage3 開始

Note: 這個步驟適合從 Stage3 開始的使用者, 而不是 Stage1 或是 Stage2. GPR 使用者也應該跳過這個步驟.

Warning: 記住, 如果你從 stage3 開始, 不要更改 /etc/make.conf 裡面的 CHOST 參數. 不然可能造成編譯錯誤.


Stage3 壓縮檔將提供一個完全的 Gentoo 基礎系統, 所以不需要任何編譯動作.

Note: 進階使用者: Stage3 的壓縮檔是已編譯好的, 它也有可能已經過時了. 如果你想要更新到最新的軟體, 請輸入 CONFIG_PROTECT="-*" emerge -u system (需要網路連線). 如果你的 Stage3 壓縮檔已經很舊了, 更新時間有可能會長一點. 在任何情況下, 你可以跳過這裡, 繼續下一個步驟.


14. 設定時區

現在我們需要設定你的時間區域.

查看一下你的時間區域 (如果你是用 GMT 請用 GMT), 從 /usr/share/zoneinfo.然後作個連接到 /etc/localtime 請輸入:

Code listing 14.1: 建立時間區域連接

# ln -sf /usr/share/zoneinfo/選擇/你的/區域檔案 /etc/localtime
回复

使用道具 举报

发表于 2004-1-28 00:30:03 | 显示全部楼层
15. 設定 /etc/fstab

Important: 編輯檔案, 請記得使用 nano -w "檔案".


你的 Gentoo Linux 系統已經快完成了! 現在我們需要為開機設定給個檔案. 首先我們將需要更改你的 /etc/fstab 如果你是用 ReiserFS 你將要在選項的部份加入 notail. 記得要在檔案系統類型(filesystem types)中 更改成你的檔案系統. 如: ext2, ext3, reiserfs 等等. 如果要更仔細的看 /etc/fstab 你可以使用: man fstab

Warning: 請按照以下範例編輯你的 /etc/fstab, 但是要確保將 "BOOT", "ROOT" 和 "SWAP" 更改為你的區塊裝置 (如 hda, 等等.):

Code listing 15.1: 編輯 fstab

# /etc/fstab: static file system information.
#
# noatime turns off atimes for increased performance (atimes normally aren't
# needed; notail increases performance of ReiserFS (at the expense of storage
# efficiency).  It is safe to drop the noatime options if you want and to
# switch between notail and tail freely.

# <fs>           <mount point>   <type>   <opts>          <dump/pass>

# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.

/dev/BOOT           /boot       ext2         noauto,noatime         1 2
/dev/ROOT           /           reiserfs noatime         0 1
/dev/SWAP           none        swap         sw              0 0
/dev/cdroms/cdrom0  /mnt/cdrom  iso9660         noauto,ro,user  0 0
none                /proc       proc         defaults        0 0


Warning: 請注意 /boot 不會 在啟動時自動掛載. 這是為了要保護 /boot 裡面的資料. 如果你需要使用到 /boot, 請自行掛載!


16. 安裝Linux 核心(kernel) 和系統記錄器

核心選擇

有兩種安裝核心的方式(Kernel). 你可以自己編譯, 或是使用 genkernel 工具自動幫你編譯核心.

不管你要自己編譯核心, 還是使用 genkernel, 你需要先安裝你想要的核心. Gentoo 提供多種核心 ebuild; 你可以到Gentoo Linux 核心(Kernel)指南. 如果你不確定要使用哪種核心, 我們建議你使用 gentoo-sources. 如果你需要 XFS 支援, 你應該選擇 xfs-sources 或是 gs-sources. Gentoo 的 LiveCD 使用的是 gs-sources 和 xfs-sources. 此外,還有 gaming-sources 此核心是特別為了遊戲軟體所打造的(啟用 "Preemptible Kernel" 選項).

選擇一個核心, 然後按照以下安裝:

Code listing 16.1: 安裝核心

# emerge -k sys-kernel/gentoo-sources



/usr/src/linux 只是一個連接到你新裝的核心路徑. 任何你編譯的核心模組將會被 Portage 透過 /usr/src/linux 來安裝一個適合此核心的模組. /usr/src/linux 只會再你第一次安裝核心套件時建立, 如果它已經存在, Portage 不會更改這個連接.

使用 genkernel 編譯你的核心

現在你的核心原始檔已經安裝完成了, 接下來我們需要編譯你的核心. 編譯核心有兩個方法. 第一個是使用我們新的 genkernel 程式自動為你編譯核心. genkernel 使用的方式就跟我們的 LiveCD 核心差不多. 這代表著當你使用 genkernel 編譯核心時, 你的系統會在開機時自動偵測你的硬體, 就跟我們的 LiveCD 一樣. 因為 genkernel 不需要任何手動核心設定, 這是一個對於不習慣自己編譯核心的使用著的理想工具.

接著, 讓我們來看看如何使用 genkernel. 首先, 安裝 genkernel:

Code listing 16.2: 安裝 genkernel

# emerge -k genkernel



現在, 執行 genkernel 編譯你的系統核心.

Note: 進階使用者: 你可以輸入 genkernel --config 進行編譯前的調整.

Code listing 16.3: 執行 genkernel

如果你正在使用 genkernel 1.2 (包含在 1.4-20030803 x86/i686 GPR套件) 請輸入:

# genkernel gentoo-sources
如果你使用的是 genkernel 1.4 或更新, 你將不需要指定核心:

# genkernel
Gentoo Linux genkernel, version 1.4
Copyright 2003 Gentoo Technologies, Inc., Bob Johnson, Daniel Robbins
Distributed under the GNU General Public License version 2

Settings:
compile optimization: 1 processor(s)
source tree: /usr/src/linux-2.4.20-gaming-r3
config: gentoo (customized)
config loc: /etc/kernels/config-2.4.20-gaming-r3
initrd config: (default) /etc/kernels/settings

* Running "make oldconfig"...                                                                     [ ok ]
* Logging to /var/log/genkernel.log...                                                            [ ok ]
* Starting 2.4.20-gaming-r3 build...                                                              [ ok ]
* Running "make dep"...                                                                           [ ok ]
* Running "make bzImage"...                                                                       [ ok ]
* Running "make modules"...                                                                       [ ok ]
* Running "make modules_install"...                                                               [ ok ]
* Moving bzImage to /boot/kernel-2.4.20-gaming-r3...                                              [ ok ]
* Building busybox...                                                                             [ ok ]
* Creating initrd...                                                                              [ ok ]

* Build completed successfully!

* Please specify /boot/kernel-2.4.20-gaming-r3 and /boot/initrd-2.4.20-gaming-r3
* when customizing your boot loader configuration files.



當 genkernel 完成時, 一個核心, 完整的模組和 可開機的根磁碟 (initrd) 將會被建立. 我們將在等一下設定開機程式時使用到核心和 initrd. initrd 在開機偵測硬體的動作後就會被自動啟用. (就和我們的 LiveCD 一樣).

現在, 我們只要在進行一個步驟, 就能讓我們的系統更像 LiveCD 了. 安裝 hotplug. 當 initrd 自動偵測到硬體時, hotplug 會自動偵測其他東西. 安裝及啟用 hotplug 請輸入:

Code listing 16.4: 安裝及啟用 hotplug

# emerge -k hotplug
# rc-update add hotplug default



最後, 你將需要安裝其他硬體所需要的軟體. 以下為你或許該需要安裝的:

安裝程式 用途 指令
nvidia-kernel 加速 Nividia 對於 XFree86 的支援 emerge -k nvidia-kernel
nforce-net NIVIDIA NForce(2) 主機板上內建的網路卡 emerge nforce-net
nforce-audio NVIDIA NForce(2) 主機板上內建的音效卡 emerge nforce-audio
e100 Intel e100 Fast Ethernet 網路卡 emerge e100
e1000 Intel e1000 Gigabit Ethernet 網路卡 emerge e1000
emu10k1 Creative Sound Blaster Live!/Audigy 支援 emerge emu10k1
ati-drivers XFree86 Accelerated ATI Radeon 8500+/FireGL 支援 emerge ati-drivers
xfree-drm ATI Radeon up to 9200, Rage128, Matrox, Voodoo 和其他 XFree86 加速支援 VIDEO_CARDS="yourcard" emerge xfree-drm

nvidia-kernel, ati-drivers 和 xfree-drm 套件將需要啟動其他設定. 所有上面列表的其他安裝程序(ebuild)將會再開機十郵 hotplug 自動啟用.

更多關於 xfree-drm 的資料可以到我們的. Direct Rendering Guide 教學內找到.

現在你已經執行也編譯了 genkernel, 你可以跳過下面的自行核心設定的步驟了.

自行核心設定

如果你選擇不要使用 genkenrel 編譯你的核心, 這個步驟將引導你手動設定以及編譯核心. 請注意 /usr/src/linux 只是一個連接(symlink) 到你目前所安裝的系統核心原始檔(安裝時已經由 Portage 建立). 如果你有多個核心原始檔, 請確定你的 /usr/src/linux 有指定到確定的路徑.

Warning: 當你在設定自己的核心時, 請注意 grsecurity 這個選項. 太過於小心將會妨礙一些程式運作 (如 X). 如果你不確定該怎麼做, 請不要設定它.

Note: 如果你想要使用和 LiveCD 一樣的設定, 你應該執行 cd /usr/src/linux && cat /proc/config > .config && make oldconfig. 如果你不是使用 xfs-sources, 系統將會問你一些關於你所選的核心和 xfs-sources之間不同的問題.

Code listing 16.5: 設定 Linux 核心

# cd /usr/src/linux
# make menuconfig


Warning: 為了要確保你編譯的核心無誤, 你必須要確定以下提供的建議有內建(而不是使用模組的方式)到 核心裡面. 如果你有 ReiserFS 分割區; 或是 "Ext3", 請確定有編入核心, 而不是編成模組. 如果你有 XFS 的分割區, 請確認你有加入 "SGI XFS filesystem support". 另外, 不論你是否使用 ext2, 請把 ext2 設為內建.


下面是一些編譯核心時需要的選項:

Code listing 16.6: make menuconfig 選項

Code maturity level options --->
  • Prompt for development and/or incomplete code/drivers"
    (你將需要這個以便啟用其他功能)
    ...

    檔案系統 --->
    <*> Reiserfs support
    (如果你有用到 ReiserFS)
    ...
    <*> Ext3 journalling file system support
    (如果你有用到 ext3.)
    ...
  • Virtual memory file system support (former shm fs)
    (Gentoo Linux 必須選用此項.)
    ...
    <*> JFS filesystem support
    (如果你有用到g JFS.)
    ...
  • /proc file system support
    (Gentoo Linux 必須選用此項.)
  • /dev file system support (EXPERIMENTAL)
  •    Automatically mount at boot         
    (Gentoo Linux 必須選用此項.)
    [ ] /dev/pts file system for Unix98 PTYs
    (不需要.)
    ...
    <*> Second extended fs support
    (如果你有用到 ext2.)
    ...
    <*> XFS filesystem support
    (如果你有用到 XFS.)



    如果你是使用 PPPoE 連上網路, 你將需要以下核心選項(以內建或是模組) "PPP (point-to-point protocol) support", "PPP support for async serial ports", "PPP support for sync tty ports". 有兩個壓縮選項並不會傷害到而且不一定需要 "PPP over Ethernet" 這些都是 rp-pppoe 需要的功能.

    如果你使用 IDE 燒錄機, 那你需要內建 SCSI emulation. 你需要勾選:"ATA/IDE/MFM/RLL support" ---> "IDE, ATA and ATAPI Block devices" ---> "SCSI emulation support" (我把他們設為模組型態). 還有,在 "SCSI support" 底下, 勾選 "SCSI support", "SCSI CD-ROM support" 和 "SCSI generic support" 如果你把以上那些設為模組, 你將要在編譯完成時輸入 echo -e "ide-scsi\nsg\nsr_mod" >> /etc/modules.autoload.d/kernel-2.4已便開機時自動啟動.

    如果你需要, 不要忘記在核心內已編入的方式設定網路卡的支援.

    Note: 給那些想要在 Gentoo Linux 使用核心 2.2 的使用者, 現在 Gentoo Linux 可以使用 2.2 版的核心. 但是, 這樣做是要付出代價的. 你將會損失很多功能, 包括 XFS, iptables 等等. 雖然 2.2版的核心可以利用補釘增加 ReiserFS 和 devfs 支援. Gentoo Linux 開機程序需要使用到核心內建的 tmpfs 或是 ramdisk. 所以 2.2 的使用者將要確定 ramdisk 有被內建(不能勾選為模組). 你一定要 在 /boot/grub/grub.conf 或是 /etc/lilo.conf 加入 gentoo=notmpfs 到裡面的 kernel 選項. 然後 2.2 版的核心就會使用 ramdisk 而略過 tmpfs. 如果你選擇不用 devfs, 那就加入 gentoo=notmpfs,nodevfs

    Code listing 16.7: 編譯及安裝 Linux 核心

    # make dep && make clean bzImage modules modules_install
    # cp /usr/src/linux/arch/i386/boot/bzImage /boot



    安裝系統紀錄器

    為電腦量身打造的核心出爐啦! 現在你將需要選一個系統紀錄器. 我們提供傳統的 sysklogd, msyslog, syslog-ng 和 metalog. 毫無疑問的, 你將會想要試試 syslog-ng, 這個記錄器內含著強大的功能. 要安裝記錄器, 請輸入以下 任一 個指令:

    Code listing 16.8: 安裝你喜歡的系統記錄器

    # emerge app-admin/sysklogd
    # rc-update add sysklogd default
    或是
    # emerge app-admin/syslog-ng
    # rc-update add syslog-ng default
    或是
    # emerge app-admin/metalog
    # rc-update add metalog default
    或是
    # emerge app-admin/msyslog
    # rc-update add msyslog default


    Important: 如果你選擇使用 metalogd, 請參考我們的 Gentoo Linux FAQ 關於 metalogd 的緩衝區(buffer).


    接下來你必須選擇一個 cron 程式. 目前我們提供 dcron, fcron 和 vcron. 如果你不知道該選那一個, 我們建議你使用 vcron. 請按照以下步驟安裝:

    Code listing 16.9: 選擇一個 Cron 服務器

    # emerge sys-apps/dcron
    # rc-update add dcron default
    # crontab /etc/crontab
    或是
    # emerge sys-apps/fcron
    # rc-update add fcron default
    # crontab /etc/crontab
    或是
    # emerge sys-apps/vcron
    # rc-update add vcron default
    如果你使用 vcron 你不需要 crontab /etc/crontab



    如果想多了解如何啟動系統服務和程式, 請到: Gentoo Linux Init 系統 教學.

    17. 安裝其他必要的軟體

    如果你需要 rp-pppoe 連上網路, 現在是個不錯的安裝時刻.

    Code listing 17.1: 安裝 rp-pppoe

    # USE="-X" emerge rp-pppoe
    (GRP 使用者應該輸入
    #  emerge -K rp-pppoe


    Note: USE="-X" 會防止 pppoe 在 X 裝安裝介面. 使用 "-X" 是因為 X 相依性的問題, 就會連串的安裝更多的軟體. 如果你需要 X 支援, 你可以等安裝完畢後再重編新編譯. GRP 裡面的 rp-pppoe 已經有開啟了 X 介面的功能. 如果你沒有使用 GRP, 請選擇第一個.

    Note: Please note that the rp-pppoe is built but not configured. You will have to do it again using adsl-setup when you boot into your Gentoo system for the first time. 請注意 rp-pppoe 已經編譯完成, 但是尚未設定. 重開機後你將需要再一次地執行 adsl-setup 才能完成設定.


    如果你有使用 XFS, ReiserFS 或是 LVM, 你將需要從 Portage 裡面安裝相關軟體.

    Code listing 17.2: Emerge 檔案系統工具

    如果你使用 XFS, 你將需要安裝 xfsprogs 套件:
    # emerge -k xfsprogs
    如果你有 ReiserFS 檔案系統, 你將要安裝 ReiserFS 工具:
    # emerge -k reiserfsprogs
    如果你有 JFS 檔案系統, 你將要安裝 JFS 工具:
    # emerge -k jfsutils
    如果你有 LVM 系統, 你將要安裝 lvm-user 工具:
    # emerge -k lvm-user



    如果你使用手提電腦, 需要在開機時用到 PCMCIA, 你將需要安裝 pcmcia-cs.

    Code listing 17.3: 安裝 PCMCIA-cs

    # emerge -k sys-apps/pcmcia-cs



    18. 帳號管理

    設定最高權限密碼(Root)

    在你忘記之前, 請先設定密碼:

    Code listing 18.1: 設定 Root 的密碼

    # passwd



    新增一個平常使用的帳號

    在 Unix/Linux 系統下使用 root 工作是一件非常 危險 以及應該避免的. 我們 強力 建議你建立一個平常使用的帳號:

    Code listing 18.2: 新增常用帳號

    # useradd your_user -m -G users,wheel,audio -s /bin/bash
    # passwd your_user



    將 your_user 更改為你想要的帳號名稱.

    當你需要執行一些只有 root 才可以執行的工作, 你可以使用 su - 更改你的權限, 或是查看 sudo 套件.

    19. 設定主機名稱

    編輯 /etc/hostname, 在裡面輸入你的主機名稱.. 例: mymachine

    Code listing 19.1: 設定主機名稱

    # echo mymachine > /etc/hostname



    然後編輯 /etc/dnsdomainname, 在裡面輸入你的網域名稱. 例: mydomain.com.

    Code listing 19.2: 設定網域名稱

    # echo mydomain.com > /etc/dnsdomainname



    如果你有 NIS 網域, 你將要把他寫入 /etc/nisdomainname.

    Code listing 19.3: 設定 NIS 網域名稱

    # echo nis.mydomain.com > /etc/nisdomainname
  • 回复

    使用道具 举报

    发表于 2004-1-28 00:30:34 | 显示全部楼层
    20. 設定 /etc/hosts

    這個檔案將會含著 主機需要使用到的 IP 位置 和主機名稱. 可以用來反解你的 nameserver 找不到的名稱(local使用). 以下為範例:

    Code listing 20.1: Hosts 範例

    127.0.0.1      localhost
    #下一行包含著你的區網的IP 和相關的主機名稱
    192.168.1.1    mymachine.mydomain.com        mymachine


    Note: 如果你是使用 DHCP 網路, 在你的主機名稱後面加入 localhost 將會為 GNOME 和其他程式造成一些很大的幫助(反解名稱)


    21. 最後網路設定

    你將需要在 /etc/modules.autoload-2.4裡面加入剛剛你編譯核心的模組. 這樣一來 Gentoo Linux 啟動時, 將會自動載入. 註: 如果你將網路卡編為模組, 如果沒有載入他, 他不會自動啟用.

    Code listing 21.1: /etc/modules.autoload-2.4

    假設你使用的是 3com 網路卡.
    在 /lib/modules/<核心版本>/kernel/drivers/net 尋找你的網路卡
    3c59x



    設定網路

    編輯 /etc/conf.d/net 以便開機時啟動網路.

    Code listing 21.2: 開機網路設定

    # nano -w /etc/conf.d/net



    如果你想要讓 eth0 開機時自動取得 IP, 將 iface_eth0 設定為 dhcp. 不然你可以自行設定 IP, 廣播位置, 和網路遮罩. 如果你有多張網卡, 請按照類似的方式設定 iface_eth1, iface_eth2 以此類推.

    現在我們將要把 net.eth0 的開機程序放到預設的開機步驟(runlevel) 裡. 非 PCMCIA 網路卡:

    Code listing 21.3: 開機自動啟動網路卡

    # rc-update add net.eth0 default



    如果你有多張網卡, 你將需要複製為 net.ethx (x = 1, 2, ...) 請看以下範例:

    Code listing 21.4: 多重網路介面

    # cd /etc/init.d
    # ln -s net.eth0 net.ethx



    現在我們將需要把各張網卡放入開機程序裡. 非 PCMCIA 網路卡:

    Code listing 21.5: 將 net.ethx 放入開機程序

    # rc-update add net.ethx default



    PCMCIA 網路卡使用者

    如果你使用的是 PCMCIA, 請查看 /etc/conf.d/pcmcia 是否設定正確. 然後執行以下指令:

    Code listing 21.6: 讓 PCMCIA 服務自動啟動

    # rc-update add pcmcia boot



    這樣就可以在啟動網路時自動啟動 PCMCIA 網路卡的驅動程式.

    22. 最後步驟: 設定基本選項 (包括國際鍵盤設定)

    Code listing 22.1: 基本設定

    # nano -w /etc/rc.conf



    按照檔案裡面的引導, 將系統的基礎設定. 請確定 CLOCK 有設定過. 國際鍵盤的使用者將需要設定 KEYMAP (可以查閱/usr/share/keymaps 查看可用的選項).

    23. 設定開機程式

    註解

    Gentoo 的精神, 大家現在有多種的開機程式可以使用. 在我們的虛擬包裝系統裡, 使用者可以選擇 GRUB 或是 LILO.

    請記住, 你只需要安裝一個開機程式, 請不要安裝超過一個.

    另外, 如果你有使用 genkernel (核心及 initrd) 設定的方式將會與手動編譯不同. 請特別小心.

    設定 GRUB

    GRUB 中最重要的就是 GRUB 如何指向硬碟和分割區. 你的 Linux 分割區 /dev/hda1 在 GRUB 裡面會變成 (hd0,0) 注意 hd0,0 的括號,他們是不可缺的. 硬碟和分割區是從 0 開始計算的. 非 atapi-ide 的裝置 如CDROM, 燒錄機, SCSI 裝置等等 都是在 BIOS 設定時被設定為高一點的號碼. 舉例來說, 你的硬碟是在 /dev/hda, CDROM 是 /dev/hdb, 燒錄機是在 /dev/hdc, 第二個硬碟是在 /dev/hdd. 在 /dev/hdd7 將會被翻譯成 (hd1,6)看起來很複雜, 但是他的確很複雜. GRUB 有提供 Tab 的選項. 當你有很多硬碟和分割區時, 你可以按 Tab 鍵來列出所有的硬碟或分割區.

    設定 GRUB 最簡單的方法就是輸入 grub

    Code listing 23.1: 安裝 GRUB

    # emerge -k grub
    # grub



    接下來你將會看到 grub> 的介面. 你現在需要輸入正確的指令才可以將 GRUB 安裝到你的開機區裡面. 在我的範例設定裡面, 我想要將 GRUB 安裝到我硬碟的 MBR (master boot record), 所以第一個我開機時會看到的就是 GRUB 的開機畫面. 在我的例子來說, 我就需要輸入:

    Code listing 23.2: 在 MBR 上安裝 GRUB

    grub> root (hd0,0) 開機分割區(boot partition)
    grub> setup (hd0) 安裝 MBR 的地方)


    Code listing 23.3: GRUB not on the MBR

    如果你想要在 MBR 以外的地方安裝 GRUB
    grub> root (hd0,0) 開機分割區(boot partition)
    grub> setup (hd0,4) 在此設定開機紀錄,  (/dev/hda5)
    grub> quit



    接下來為以上兩個指令的解說. 第一個 root ( ) 是告訴 GRUB 你的開機分割區的位址. (在我們的例子裡, /dev/hda1 或是 GRUB 適用的 (hd0,0). 第二, setup ( ) 是開機紀錄(boot record) 將會在你指定的地方設定特別的檔案. 在筆者的例子中, 我想把開機紀錄 放在硬碟的 MBR 上所以我將指定 /dev/hda (也是 GRUB 中的 (hd0)). 如果我是使用其他的開機程式(Boot Loader), 我將需要把 GRUB 設為第二開機程式. 我可以把 GRUB 安裝在其他的分割區上(而不是整個硬碟). 當 GRUB 以設定完成後, 你可以輸入 quit 離開 GRUB.

    Note: 在 GRUB 裡, TAB 的是一個很方便的工具, 當你輸入 root ( 然後按下 TAB 鍵, 你將會看到所有的分割區列表. 按下 TAB 後, 就會自動幫你改為 root (hd. 再按一次, grub 將列出可用硬碟就會變成 root (hd0, 然後你可以自己輸入或是按下 TAB 這樣就可以讓 grub 再次列出可以使用的分割區.


    Gentoo Linux 現在已安裝完成, 但是我們需要建立 /boot/grub/grub.conf 檔才有辦法在重開機時顯示出漂亮的 GRUB 開機選項. 以下為範例:

    Important: 為了確保和 GRUB 的反面相容性 (backwards compatibility), 你要確定 grub.conf 有連接到 menu.lst. 你可以輸入以下指令建立連接: ln -s /boot/grub.conf /boot/grub/menu.lst


    現在我們將要建立 grub.conf 檔案 (nano -w /boot/grub/grub.conf). 然後按照以下方法加入:

    Code listing 23.4: GRUB 使用的 Grub.conf

    default 0
    timeout 30
    splashimage=(hd0,0)/boot/grub/splash.xpm.gz

    # 如果你是自己編譯核心, 請參考以下範例:
    title=My example Gentoo Linux
    root (hd0,0)
    kernel (hd0,0)/boot/bzImage root=/dev/hda3

    # 如果你是使用 genkernel, 請參考以下範例:
    title=My example Gentoo Linux (genkernel)
    root (hd0,0)
    kernel (hd0,0)/boot/kernel-KV root=/dev/hda3
    initrd (hd0,0)/boot/initrd-KV

    # 以下為雙重開機的設定
    title=Windows XP
    root (hd0,5)
    chainloader (hd0,5)+1


    Warning: 將 KV 更換成你安裝的核心版本

    Note: 正確的 (hd0,0) 裡面不應該有任何空格.

    Important: 如果你要為 IDE 燒錄機設定 SCSI 虛擬, 你將在需要把 "hdx=ide-scsi" 加到 grub.conf 裡的 kernel 選項裡. ("hdx" 應該改為你的燒錄機位置).


    儲存這個檔案後, Gentoo Linux 已經安裝完成. 選擇第一個選項將會告訴 GRUB 啟動 Gentoo Linux. 這個步驟應該不會有太多的問題. grub.conf 裡面的第二個部分只是一個告訴你如何設定第二個選項的範例.

    Note: 上面的 (hd0,0) 應該指向你的 "開機(boot partition)" 分割區 (以我們的範例來說, /dev/hda1). (hd0,5) 將會包含著 NT 開機程式.

    Note: 核心映像(kernel image) 的路徑應該要和開機分割區一樣. 如果你有將開機分割區 (hd0,0) 和根分割區(root partition) (hd0,1) 分開的話, 在 grub.conf 裡面將會變成 /bzImage.


    如果你需要對核心增加任何選項, 你只要在 kernel 後面的指令新增. 我們已經新增了一個選項 (root=/dev/hda3), 你也可以新增其他選項. 以一個特別的例子來說, 你可以在 kernel 後面加入 gentoo=nodevfs 這個選項來告訴核心關閉 devfs.

    Note: 與早期的 Gentoo Linux 不一樣的是, 你不再需要在 kernel 後面加入 devfs=mount 的選項了. 現在 devfs 已經被設為自動啟用.


    設定 LILO

    目前 GRUB 是最新的選擇, 但是並不是一直都是最好的選擇. LILO (LinuxLOader) 是真正有實力的Linux 啟動程式.

    以下是 LILO 的安裝方式:

    Code listing 23.5: 安裝 LILO

    # emerge -k lilo



    接下來我們需要設定 /etc/lilo.conf 以下為設定範例:

    Code listing 23.6: lilo.conf 範例

    boot=/dev/hda
    map=/boot/map
    install=/boot/boot.b
    prompt
    timeout=50
    lba32
    default=linux

    # 如果你是自己編譯核心的使用者, 請使用與下面四行類似的設定

    image=/boot/bzImage
            label=linux
            read-only
            root=/dev/hda3

    # 如果你使用 genkernel, 請參考以下範例:
    image=/boot/kernel-KV
            label=gk_linux
            root=/dev/hda3
            initrd=/boot/initrd-KV
            append="root=/dev/ram0 init=/linuxrc"

           
    # 雙重開機, 或是其他 OS
    other=/dev/hda1
            label=dos


    Warning: 將 KV 更換成你安裝的核心版本


    boot=/dev/hda 將告訴 LILO 安裝到第一個 IDE 控制卡上的硬碟.
    map=/boot/map LILO 的地圖檔, 你不應該編輯此項.
    install=/boot/boot.b將告訴 LILO 安裝到新的開機區域(Sector) 在普通的情況下, 如果沒有 install 這行, LILO 將會預設使用這個檔案.
    prompt 將告訴 LILO 開機時顯示經典的 lilo: 雖然不建議你移除掉這個, 但是你還是可以再開機時按下 [Shift] 鍵取得.
    timeout=50 是設定 LILO 等待使用者選擇的時間, 如果設定為 50 就代表著等待時間為 5 秒.
    lba32是為 LILO 解釋硬碟的構造. 另一個常用的項目是 linear. 除非你真的很了解, 不然請不要改變這行. 不然可能會造成無法開機的狀態.
    default=linux 將告訴 LILO 這是一個預設開機的選項. 必須和以下的 label 所輸入的相同.
    image=/boot/bzImage 將告訴 LILO 開機時要選擇那一個核心.
    label=linux 當 LILO 啟動時, 這個選項將被用來放在清單內.如果你要將此設為預設, 一定要和上面的 default 相同.
    read-only將告訴 LILO 你個根分割區要設定成唯讀並且在開機中不會被被更改.
    root=/dev/hda3將告訴 LILO 開機時你的根目錄在那裡.
    當你完成編輯 lilo.conf, 現在是把 LILO 放到 MBR 裡面了:

    Code listing 23.7: 執行 LILO

    # /sbin/lilo



    LILO 已經設定好了, 現在你的電腦已經可以使用 Gentoo Linux 了!

    使用 framebuffer

    有在核心裡面加入 framebuffer 的使用者應該把 vga=xxx 加到開機程式的設定檔裡. xxx 代表著以下列表的一個號碼:

    640x480 800x600 1024x768 1280x1024
    8 bpp 769 771 773 775
    16 bpp 785 788 791 794
    32 bpp 786 789 792 795

    LILO 的使用者將需要把 vga=xxx 放到設定檔的最上端.

    GRUB 的使用者將需要把 vga=xxx 放到 kernel (hd0,0)... 後面.

    24. 製作開機片

    GRUB 開機片

    Important: 不要忘了在開始前放入一片磁片.


    第一次安裝任何 Linux 時, 製作一個開機片是一個不錯的主意.這是為了在錯誤發生時方便你修正. 如果你是使用硬體 RAID, 你將 需要 建立一個 GRUB 開機片. 面對相當多種類的硬體 RAID, 你將無法在 chroot 裡面製作 GRUB 開機片,如果你碰到此情況, 你將需要在第一次重開時,把 GRUB 安裝到 MBR 裡. 請按照以下步驟:

    Code listing 24.1: 製作 GRUB 開機片

    # cd /usr/share/grub/i386-pc/
    # cat stage1 stage2 > /dev/fd0



    現在重開, 然後放入磁片. 在磁片的 grub> 介面, 你現在可以執行 root 和 setup 指令.

    LILO 開機片

    Important: 不要忘了在開始前放入一片磁片.


    如果你使用的是 LILO, 製作一個開機片也是一個不錯的主意.

    Code listing 24.2: 製作 LILO 開機片

    (只有在核心小於 1.4MB 的情況下才有可能)
    # dd if=/boot/your_kernel of=/dev/fd0



    25. 使用 GRP

    GRP 使用者在這個階段可以安裝二進位套件 (binary packages):

    Code listing 25.1: 從 GPRP 安裝

    # emerge -k xfree



    CD 1 包含著足夠的套件讓你安裝一個有用的系統及 XFree86. 還有, 雙光碟的 GRP 的 CD2 有包括 KDE, GNOME, Mozilla 等等其他軟體. 如要安裝這些套件, 你將需要重新啟動到你安裝完成的 Gentoo 系統. (在文件底端的 "完成安裝" 部分). 當你從硬碟重新啟動到你的基本 Gentoo 系統後, 你可以掛載第二片光碟然後複製檔案:

    Code listing 25.2: 從 CD2 複製二位元套件

    # mount /dev/cdrom /mnt/cdrom
    # cp -a /mnt/cdrom/packages/* /usr/portage/packages/



    以下為安裝其他軟體的範例:

    Code listing 25.3: 從 GRP 安裝 KDE

    # emerge -k kde



    26. 完成安裝

    現在 Gentoo Linux 已經安裝完畢. 所剩的步驟就是更新設定檔, 離開 chroot, 安全的移除分割區掛載, 然後重新開機:

    Warning: etc-update 會提供你需要更新設定檔的清單. 請確定不會影響到重要的設定檔 (如: /etc/fstab, /etc/make.conf, /etc/rc.conf, ...). 安裝新的檔案不會影響太大, 你可以移除更新, 或是利用 diff 自行更新設定檔.

    Code listing 26.1: 重新啟動

    # etc-update
    # exit
    (以上指令將會離開 chroot, 你也可以輸入 ^D)
    # cd /
    # umount /mnt/gentoo/boot
    # umount /mnt/gentoo/proc
    # umount /mnt/gentoo
    # reboot
    (不要忘了把可開機光碟從光碟機拿掉)


    Note: 重新啟動後, 我們建議你執行一次 modules-update 建立 /etc/modules.conf. 你應該自行更改 /etc/modules.d 而不是直接更改.


    如果你有任何問題或是想要加入 Gentoo Linux 開發, 請記得加入我們的 gentoo-user 和 gentoo-dev mailing list. (更多的資料在我們的 mailing lists 網頁). 我們也有好用的 桌面設定指南 將會引導你如何繼續設定你的 Gentoo Linux 系統. 還有有用的 Portage 使用者指南 幫助你了解 Portage 的基礎. 你可以在這裡找到我們其他的文件. 如果你有其他安裝時的問題, 或者是其他事務, 請查看我們的 中文FAQ 或是英文版 FAQ. 請慢慢享受. 歡迎使用 Gentoo Linux!

    27. 在 Gentoo 上使用少見的硬體

    硬體 ATA RAID

    想要在 Gentoo 上使用硬體 ATA RAID 的使用者,,請注意以下步驟. 這樣才能方便幫助你完成 Gentoo 的安裝:

    記得在 LiveCD 開機時加入 doataraid 的參數
    如果你再開機時忘了輸入 doataraid 你可以自行輸入: Code listing 1: 載入 RAID 模組

    # modprobe ataraid
    (適用於 Promise Raid 控制卡
    # modprobe pdcraid
    (適用於 Highpoint Raid 控制卡
    # modprobe hptraid



    有些 ATA RAID 控制卡在分割和格式化後會要求你重新開機; 不然有可能會失敗.
    進入 chroot 以前, 將 devicetree 載入新的環境: Code listing 2: 將 /dev 載入 /mnt/gentoo/dev

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



    編譯核心時, 記得選擇你所需 RAID 的選項: Code listing 3: Linux 核心 RAID 設定

      Highpoint RAID 控制卡:
      ATA/IDE/MFM/RLL support  --->
      
  • HPT36X/37X chipset support
      
  • Support for IDE Raid controllers
      
  • Highpoint 370 software RAID
      Promise RAID 控制卡:
      ATA/IDE/MFM/RLL support  --->
      
  • PROMISE PDC202{46|62|65|67} support
      和/或
      
  • PROMISE PDC202{68|69|70|71|75|76|77} support
      
  • Support for IDE Raid controllers
      
  • Support Promise software RAID (Fasttrak(tm))
      


    When using GRUB add --stage2=/boot/grub/stage2 when running grub to the setup command: 使用 GRUB 時, 當執行 grub 的時候, 把 --stage2=/boot/grub/stage2 加到 setup 的指令: Code listing 4: 為 GRUB 安裝硬體 RAID 系統

    grub> root (hd0,0)
    grub> setup --stage2=/boot/grub/stage2 (hd0)
    grub> quit


    另外, 在 GRUB 的設定中, 記得把 root 指向適當的 RAID 裝置: Code listing 5: grub.conf 和 RAID 的設定

    title=My Gentoo Linux on RAID
    root (hd0,0)
    kernel (hd0,0)/boot/bzImage root=/dev/ataraid/dXpY



    LILO 的使用者將需要將 root 指到適當的 RAID 裝置: Code listing 6: lilo.conf 和 RAID 的設定

    image=/boot/bzImage
    label=linux
    read-only
    root=/dev/ataraid/dXpY



    如果你還有關於安裝 Gentoo Linux 硬體 RAID 到你的系統, 請到 http://bugs.gentoo.org/ 申報.
  • 回复

    使用道具 举报

    发表于 2004-1-28 00:31:06 | 显示全部楼层
    呵呵,是我抄的,希望对楼主有些帮助。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    GMT+8, 2024-5-19 23:48 , Processed in 0.183645 second(s), 16 queries .

    © 2021 Powered by Discuz! X3.5.

    快速回复 返回顶部 返回列表