Power Mac G5 上的 Yellow Dog Linux:Power 开发者工作站上的 Linux
- UID
- 1066743
|
Power Mac G5 上的 Yellow Dog Linux:Power 开发者工作站上的 Linux
对很多 Linux 用户来说,购买 Apple Power Macintosh G5 机器的最好理由很简单,因为它设计精良、性能卓越,并且 Apple 公司定价合理。很多企业、虚拟主机供应商、学校和研究机构为用户同时提供了 x86 系统和 PowerPC 系统。如果您希望确保在这些机器上使用统一的系统/用户界面,那么 Linux 是操作系统的最佳选择。基于 PowerPC 970 的机器在性能方面可以与 AMD 的 Athlon64 和 Opteron以及 Intel™ Pentium™ 4EE 和 Xeon 相匹敌。
另外,在 Power Architecture™ CPU 家族中的交叉编译能力将使一个应用程序的各部分具备相对一致的工作特性。所以,举例来说,与在 Pentium 4 上分析(profiling)应用程序相比,在 G5 上分析应用程序将使您获得关于在 POWER5™ 机器上可能遇到瓶颈的更好向导。
我先前的 developerWorks 文章 探讨了在 Apple 硬件上(特别假定每一台 Apple 机器上都已经安装了一个名为 OSX 的普通而优秀的UNIX® 家族操作系统)运行 Linux 的一些常见动机。在这里我不打算再重复所有的内容,不过总的来说,支持 G5 上的 Linux 的观点可以归结为:“和 G4 一样,只是芯片更强劲”。除了那篇文章中提及的安装提示以外,在这里我将深入讨论一些内容,其中有一些是常规的,另外一些只是针对 G5 或者 Terra Soft Solutions 的支持 G5 的 Linux 版本。
随便访问 Developer's corner如果您是探寻开始使用 Power 体系结构上的 Linux 的详尽资料的个人开发者、团队程序员或者 ISV,那么最好是以 作为起点。在那里您将得到支持文章、下载、测试和移植工具的链接、在线讨论论坛,等等。
本文探讨了如何在 G5 系统上使用 Yellow Dog Linux/Y-HPC 和 OSX 来建立一个双引导的环境,其中包括安装和配置期间需要注意的问题。注意,我们所使用的高性能发行版本的名称是 Y-HPC;它指的是当前处于测试的64 位产品,以后将用于 Terra Soft 的产品化 64 位版本。该公司用于 G5 机器的 32 位产品称为 Yellow Dog Linux(YDL),也被认为是正处于测试阶段。它当前的版本是 3.0.1,但是版本 4.0 的测试版很快就会出现。我们首先安装 32 位的 YDL,然后升级到 64 位的 Y-HPC 内核。注意,由于是测试版,所以两个发行版本都不适于运行在产品开发环境中。另外也请注意,几周以后,当这两个版本通过了测试,安装过程将会比这里列出的简单得多。
我将介绍 Yellow Dog 发行版本的一些常规特性,比如配置和工具细节。我们可能期望 64 位 Linux 内核以及G5 芯片会为我们带来什么样的性能?为了对此有一个感官上的认识,我还使用 LMBench 在几种情形下进行了基准测试。我将略微谈到使用 gcc 的针对特定处理器的选项,以及与其他 POWER 家族芯片相关的交叉编译。
安装 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+ 分区1
2
3
4
5
| % 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 内核1
2
3
| % 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 位内核模块1
2
3
| % 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 内核添加到 Yaboot1
2
3
4
5
| 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 位应用程序。 |
|
|
|
|
|