基于 Linux® 的 Nokia 770 Internet tablet 对于 Linux 爱好者来说是一个迷人的东西。尽管它没有人们对掌上电脑所期望的大部分个人信息管理(PIM)程序,但是它在开发环境方面的一些新优点使它极受这些爱好者及专业嵌入式开发人员的垂青。
Nokia 770 的上市在 Linux 业界引起了一片喝彩之声。770 与之前的 Zaurus 不同,也和 Pocket PC 或 Palm 系统有很大区别,它并没有提供个人信息管理(PIM)功能;实际上,它并不能直接提供一般 PDA 所需要具备的特性。相反,它更像是一个提供诸如 Web 浏览器和 e-mail 客户机之类的应用程序的 “Internet tablet”。
Nokia 最近为 770 软件发布了一个更新包,它对于那些希望研究这个设备的用户来说更加友好。在之前的版本中,用户需要进入研发(R&D)模式才能获得 root 的访问权限。版本 1.05 使这个问题更容易得到解决。
Nokia 770 有两个存储设备可以使用,一个是内部的 flash 设备(被格式化为 JFFS2 文件系统),另外是一个插进来的卡(被格式化为 FAT 文件系统)。770 的连接方式非常有趣。在通过 USB 进行连接时,这个设备的默认行为是作为一个大容量存储设备使用。770 的内部存储不会通过这种方式来公开;相反,插进来的卡是作为一个通用 USB 存储设备给上游计算机使用的,这样可以简单地传输文件。当 770 以这种方式通过 USB 进行连接时,这块卡就会从 770 上卸载,这是为了防止出现数据崩溃的情况。这种方式能够很好地提供对设备上文件的访问。
在很大程度上,设备并不需要很多手工配置工作;它可以连接到蓝牙电话或无线网络上,这种连接可以自动实现也可以在用户进行少量干预下实现。基于 Linux 的系统在自动网络配置技术方面的发展十分显著。
 |
对 USB 键盘的支持
Nokia 770 可以非常好地支持 USB 键盘,因为它基本上就是一个硬件 hack。问题在于物理设备;770 的 USB 硬件有一个下游设备所常用的那种插孔,它所连接的芯片只有在加上 5 伏电压时才会激活 —— 如果该设备作为一个下游机器使用,出现这种情况还算正常。这里还有一个软件问题:这台机器必须要配置成 USB 主机模式,而不能是 USB 设备模式。这可能会造成 flasher 工具出现一点混乱。奇怪的是,尽管 Nokia 的页面主要都是根据 Windows® 下载方式来构建的,flasher 工具却只能用于 Mac OS X 和 Linux。
不过,作为一名软件开发人员,我感觉 770 最迷人的地方是它开发了一个为 USB 线增加 5 伏电压的电路。在后面 参考资料 一节中给出了有关这些内容的链接。 | |
安装概述
770 的安装与类似设备一样,都是围绕 BusyBox 而构建起来的。启动脚本都是相当标准的 Debian 脚本,带有完整的 README 文件。有趣的部分是用户界面和开发工具,与相当原始的 Zaurus 环境相比,它有相当明显的改进。通过 maemo.org 页面为开发人员提供的支持也相当全面(请参阅 参考资料 中的链接)。
与我之前见过的基于 Linux 的设备相比,770 的不同之处在于:对开发人员的支持更加有效,也更加深入。770 并没有很好地解决其中的所有问题(还好 Web 浏览是个例外)。然而,Nokia 似乎更想把社区开发的潜能作为这台机器的主要优点之一。开发工具也更偏重于一般的爱好者,而不仅仅是专业开发人员。用来加载新 ROM 镜像和设置特殊设备标志(例如 R&D 模式)的工具也可以通过下载获得了。
这种特性引发了大量有趣的开发项目。举例来说,与大部分 tablet 或 PDA 设备一样,770 在文本输入方面具有很大的缺陷:即使您喜欢键盘或手写识别,它也会占据屏幕上很大的地方,这对于一个只有 4 英寸屏幕的设备来说未免代价太高。现在,已经可以在 770 上使用蓝牙或 USB 键盘;情况好多了(更多信息请参阅 侧栏)。
获得访问权限
在 770 的早期版本中,用户必须要使用 flasher 工具将这个设备切换成 R&D 模式,然后运行 gainroot 脚本。这个脚本如清单 1 所示,它本身就非常有趣。
清单 1. gainroot 脚本
#!/bin/sh -e
trap exit SIGHUP SIGINT SIGTERM
PATH=/bin:/usr/bin:/sbin:/usr/sbin
MODE=`/usr/sbin/chroot /mnt/initfs cal-tool --get-rd-mode`
if [ x$MODE = xenabled ]
then
echo "Root shell enabled"
/bin/sh
else
echo "Enable RD mode if you want to break your device"
fi
|
默认的 sudoers 文件允许任何人通过 sudo 命令来运行这个脚本;如果您的 770 现在就处于 R&D 模式,您就会获得一个 shell;否则,您会看到一条幽默的警告信息。
在最新的版本中提供了一个更加简单的选择:可以以 root 用户的身份使用 ssh 登录到系统中。这需要下载一个第三方的 dropbear 包,然后以 root 用户的身份使用 ssh 登录系统,其密码为 rootme。这个允许 root 登录的默认密码随处可见,未免太过简单直接;如果您安装了 ssh 服务器,请务必修改自己的 root 密码。您没有修改?真的么?那就请修改一下吧。一种常见的解决方案是设置用户的密码,配置 /etc/sudoers,然后运行 passwd -l root 彻底禁止 root 登录。
我们之所以要离题介绍这些内容,是为了说明:尽管有些供应商可以提供 Linux 的一些最小子集,并严加保护;Nokia 现在提供给我们也还不过是个编译器。就目前而言,这个设备对于大部分人来说还不是个大众的消费品;目前它只是个 “玩具盒” 而已。有关怎么样找到一个适合在如此小的设备上使用的特性完整的 Linux,这里有很多有趣的东西。
如果您对本文有任何疑问或者建议,请到讨论区发表您的意见:
>>
论坛入口 <<
上一页12 3 下一页
上一篇:嵌入式Linux 中的应用中的GTK+ 下一篇:嵌入式程序员应知道的几个基本问题(1)
|