安裝 Yellow Dog Linux 首先需要了解的是,您不能通過可公開獲得的 YDL 3.0.1 ISO 來引導 G5。這是因為用於 G5 的“hybrid”的 3.0.1 版本仍然處於測試階段;當產品化後,它們將公布於公開的站點上。在此之前,要獲得兼容 G5 性的 32 位 YDL ISO,您需要付費訂閱“YDL.net Enhanced”以獲得成員資格(請參閱 參考資料)。 訂閱後,要小心地下載正確的 ISO。普通的 ISO 編號為 3.0.1,位於 /enhanced/iso/ FTP 目錄中;這些並不是您所想要的那些。實驗用的 G5 ISO 也 編號為 3.0.1,但是下載目錄更深,是在 /enhanced/iso/PowerMacG5/ 目錄中。由於它們仍然處於測試階段,所以確切的文件日期可能會改變;我使用的那些名字是 *-20040204-*.iso。 通過測試以後,兼容 G5 的 32 位 YDL 將升級為版本 4.0,而且不需要成員資格就可以獲得。不過, 64 位的 Y-HPC 將只能由“YDL.net Pro”(不是 Enhanced)成員得到。從 Terra Soft 獲得 64 位內核的唯一的另一種方法是,等待它們可以從 TSS 在線存儲獲得,或者購買預配置的內核,用在 Terra Soft 預先構建的 G5 系統上。這是根據買方的要求完成的,需要額外的費用,所以,如果您需要那樣做,那麼需要去指定它。 無論如何,其他 PPC Linux 發行商 ―― 比如 Mandrake、Debian、Gentoo 和 SUSE ―― 也都在准備他們自己的可直接用於 G5 的 Linux 系統。當然,Gentoo 是我所知的唯一一個也在積極開展 64 位 G5 內核的發行商;其他發行商當前都是致力於 32 位版本。不過,從工作特性到與 Macintosh 相關的 HowTo,本文所涵蓋的大部分內容應該同樣適用於所有這些期望中的未來發行版本。 值得注意的另一點是,特別是如果您熟悉 x86 上的 Linux,現在還沒有任何好的方法可以無損地對已有的 HFS+ 分區進行重新分配。當然,對您想要安裝的任何 Mac 上的 Linux 發行版本來說都是如此,因為 Power Mac G5 原來都是分為一個大的分區。您將需要刪除並重新安裝 OSX 以配置雙引導的系統。對於專用服務器來說,不管怎麼樣您可能只需要一個 OS,但是對於開發者大部分其他用戶來說,多引導配置是實用的。 建立雙引導或多引導的 Power Mac G5 系統的最簡單方法是,通過隨機器附帶的安裝媒體重新安裝 OSX。在 OSX 安裝開始時,自菜單中選擇“Disk Utility”,創建一個較小的 HFS+ 分區,並將其余部分留做自由空間。在我的 160 GB 的測試系統硬盤上,我為 OSX 分配了 30 GB(如果需要,我以後隨時可以創建更多 HFS+ 分區)。 重新安裝並留出一些自由磁盤空間後,接下來只需要放入通過上面說明得到的兼容 G5 的 YDL CD。與所有 Macintosh 相同,在重新引導期間按住“c”鍵,以從 CD 引導而不從硬盤驅動器引導。Yellow Dog 的基於 Rad Hat 的 Anaconda 安裝器的安裝器非常友好。除了聲卡以外,所有設備都會被安裝器自動識別出來 ―― 甚至包括 OSX 檢測失敗的我的監視器的確切型號和性能。我的 DHCP 路由器和以太網無縫地連接在一起。有一個小的缺陷,那就是安裝器運行時監視器的頻率是 60 Hz,這在日光燈下會產生讓人心煩的抖動。不過安裝完成後,Yellow Dog 使用的是有益於視力健康的 70+ Hz(而且是可配置的)。注意,您應該先重新安裝 OSX,然後再安裝 Linux;如果以另外的方式安裝會導致更多的工作。 安裝過程中,YDL 會執行用戶友好的工具“Disk Druid”來為您描述分區選項。帶日志的 ext3 是其首選的文件系統(也是我所使用的)。如果您選擇了“Automatic”,Disk Druid 將聲明所有的自由空間為 Linux 所用;我更希望手工配置另外 30 GB ext3 分區(並在磁盤的末端留出默認的交換分區)。這樣就留出了大約 100 GB 空間我可以使用任意我所需要的文件系統自由安裝另外的 OS 或者數據分區。稍後,在安裝過程中,Yellow Dog 會安裝引導管理器 Yaboot,它的使用幾乎與 x86 系統上的 lilo 相同(包括一個 /etc/yaboot.conf/ 配置文件)。 選擇了您希望安裝的程序包以後 ―― 可能是通過選擇一個普通的選項,比如“Desktop”、“Server”或者“Developer Workstation” ―― 安裝過程結束並重新引導到 Yaboot 引導管理器。假如您在引導過程中選擇了“Linux”而不是“OSX”, Yellow Dog 將顯示出 Linux 用戶熟悉的關於驅動器和後台程序加載的所有文本信息。在大約 40 秒後(在一台 dual-1.8GHz G5 機器上),您將來到 Yellow Dog 的歡迎屏幕,在這裡您可以作為用戶登錄、重新引導、選擇桌面環境,等等。值得一提的是,OSX 在同一台機器上的引導只需要 15 秒,令人驚訝。KDE 是 YDL 默認的環境,但是在安裝 CD 中也包括了 Gnome(而且您可以通過源文件編譯任何您所喜愛的窗口管理器)。
使用 G5 Linux 系統 YDL 與其他現代的 Linux 發行版本非常類似。它附帶了 GCC(當前的 G5 測試版本附帶的版本是 v3.3.3)以及最新版本的 Python、Perl、Ruby 和其他編程語言。KDE 開始菜單中包括了以邏輯層次排列辦公軟件,比如 OpenOffice、GIMP、Mozilla 和 KDevelop 等一些開發環境。您可以使用它們原來的默認模式和界面配置,或者您可以通過 KDE Control Center 或各種右擊方式來按您的意願改變其行為。 讓我來介紹一些特定於 Macintosh 和 Power Mac G5 的配置,這些可能是 x86 Linux 用戶所不熟悉的。首先,您應該考慮讓您的 OSX HFS+ 分區的數據可以被讀取。我認為,處理 HFS+ 中的日志的驅動程序仍處於實驗階段,所以您最好將 HFS+ 設置為只讀。要訪問 HFS+,您將需要做類似如下的步驟(您將需要以 root 身份登錄或者使用 su): 清單 1. 在 YDL 下掛載一個 HFS+ 分區 % mkdir /mnt/osx % modprobe hfsplus % parted /dev/sda # press "p" for partition list % mount /dev/sda3 /mnt/osx -thfsplus % ls /mnt/osx 使用 parted 命令來查看分區編號和文件系統。觀察工具以查看您都有哪些 HFS+ 分區。如果您想用 Konqueror 和 KDE 桌面來導航文件,您可能應該將 /mnt/osx 從 Konqueror 窗口拖到桌面上。 不同於 x86 系統,Macintoshes 的 CD 驅動器上沒有“eject”按鈕。在 OSX 中,您可以使用鍵盤上的一個特殊的鍵來打開驅動器。在 YDL 中您需要在命令提示符中執行命令 eject /dev/cdrom (或者將這個動作附加到某個圖標)。當您在驅動器中插入了一張新 CD 以後,需要運行 mount /dev/cdrom 或者適當地將此操作配置為自動進行。 不幸的是,Terra Soft 為了讓測試版可以在 G5 上使用而融入了混合 2.6.4 內核,但此內核不能與 Mac-on-Linux(MoL)一起使用。那些剛接觸 Linux 的人應該知道,出現類似情況時,下載並重新編譯失常的應用程序的最新源代碼通常可以解決問題。不過,這一次不行,所以,在我們期待 MoL 可以用於 G5 之前,只有等待 Mac-on-Linux 項目發布新的模塊。 將 32 位 YDL“升級”到 64 位 Y-HPC 按 Terra Soft 的說法,一旦實現了產品化,64 位的安裝將變得非常簡單。在此之前,如果您想在 Y-HPC 官方發行之前嘗試 64 位內核,那麼首先需要像我這樣安裝 32 位 YDL。然後,到 Yellow Dog Linux Y-HPC 網頁(請參閱 參考資料),將 vmlinux* 和 System* 文件下載到 /boot/。我在那個目錄下運行: 清單 2. 解包 64 位 Linux 內核 % gunzip vmlinux-2.6.1-1.64.ydl.1.1280.gz % gunzip System.map-2.6.1-1.64.ydl.1.1280.gz % chmod u+x vmlinux-2.6.1-1.64.ydl.1.1280 我也得到了內核模塊,下載到 /root/,然後運行: 清單 3. 解包 64 位內核模塊 % bzip2 -d /root/modules-2.6.1-1.64.ydl.1.1280.tar.bz2 % cd / % tar xvf /root/modules-2.6.1-1.64.ydl.1.1280.tar 最後一步在 /lib/modules/2.6.1-1.64.ydl.1.1280/ 目錄下創建了很多文件。下一個步驟是將 64 位內核添加到引導管理器中。首先編輯 /etc/yaboot.conf,添加: 清單 4. 將 64 位 Y-HPC 內核添加到 Yaboot image=/boot/vmlinux-2.6.1-1.64.ydl.1.1280 label=linux-64bit root=/dev/sda4 read-only append="hda=ide-cd" 然後運行 ybin(以 root 身份),這樣在下一次重新啟動時您就可以選擇內核了。正如您將看到的,使用 64 位內核,性能受到了最低限度的影響;但是,選擇 64 位內核讓您可以編譯可能會受益於 64-bit-ness 的 64 位應用程序。
GCC 選項和交叉編譯 我使用不同的內核版本和編譯選項運行了一些 LMBench 基准測試(我將在本文最後進行總結)。盡管這個基准測試並沒有受到我所嘗試的選項的顯著影響,但是,LMBench 的源代碼仍然提供了一個可以用於測試編譯選項的有益項目。例如,在使用 64 位內核的一個配置中,在進行通常的 make 步驟之前,我輸入了下面的內容來配置編譯器: % eXPort CPPFLAGS='-mcpu=970 -mtune=970' 在文檔“About Compilers with VMX Support”(請參閱 參考資料)中可以找到關於 PowerPC 970 編譯器主要選項的實用總結。引用的這篇文檔所涉及的是混合 YDL 和基於 PowerPC 970 的 IBM eServer™ JS20 BladeCenter™ 機器所附帶的 GCC 3.3.3 版本。您可以比較 Linux 和 Darwin(Mac OSX)中可用的編譯選項 ―― 大部分是類似的,但有一些不同。 此外,整個 POWER 家族體系結構的設計,既支持針對不同具體目標的交叉編譯,也支持針對通用指令基的編譯。極其令人著迷的是,有可能在 Apple Power Mac G5 上開發一個應用程序而在 I