在 PlayStation 3 上进行 Linux 开发(3): 采用小工具来瘦身 X11

http://tech.ddvip.com   2008年06月11日    社区交流

内容摘要:索尼的 PlayStation 3(PS3)能运行 Linux®,但是要运行良好,还需要做些调整。在本 系列 的第三篇文章中,Peter Seebach 介绍了如何为 X11 瘦身,使之能适合更小的内存预算。

  当更改到一个新的 runlevel 时,对 runlevel 文件的更改将被识别。那么对 inittab 的更改呢?要让 init 知道已经更改了 inittab,可以运行 /sbin/init q。q 参数并不是表示一个 runlevel,而是告诉 init 重新装载它的配置文件。(我认为它也许代表查询,但是文档中没有说明。)

  如果不需要常规的后台任务,那么可以关闭 anacron 和 crond;如果不介意硬编码网络设置,那么可以关闭 dhclient。一种特别理想的方法是用 dash 替代 bash(参见 Shell 大小 小节)。您仍然可以进一步压缩内存。除此之外,收回内存的惟一方法是改变 ps3 framebuffer 或 hypervisor 的底层结构,而这并不现实。

  另一方面,从一个在看到提示符之前就已经开始交换内存的系统,到一个有超过 100MB 空闲内存并正在运行两个 shell、一个顶级进程和 sshd 的系统,这是不小的成绩。虽然和有 2GB 甚至更多内存的笔记本电脑相比,这很不起眼,但是,当开发平台只有 100MB 空闲内存时,这种方法可以使很多软件开发变得可行。这足以让很多构建能够完整地驻留在缓冲区缓存中,从而节省大量的时间,更不用说除极端情况以外避免内存交换的能力。

  结束语

  通过这些调整,PS3 成为一个可行的、甚至有些绰绰有余的开发环境。(对于想研究 Cell Broadband Engine 的人来说,它是最容易访问的环境)。它在编译期间仍然可以作出响应,并且编译的速度比过去快很多。虽然对于桌面系统而言它并没有提供很大的内存,但是视频播放器和 Web 浏览器以及电子邮件客户机都可以立即运行,对于开发而言它显然足够了,而且,如果去掉 GNOME 和 KDE 的开销,它甚至可以管理一些桌面任务。PS3 固件的未来升级很可能将提供一些改进,例如新的内核版本或驱动程序。您只需要明白自己需要哪些系统功能,然后禁用当前没有使用的特性。

来源:ibm    作者:Peter Seebach    责编:豆豆技术应用

正在加载评论...