Sharp Zaurus 手持式系统是嵌入式 Linux® 系统的一个先锋,Peter Seebach 认为在一种技术早期出现时就为其贡献自己的力量是个好主意。在这个 Linux 的魅力 系列文章中,Peter 将对 Zaurus SL-5600 进行一下拆解,从而更好地了解一下他的历史。
George Santayana 曾说过,“那些忘记历史的人注定会重复历史”。但是在电脑设计业界中,这个警告似乎并没有受到重视。很多公司通常都会重复同样的错误和教训,并对以前的系统反复进行改进。
当 Sharp Zaurus 首次声明要 “运行 Linux” 时,Linux 社区一时间变得热闹非凡,既有爱好者的欢呼,又充斥了各种谣言。几年以后,现在仍然有一些运行 Linux 的手持设备不断从 Sharp 的工作中吸取灵感和思想,尽管基于 Linux 的 Zaurus 在美国市场上已逐渐退出了。
本月的 Linux 的魅力 文章将来介绍一下 Sharp Zaurus SL-5600。这是第二个零售版本(第一个零售版本是 SL-5500,这是在 SL-5000D 研发版之后的一个版本),本文将介绍一下这个领域中当前努力的根源。
嵌入式 Linux 系统的设计加入了很多方面的考虑;Zaurus 是第一个解决这些考虑的系统。Linux 社区对此的最初反应很狂热,但是这个设备在美国市场上并没有取得 Sharp 所期望的成功。
硬件设计
在设计嵌入式系统时,一个主要的驱动因素是 硬件的功能。Zaurus 使用了手持式电脑很典型的硬件平台:
- CPU 是 400MHz 的 Intel® XScale;Linux 称之为 ARM 处理器,因为 gcc 并没有试图和市场术语紧密吻合。
- 这个系统上安装了 64MB 的闪存和 32MB 的 RAM。5500 上有 32MB 的闪存和 64MB 的 RAM;结果是有些程式能够在 5500 上运行,但是无法在 5600 上运行。
- 另一方面,5600 能够很好地解决由于断电而引起的问题。
- 他有一个 320x240 的屏幕,这是嵌入式 PC 的典型配置。(以后这个模块升级到了 640x480 的屏幕,这看起来已相当舒服了。)
- 他更有 CF(Compact Flash)和 SD(Secure Digital)插槽,能够支持非存储设备,例如 802.11b 无线 CF 卡或以太网适配器。
- Zaurus 和大部分 PDA 相同,也有一些通用键,但是他更有一个很小的隐藏键盘。这个键盘是个真正的卖点;相对于手写识别来说,即使是个很小的家盘也是很大的改进。能够使用键盘,这种特性的确令人惊讶。
5000 和 5500 的硬件设计很类似。后来的模块采用的是蛤壳设计,他提供了更大的键盘,其中屏幕能够翻上来构成一个传统的肖像格式的 PDA 屏幕,他具备一个输入笔 —— 这和现在大部分 tablet PC 所采用的设计相同。
5600 相对于 5500 来说提供了一些改进,但是从 StrongARM 处理器到 XScale 处理器的变化并非十分平滑。新的模块对电池的寿命提供了很大的改进(方法很简单,将电池扩充为 2 倍大小)。
5500 和 5600 之间的区别反映了 PDA 用户为 Sharp 提供的反馈。在大部分情况中,这些变化反映了 PDA 用户的通用考虑。例如,将用户数据存储到 flash 中是个很好的解决方案,假如电池电力不足,PDA 用户就可能会面临同样的丢失数据的风险,这个方案能够很好地解决这个问题。另外,5600 的键盘也比 5500 的键盘更容易使用。
构建 PDA
Linux 研发人员对嵌入式系统的很多假设都不能在 PDA 上工作。PDA 用户希望能够运行新的应用程式、存储数据并以后再使用这些程式和数据。此外,从 3Com 引入第一个 Palm Pilot 以来,PDA 一直都在使用 GUI。9600 波特率的串口终端并不是典型的选择。
桌面 Linux 假设在 PDA 上也都不太适合。大部分 PDA 用户并不喜欢先登录到系统中,然后再显式地启动 X 服务器。另外,320x240 屏幕对于文本终端的用法来说并不足够。虚拟桌面、多个鼠标按钮连同典型桌面的其他特性对于一个具备输入笔的小屏幕来说也并不适合。
Zaurus 使用的是 Qtopia 桌面环境,而不是 X 服务器。您也能够在这种硬件上启动 X 服务器(毕竟,这个机器所拥有的内存和处理器的处理能力比 SPARC 工作站 SLC 所拥有的内存和处理器的处理能力更高),但是小足印和小显示器并不适合 X 工作站的假设。
Zaurus 为 PDA 提供的应用程式只是 PDA 上的一个弱小单元。这还只是很年轻的一组应用程式,功能尚不像 Palm 平台上的应用程式相同完备。
调整 Linux
让 Linux 在 PDA 上工作的一个挑战是确定何时使用普通的 Linux 方法来实现某些功能,何时不使用这些普通的方法。结果不总会像用户所希望的相同。例如,确定何时(或是否)需要密码就是个挑战。大部分用户在 PDA 上都不希望使用密码提示。
Zaurus 从一开始就完全抛弃了安全性方面的考虑。GUI 以 root 用户身份运行,但是即使不以 root 用户身份运行,也无需输入 root 密码, su 命令就能够实现这种功能。
Zaurus 是基于 BusyBox(0.60.4 版本)的。这个最优秀的工具让很多程式能够链接成一个可执行程式;但是这种组织有点奇怪。BusyBox 内嵌了对 gzip 的支持,但是他也单独提供了 zcat 工具。但是这是个很合理的决定,因为这样能够节省相当多的空间。
启动
rc.d 系统被完整地保留了下来,尽管 init 级别的定义和桌面 Linux 系统中的定义可能并不完全相同:
清单 1. SUSE Linux 和 Zaurus 上的运行级别
|
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




