发布时间:2014-09-05 17:35:35作者:知识屋
当索尼首次宣布 PlayStation 3 将能够直接运行 Linux 的时候,非常令人兴奋。最初,直接安装 Linux 会有些困难。PS 3 支持的安装程序运行自定义脚本,手工将 Fedora Core 5 或 6 安装 DVD 改造成使用特殊 PS3 内核运行的系统。人们花了许多时间来让其他系统(例如 Ubuntu)工作。Terrasoft 的黄狗(Yellow Dog)Linux 带有真正能在 PS3 上运行的图形安装程序。
随着时间流逝,许多事都已经发生了变化。现在能够将 Fedora 7 直接安装到 PS3 上,安装过程最难的部分就是,选择 PS3 的存储驱动器以便让它能够找到安装 DVD,还要记得在初始安装命令行中指定视频模式以便能够看到安装程序。
所以,在 PS3 上是能够运行 Linux 的。问题是目前运行得还不太好。如果将 PS3 作为便宜的 Cell 开发系统,那么您肯定会有点失望地发现:执行默认安装过程之后,在进入 shell 提示符之前就已经用去了数百兆甚至更多的交换空间。
获取 Fedora 7(Fedora 8 可能也适合,但在写作本系列的时候,我手上用的是 Fedora 7)。显然,如果使用经过专门调优的或者针对小巧和效率进行构建的发行版,那么可能会得到更佳的效果,但是 Fedora 7 有一个巨大的优势:它受 Cell/B.E. SDK 支持(也支持 RHEL 5.1,但对 Fedora 7 的支持更好)。
PlayStation 2 也能运行 Linux,但是比较麻烦。为此,索尼发布了专门的工具包,但是只能在更早的厚重的 PS2 机器上运行,而且要求使用附加硬盘。不支持后来的(更普遍的)“苗条” PS2 机器,所以这个工具包很快就消失了。但是,它消失的主要原因是它几乎只是个概念证明;PS2 系统上没有足够的内存,也没有专门的编译工具,CPU 只是标准的 MIPS 内核。除了索尼专用的工具之外,矢量单元没有得到广泛支持,也没有充足的文档。
对比之下,在 PS3 推出之前,就已经有运行 Linux 的支持,而且索尼还大量提供了支持代码和支持包。在系统发布前后推出的 “Cell addons” 光盘上包含对 Fedora 5 和 6 的直接支持,而且还提供了其他 Linux 发行版开发 PS3 移植所需的所有文件。所以,不用单独的光盘就能在 PS3 上运行 Fedora 7,不过仍然需要从索尼下载并安装引导加载程序。增值软件光盘(请参阅 参考资料)将继续用新版内核进行更新。
理解 hypervisor
PS3 的基本规格是 256MB 主内存,一个 Cell/B.E. 处理器,有线以太网卡(有些型号上有 802.11b/g 无线网卡),称为 RSX 的图形处理单元(自带 256MB 内存)和一块 SATA 硬盘。还有些外部设备,包括 USB 端口、蓝牙,某些型号上还有读卡器。但是,这并不是运行 PS3 Linux 的机器。
在 PS3 上,Linux 在 hypervisor 控制下运行 ― 实际上,PS3 Linux 是在与 Xen 类似的虚拟机上运行的。hypervisor 提供了对 PS3 硬件的受约束和经过过滤的访问。例如,Linux 代码不能直接访问 RSX 图形处理器,但是可以使用其提供的专门设备对 RSX 进行有限访问,从而实现不错的 2D 帧缓冲效率。
hypervisor 提供了许多转换。例如,正如前面提到的,hypervisor 为 Linux 提供了一个虚拟的帧缓冲设备,是 hypervisor 随后用 RSX 图形内核实现的。类似的,Linux 不能访问 SATA 硬盘,只能访问 SCSI 驱动程序,由后者映射到内部驱动器中分配给 “其他操作系统” 分区的区域。不能从物理上访问 PS3 游戏软件使用的磁盘部分。
网络硬件可能是最有趣的部分。PS3 Linux 既能够访问千兆以太网络,也能够访问 802.11g 无线网络,但不能同时访问。在配置网络接口时,如果用 SSID 将其指定为无线接口,那么 hypervisor 就使用无线接口,否则使用有线接口。
下面我们讨论修订的规格。PS3 Linux 在虚拟机上运行,虚拟机有一颗带 6 个 SPE 的 Cell/B.E. 处理器,大约 212MB 主内存,一个网络接口,一个 SCSI 磁盘(如果有读卡器,则会有更多 SCSI 磁盘),一个 SCSI 设备(可能是 DVD-ROM、CD-ROM,也可能是蓝光光驱),USB 和蓝牙端口。图形是通过特殊的帧缓冲设备提供的,支持各种视频模式(请参阅 理解消费者电子视频模式)。
规划开发环境
为了更好地利用 PS3 进行开发,首先要确定需要什么样的开发环境。如果愿意完全取消 X,那会节省大量内存(Fedora 默认运行 Gnome,这可能不是最省内存的策略)。许多系统设置工具都可以通过 X 访问,但是运行的时间很长。我在 Gnome 下运行图形包更新程序时花了几个小时才完成。这可能是因为该过程总共需要 375MB 的内存,严重超出了可用的物理内存。大多数时间都花在等待交换磁盘上,就像 VAX 上的 Emacs 一样。
由此得到的教训是:可用内存将是 PS3 上的最大弱点。请尽快关闭那些不需要的服务。用 xterm 代替 gnome 终端。如果需要多个窗口,可以考虑运行 screen 而不是多个 xterm。
显示选项
如果只是玩玩,那么不用对这些问题太过担心。但是如果在运行的时候需要查看显示结果,那就需要考虑显示选项。PS3 的 HDMI 输出质量最好。如果有计算机监视器,那么 HDMI 转 DVI 线很便宜,但是要确定监视器支持高带宽数字内容保护(High-bandwidth Digital Content Protection,HDCP)。如果监示器不支持,那么只会看到一个黑色屏幕,或者可能是一片明亮的彩色状态。如果正在使用 KVM 开关,请注意开关也必须支持 HDCP!不幸的是,似乎无法关闭这项 “功能”;无法得到未加密的信号。虽然这种做法是为了保护高清晰电影,但是查看 X 桌面也需要特殊许可还是有点讨厌。HDMI/DVI 支持 PS3 提供的每种视频模式,包括消费者电子模式(例如 720p)和 PC 模式(例如 WXGA)。
如果没有 HDCP,也没有支持 DVI 的监视器,那么只能改用分量视频。大多数电视都接受分量视频,有些计算机监视器也支持。分量视频的效果与早期的 VGA 类似,只是它带有三个 RCA 连接器,一个输出红色,一个输出绿色,一个输出蓝色。分量视频线要单独收费 ― 不过与 PS2 的分量视频线相同,如果有 PS2 的线,可以继续用。分量视频支持 720p 和 1080i 显示,但是可能不支持 1080p(如果不知道这些是什么,请参阅 理解消费者电子视频模式)。分量视频提供的分辨率和清晰度比下面两个选项高。
如果没有分量视频,那么可以使用支持 S-video 的设备。S-video 支持 480i,但是要将信号分解到两个独立通道中,一个通道传输亮度,一个通道传输色度(即 “亮度” 和 “颜色” )。他的清晰度比最后一个选项 ―― 复合视频 ―― 要好些。复合视频是旧式的 RCA 接头,通常是黄色,几乎与任何电视兼容。如果能不用复合视频,就不要用。
注意,Fedora 7 安装程序实际上不能在 720p 下使用,除非采用它的文本模式。实际上,如果打算采用 PS3 作为开发系统,最好是使用更高的分辨率模式。Linux 系统适合于较大的显示器,Fedora 的窗口环境在低分辨率显示器上的效果非常差。而且,低分辨率显示 ―― 特别是通过复合视频线传输时 ―― 很难看清楚,界面非常模糊。
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能