手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网站运营>建站经验>列表

Zaurus 引领嵌入式 Linux

来源:互联网 作者:west263.com 时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

在这两个系统上缺省的 init 级别都是 5,但是其意义却是不同的。实际上,在 Zaurus 上,级别 3、4 和 5 从我的眼光来开并没有什么不同。有意思的是,/etc/inetd.conf 把其他系统服务都禁用了,只剩下要启动 inetd。在早期的版本中,情况更为糟糕:他启动了一个 ftp 服务器,在一个不太常见的端口上进行监听。当然,这并无需 root 的密码,因此能够看作是个安全漏洞。

然而,inittab/rc.d 子系统并没有干太多事情;系统启动 GUI,然后 GUI 能够执行实际的工作。

和文本终端的 Linux 系统不同,Zaurus 会显示一些消息保速用户耐心等待。需要使用 2 分钟来引导,这在 PDA 上有些太长而不好接受了。 这和 Palm PDA 相比这样很难接受,我自己的 Palm PDA 重新启动需要大约 10 秒钟。

rc.d 目录中包含了几个常见的启动脚本,这些脚本的名字都是顾名思义的:


清单 2. rc5.d 目录中的文档



            $ ls rc5.d

            S04sd      S06pcmcia  S15inet    S23portmap S41atd     S48usb     _S02syslog

            

sd 和 pcmcia 脚本分别为 SD 和 CF 插槽提供了接口。(CF 插槽大部分就是小一点的 PCMCIA 插槽。)syslog 脚本运行的时机相当早,并且会循环使用日志文档。

假如您只看这个目录中的内容,可能就会忽略了 inittab 中的一些配置,他们能够完成了一点系统初始化的工作:


清单 3. ininttab 项



            si::sysinit:/etc/rc.d/rc.sysinit

            s0:24:respawn:/sbin/getty 9600 ttyS0

            pd:3:respawn:/etc/sync/serialctl

            # Specify program to run on tty1

            1:2:respawn:/sbin/getty 9600 tty1

            ln:345:respawn:survive -l 6 /sbin/launch

            #qt:5:respawn:/sbin/qt

            # collie sp.

            sy::respawn:/sbin/shsync

            

在缺省的运行级别 5 中,有些是不会运行的 —— 但是看一下选项都有哪些是很有趣的。launch 程式会解释有关文档系统布局的内容。launch 程式从一个配置文档(根据字符串)开始运行,这个文档是 /usr/sharp/etc/launch.conf;/usr/sharp 是个指向 /home/sharp 的链接 —— 当然,这是由于您能够修改东西的地方就只能是在 /home 中。

文档系统布局

Zaurus 上的文档系统有点奇怪。CF 卡会被自动挂载到 /mnt/usr.rom/cf 上,而 SD/MMC 卡则会被自动挂载到 /mnt/usr.rom/sd 上。令人惊讶的是,/etc 是个到 /home/etc 的链接。只有在您意识到备份只需要备份 /home 目录就能够时,这才显得很有意义;这样 /etc 也就备份了。

/ 和 /home 文档系统都被存储到闪存上,他被划分成了两个分区。/ 文档系统几乎都已满了,这对于扩展软件是个限制 —— 但是有很多文档都无需放到这儿。

根文档系统有一些魔力;其中包含的文档所占用的空间要比根文档系统本身的空间更大!这是通过使用 JFFS2(Journaling Flash File System version 2)实现的,他会对所存储的数据进行压缩;这 21,544 个存储块能够容纳大约 60,000 个文档块。

似乎删除一些文档能够释放一些空间。例如 bash。bash 包含了很多东西,但是他并没有节省空间的模式;一个 548KB 程式对于很拥挤的根文档系统来说并不是什么好事。

更为有趣的是,/root 目录中包含了一些关键的 tar 文档,在恢复系统时需要使用这些文档。这些 tar 文档都没有进行压缩;对这些文档进行压缩就能够释放一些空间(但是能节省的空间并没有您想象的那样多,因为 JFFS2 会自动对这些文档进行压缩。)

帐号管理

和那些完全忽略帐号、全部使用 root 用户身份运行程式的系统不同,Zaurus 系统则会以 root 用户身份运行一部分程式(包括 GUI 本身),而以另外一个用户 zaurus 的身份来运行大部分程式。当然,在不为 root 用户使用密码时,这样做能够确保影响最小。

Zaurus 上并不能真正支持用户的登录和登出;您不能指定自己希望使用哪个用户的身份来运行程式。当然,在 PDA 上并没有太多理由来这样做。另外,能将 user/admin 分离开来是个不错的想法,在实际的 Linux 机器上就是这样使用的,这样 Zaurus 就能够运行服务了。假如您觉得这听起来似乎没什么用处,那么显然是没有这样的经历:把 PDA 忘在家里了,他碰巧正在插着电源,而您却没有办法能够获得自己的地址本。假如他运行了一个 ssh 服务器就好了!

添加用户的功能并不支持,有些用户报告说在使用过程中出现文档系统崩溃的情况;例如,在运行 adduser 程式时,将 root 任何的文档配置成新用户任何。

结束语和展望

早期的 Zaurus 暗中有一些尚未完成的特性;有很多问题需要修正,这需要更多的研发时间,或需要对设计权衡进行更多讨论。

尽管 Sharp 对于修正 ROM 的研发是有限的,但是有一些第三方的公司已研发了很多插入式替换方案。其中的一个项目是 Opie(Open Palmtop Integrated Environment;请参阅 参考资料),他能够支持其他非 Zaurus 硬件(例如 HP iPaq 手持设备)已有很长时间了。

在下一篇 Linux 的魅力 的文章中,我们将更周详地了解 Opie 现在已发展到了什么程度(以 Familiar 项目的形式;请参阅 参考资料)。这个项目中已开展的研发工作从用户使用 Zaurus 这种旧系统的经验中汲取了很多灵感。这是 Linux 所实现的最好功能;他提供了一个开放的环境,人们能够从中学习经验,而不用从头开始闭门造车。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!