« 七月 2008
星期日星期一星期二星期三星期四星期五星期六
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
  
       
今天

Blog::Navigation

Blog::Editing

Bookmarks::Blogroll

Blog::Referers

Site notes

This page validates as XHTML 1.0, and will look much better in a browser that supports web standards, but it is accessible to any browser or Internet device. It was created using techniques detailed at glish.com/css/.

Powered by Roller Weblogger.
« Sun Device Detection... | Main | Sun Device Detection... »
星期四 三月 13, 2008

Sun Device Detection Tool 之路(1)

几年前,HCL(Hardware Compatibility Lists)team的工程师在进行Solaris OS兼容性测试的工作时,接触到了各种各样的x86/x64系统,包括笔记本、台式机、工作站和服务器。它们的生产厂商有Dell, IBM, HP, Sony, Toshiaba, Acer等。 HCL team的工程师由于安装并测试了大量x86/x64系统,积累了丰富的知识和经验。因此,到了后来,几乎做到了通过读取一个新系统的的芯片信息,就可以 预言它能否成功安装Solaris OS。实际上,是工程师们在头脑中建立了一个从硬件设备对应到Solaris驱动的小数据库。

在这种情况下,一个想法被提了出来:我们能不能开发一个工具来帮我们在做预言兼容性这件事?这样不仅对HCL team自己的工作有帮助,而且可以向外界分享我们的经验并帮助他人做同样的工作。这个提议立刻收到了全组成员的一致拥护。

在最初讨论时,通过头脑风暴,大家认为最佳的解决方案是在Sun的官方网站上提供一个链接,用户只需点击这个链接,就可以知道他们的硬件是否被Solaris OS支持。但是由于当时工程师们不知道如何去实现这一方案,就选择了一个次优方案:我们提供一个iso文件,用户刻成CD盘后用这个CD引导系统启动,然 后得到一个关于他们的硬件设备有否Solaris驱动程序的报告。

于是,HCL team的工程师通过定制Solaris安装CD制作了一张Live CD。这个最初的原型证明了次优方案的可行性,但是这个Live CD超过了500M。这样的大小对于用户而言简直就是不可接受的。

在Solaris 10 1/06发布之后,事情出现了转机。Grub和miniroot的引入使得这个版本的Solaris OS更易于定制。这样Live CD被减至约50M。这已经是一个可接受的大小了。

至此,我们发布了Solaris Operating System for x86 Installation Check Tool 1.0. 在它发布后一个月内,就有300多个用户下载并使用了该工具。

Installation Check Tool虽然实现了我们期望的功能,但是毕竟它需要用户先下载一个几十兆的iso文件,刻制CD盘,然后再用这张CD盘重启系统。不仅需要较长的时间,而 且要求额外的资源(CD刻录机),相对于点击网页链接即运行的方案还是存在诸多不便之处。

随着新的工程师的加入,一个采用Java Web Start技术的方案被提出和采纳。这一解决方案和最初的最优方案完全吻合。经过整合Installation Check Tool的部分代码,以及早先开发的运行在Window和LInux平台上的原型工具,我们做出了Sun Device Detection Tool的第一版原型。

在原型的基础上,在全组成员的通力合作之下,Sun Device Detection Tool 1.0在2006年10月26日发布了。作为初始版本,它还相当简单粗陋,在Solaris,Windows及Linux系统 上运行时,1.0版是通过运行下列系统命令并解析其输出来获得该系统上的设备信息的。

OS
System Command
Utility
Solaris OS
prtconf -pv prtconf
Windows OS reg query hklm\system\currentcontrolset\enum\pci /s register.exe
Linux OS
lspci -vv -n PCIUtilities

这就导致了Sun Device Detection Tool 1.0对各系统系统命令的依赖。如果提供命令的程序(utility)出现问题,则本工具就不能提供正确结果。特别是,PCIUtilities并非所有Linux发行版默认安装的工具,所以,对于这些发行版的用户而言,他们必须先安 装PCIUtilities才能使用本工具。

还有,Sun Device Detection Tool 1.0只提供了一个单一的针对Solaris 10 6/06的驱动信息数据库。用户使用1.0只能得到Solaris 10 6/06对自己设备的支持状况。

尽管有着种种局限性,Sun Device Detection Tool 1.0在发布后的第一个月里就获得了超过了3000的下载量,它的support alias也收到了大量的用户 反馈,其中包括许多对本工具后来的发展影响很大的好建议。全体开发和测试人员因此而大受鼓舞。

评论:

发表一条评论:
  • HTML语法: 禁用
Copyright (C) 2003, Sun Device Detection Tool