Linux 助力 Nokia 770(3)

770 的安装并不能决定它究竟是一个嵌入式系统还是一个功能完整的桌面 Linux。早期的版本提供了一个系统影像,其中所安装的文件都不受包管理系统的控制;在我曾经见过的版本中,包管理器提供了 900 多个包,其中有些可选,有些不可选,如清单 2 所示。
清单 2. 一个很长列表的开头
# dpkg -l
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name           Version        Description
+++-==============-==============-============================================
ii  adduser        3.51           Add and remove users and groups
ii  apt            0.6.42.3osso13 Advanced front-end for dpkg
ii  archtunjo      0.0.8-4        the D-BUS wrapper for games
ii  autoipd        0.9.6-1osso9   Autoipd from Howl
ii  base-files     3.1.osso2      Debian base system miscellaneous files
ii  base-passwd    3.5.7.osso1    Debian base system master password and group
ii  bluez-utils    2.25-cvs200605 Bluetooth tools and daemons
这为更加灵活的安装提供了基础,有时您可能会希望腾出一些空间来安装其他文件 —— 倒不是因为系统可能很快就没有空间了。在可移动设备上使用的一些大文件大都保存在可移走的卡上,而不是放在主存上。
一般来说,我们需要删除一些不太有用的程序或脚本;举例来说,glibc.sh 脚本负责警告 AMD64 系统上 glibc 的兼容性要求,在 770 上它显然就是不必要的(它实际上多少涉及到了 ARM 系统;它们需要内核版本 2.4 或之后的版本。我所见过的版本中的 2.6.16 内核可能就可以)。另外,我所见过的每个系统都有一些这种东西;在实践中,想方设法将这些没用的东西删除掉可能很麻烦,不太值得。
开发
770 的软件开发环境比较新,不过 770 的最终用户却看不到,因为这些开发工具并不会真正加载到 770 设备上,而是在一个工作站或 PC 上运行。大约 3 年前,我为 Sharp Zaurus 编写了一些交叉编译方面的东西(请参阅 参考资料 中的链接)。这个过程非常棘手。770 使用了一个新的交叉编译环境,名为 Scratchbox,由 Nokia 主导开发。这个工具中有很多改进,它提供了一个环境,目标系统上的二进制文件在交叉开发过程中就能在这个环境上运行(以仿真模式)。其最终结果是所有用于解决那些编写得很差的可移植性测试的麻烦和混乱都消失了;您获得的是主机系统的性能(包括编译器工具链的本地执行)和目标系统的行为能力。
尽管这些工具仍然处于早期的开发阶段中,但它们已经比较稳定,功能也比较强大,且在积极地维护之中。为各种其他系统开发工具的道路可能还很长。另外,一个很好的交叉编译环境,并已消除了较传统用法的一些弊端,可以帮助减少由于机器没有太多内存和 CPU 来进行大型的软件编译所带来的不便。
必须要进行的比较
从 770 可以看出它吸取了 Zaurus 中的很多经验和教训。在前面我曾经提到过缺少物理键盘,但是这却吸引了很多外部的开发努力。更加微妙的一个改进是可用内存的数量;尽管与以前的设备相比, 770 的内存更多,但是它也很容易就能将内存消耗殆尽。即使只多一点内存,也会大有帮助。另一方面,全屏视频回放也不能不提,能够提供此功能的设备会给人印象深刻。
770 并不像有些 PDA 设备那样有一些扩展选项(使用 CompactFlash 和 Secure Digital 卡插槽)。它唯一的扩展槽使用了一种简化型的 SD 卡,无疑它非常适合这种非常拥挤的设备。另一方面,很少有 PDA 设备可以配置成作为 USB 主机设备来工作;如果您愿意花一些时间和精力,770 甚至可以使用 USB 硬盘。
由于 770 是一个手持设备,因此人们不免会拿它与各种掌上型设备进行比较。770 并不是一个 PDA。它是一个 Internet 小部件。770 中所提供的 Opera Web 浏览器是一般的手持设备所不具有的。770 并没有用户对于 PDA 所期望的那种 PIM 应用程序,不过,很多以 PDA 为目标而设计的设备也都纷纷用于其他应用程序了,例如 Web 和 e-mail 的访问。在很多情况下,对比这类设备而言,770 的表现非常优秀,不过如果能够更好地支持键盘 —— 举例来说,支持传统 IR 键盘 —— 就再好不过了。
Nokia 在增强 770 对爱好者和玩家的友好性方面进行了很多努力,不过默认的安装并没有包含任何 shell;这与 Zaurus 有很大的不同。呈现在用户面前的更像是一个简化的 Internet kiosk 终端,而不像是一个桌面工作站。与 TiVo 类似,要有效地利用 770 的基本特性并不需要我们必须了解或关心自己是在运行 Linux 系统。但是与 TiVo不同的是,770 欢迎用户利用 Linux 来添加自己的特性。
770 的发展目标
在为撰写这篇文章而进行调研时,我阅读了大量有关 770 的评论,我的感觉是很多人都不清楚 770 到底是什么。人人都宣称希望有一个基于 tablet 的 Web 浏览器,但是很多人并不清楚自己究竟要用它来干什么。
770 提供了无线和蓝牙访问能力,这使得它作为一个在 Web 上查找内容的设备来说非常引人瞩目。它还很有潜力可用来开发定制应用程序;举例来说,它可以成为一个优秀的无线网络嗅探器。
尽管 770 的目标还不甚明确,但是 Nokia 对此已经进行了大量的研究工作;他们开发了一整套新的交叉编译架构,这在 770 上得到了广泛的应用。对开发人员友好的环境好像是把许多黑客也带了进来,不过开发人员所提供的反馈和补丁必然有助于这个开发环境的不断改进。即使它不会直接取得很大的成功,770 对于嵌入式 Linux 开发领域的贡献也相当大,最终会使今后基于 Linux 的设备更好,价格也会更便宜。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/0c00e7ffefcabaf48696f4972bd69538.html