2008年4月19日

M1210

本文簡單記錄在 Dell XPS M1210 下安裝 Gentoo 的心酸血淚史… 呃,請不要過度悲觀,因為最糟的測試過程已經由我代為執行過了,如果您有幸遇到我所未曾遭遇過的困境,那麼我一定要對您說聲『恭喜』,畢竟「天將降大任於斯人也,必先苦其心志,勞其筋骨,餓其體膚,空乏其身,行拂亂其所為,所以動心忍性,增益其所不能。」 這是您更加磨練您 EQ 的絕佳機會啊!

核心的編譯與開機

正如 史上第一台筆電 中所提到的,這是個人的第一台筆電。和桌電相比最大的差異在於 Kernel 編譯的選項選擇,這部份我總共進行了三次。

第一次安裝是下載 Sam AdmsKernel 2.6.21 設定檔 重新調校成本機的硬體環境,當然本機的 Kernel 版本已更新到 2.6.24-r4 ,除了音效改由 SB Live Audigy 改為 Intel HD Audio 外,其他還針對 Kernel 內附的說明將建議開啟、不建議開啟等等的選項加以調整,此次編譯結果可以正常開機,惟一的問題是無法啟用 HDD DMA 傳輸模式。不過這個問題在參考過 Gentoo Forum: SATA drive not recognized properly - /dev/hda [solved] 說明後即可解決,簡單的說這台的 Intel ICH7 晶片組可以同時支援原本的 P-ATA 及新一代的 S-ATA 傳輸規格,Sam 的 kernel config 是採用了 P-ATA 模式,但此模式下的系統無法自動啟用硬碟 DMA 傳輸模式,連 hdparm 也會回報不支援的控制指令而無法設定。

解決的方式就是把早期的 ATA/ATAPI/MFM/RLL 驅動全部拔掉即可讓核心以新版的 Serial ATA (prod) and Parallel ATA (experimental) drivers 去驅動硬碟,一舉解決硬碟存取效率低落的問題。

本來 Kernel 的設定理應就此結束,後來在無線網上的設定上有點問題,遂將系統整個砍掉重新安裝 Ubuntu 7.10 想瞭解一下 Ubuntu 的設定法,隨後有了第二次設定 Kernel 的機會,當然,我又換回了 Gentoo 之下。

第二次的設定是選擇從無到有的建立,這次一開始就打算努力避免 HDD 存取效能低落的問題而放略過 ATA/ATAPI/MFM/RLL 相關的驅動程式,但多次檢查後仍無法解決因找不到 /dev/sda3 裝置而導致 Kernel Panic 的問題,可能是人老眼花,查了多次仍無法查出是忘了編入那一個驅動程式所造成。網路上也有看到類似災情,但他的解決方式是將 ATA/ATAPI/MFM/RLL 等驅動掛回去,但因為此舉與原先目的衝突而放棄。

另外在全新建立 .config 的過程中也發現到 Kernel 某些選項並未如其說明所述自動展開或隱藏,這是在我啟用 KVM 的 Virtualization 選項時注意到的小狀況。

所以第二次的安裝在一天不到的時間內就宣告終止。

第三次的安裝是在第二次安裝作業宣告終止的隔日立刻進行,但這天右手因肌鍵發炎疼痛難耐而到診所剌了一針,對此事件以『昨晚系統砍掉重練、今早右手砍掉重接』作為註解而在請假單上留下了一筆永不磨滅的記錄。

第三次的 Kernel 設定仍然以 Sam 的設定檔為基礎,先使用 ATA/ATAPI/MFM/RLL 方式開完機確定相關模組都已 ready 後,再修正成使用 Serial ATA (prod) and Parallel ATA (experimental) drivers 去驅動 SATA 裝置,有了前二次的經驗後這次就一次解決了。

後來因為手賤劈腿改裝 Ubuntu 8.04 LTS Desktop 版,所以有了第四次 Kernel 設定的機會。這次核心版次的選擇直接跳 2.6.25-gentoo-r1 ,期昐能一次解決無線網卡 Intel 3945ABG 無法啟用的問題。這次的設定以 kernel 的預設值為基礎,僅將 M1210 不具備之硬體支援予以拔除而以,最後則發現無線網路不通的問題其實不在驅動程式上,是在後端設定。

就目前而言,一個全新安裝的 Gentoo 系統可以考慮選用 Kernel 2.6.24-gentoo-r5 ,設定檔則可以直接從 Gentoo 2008.0 beta2 中撿過來用(我在猜 2008.0 正式版可能會再改用 2.6.25 核心吧)。

安裝順序

針對 Gentoo Linux AMD64 Handbook 所列順序個人覺得可能需要做些調整。

  1. 先設定好 Timezone
  2. 先裝好 grub
  3. 再開始 compile kernel 及 install

硬體操作習慣之支援

  1. 按下 Power 鍵要能自動關機:請安裝 acpi 套件並啟用之

藍牙支援

  1. Bluez 在 gnome 中提供一個 bluez-gnome 套件簡化 gnome 上的藍牙操作
  2. 藍牙滑鼠… 呃… 搞不定中,不過作法可參考 http://ubuntuforums.org/showthread.php?t=737918

layman 支援

  1. 預設狀態下只會看到 swegener 這個 portage overlay 庫,看了一下內容,個人建議順手加進 layman 管理清單中吧
  2. 修改 /etc/layman/layman.cfg 檔,將 nocheck : no 改為 nocheck : yes 後才能看到完整的 overlays list ,如果看不到請執行 layman -f 重新下載 overlay list 即可。

外接滑鼠支援

  1. 如果在 X 中啟用觸控板設定 synaptics 的話,很可能造成外接滑鼠的設定不受 X 認同而失效
  2. 也許有 synaptics 的特別設定可與外接滑鼠並存,但細節待確認

無線網路

  1. 確定已在 kernel 中加入對 iwlwifi 及 iwl3945 的支援
  2. 重開機後使用 iwconfig 取得無線網卡的裝置代碼為何(通常為 wlan0 )
  3. 在 /etc/conf.d/net 內寫入 wlan0 的基本設定
  4. 不要使用 Network Manager 作為網路管理工具,改用 WICD 進行管理,見 Gentoo Wiki 之說明