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/.
Sun Device Detection Tool 之路(2)
在良好开端的鼓励之下,为了方便没有网络连接的用户,也是为了当时新发布的Solaris Express Developer Edition 服务,Sun Device Detection Tool在通过官方网站发布的网络版之外,又派生了一个单机版。该版本被集成到Solaris Express Developer Edition的安装DVD里,提供的也是针对Solaris Express Developer Edition的数据库(数据库和程序一样被集成在DVD里)。用户可以在没有任何网络连接的情况下使用单机版。
此后,开发测试人员继续改善这一工具,使它具有更好的可靠性以及提供更多的功能。在1.0之后,Sun Device Detection
Tool 1.1, 1.2, 和2.0版本被相继发布。
在Sun Device Detection Tool 1.1中,提供了针对多个Solaris OS版本的数据库(Solaris 10 11/06 和 Solaris Express Developer
Edition 2/07)。从那以后,各版本的Sun Device Detection Tool都保持提供针对最新版的Solaris 10
和Solaris Express Developer Edition的数据库。
在Sun Device Detection Tool 1.2中开发的一个全新功能是HCL提交选项,使用此项功能,用户可以将自己的Solaris正式发行版的系
统信息提交给HCL team,经过HCL的工程师评审后,如果符合HCL规范,则该系统将作为与Solaris OS兼容的系统被列入到HCL中。
鉴于1.0对于系统命令依赖的局限,在Sun Device Detection Tool 2.0中我们开发自己的程序,通过各系统提供的接口直接读取设备数据(具体实现如下)。
| OS类型 |
接口 |
解决方法 |
| Solaris |
libdevinfo | 在prom tree中查询PCI节点,并从节点中读取设备数据 |
| Windows |
Win32 API | 通过Win32 API从注册表中读取设备数据 |
| Linux |
/proc/bus/pci | 扫描/proc/bus/pci文件,并从中读取设备数据 |
这样,Sun Device Detection
Tool探测用户设备的时候,不再依赖于用户系统的系统命令,使得本工具的可靠性大幅度提高。同时也扩展的Sun Device Detection
Tool的支持平台,使得它在所有2.6内核的Linux系统和主要的Windows系统上都可以运行。
当然,之前的通过解析系统命令输出获得设备数据的功能也没有被废弃,而是作为一个全新的导入设备数据文件的功能开放给了用户。这样也方便了那些由于没有网络连接无法使
用Sun Device Detection Tool,或者希望判断远程徐同中设备与Solaris OS兼容性的用户。他们可以先在需要探测的Solaris,
Windows或Linux系统上运行相应的命令生成一个保存了其输出的文件。然后把这个文件拷贝到有网络连接的机器上,作为设备数据文件导入给Sun
Device Detection Tool,以获得该系统设备的报告。
目前,Sun Device Detection Tool
2.1正在开发过程中,并将于今年四月中下旬发布。2.1在以上诸多功能的基础之上,扩展了设备探测功能,使得它可以在Mac OS X上运行。在最后生成的Solaris驱动可用性报告中,除了
现在已有的项目,用户还可以通过提示工具(ToolTip)直接浏览设备数据信息。另外,用户在Windows和Linux系统上也将可以使用HCL提交选项把他们的系统信息发送给Sun。虽然他们的系统不能直接被列入
HCL,但是他们提供的诸多硬件和系统配置的信息,将为Solaris驱动和系统开发提供指导。
还有一点需要指出的是,早在Sun Device Detection Tool
1.0发布不久,开发工程师就曾经考虑将其作为一个开源项目,发布源代码。现在2.0的源代码已经在OpenSolaris.org上发布。在开源项目
中,表示公司名称的"Sun"被移除,本工具的开源名称为Device Detection Tool,欢迎访问Device Detection Tool开源主页,并参与到该项目中
来。
Posted at 04:09下午 三月 13, 2008 by Sun Device Detection Tool in General | 评论[0]
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 |
Posted at 03:52下午 三月 13, 2008 by Sun Device Detection Tool in General | 评论[0]
Sun Device Detection Tool 的工作原理
从某种意义上讲,Sun Device Detection Tool是一个“预言”工具。
现在你的计算机上安装的可能是Window或者Linux系统,但是只要运行一下Sun Device Detection Tool,它就可以告诉你,当前你的机器上的这些设备在安装了某个Solaris OS版本之后是否仍然能够工作。
它是怎样做出预言的?其实原理很简单,具体步骤如下:
1. Sun Device Detection Tool首先探测你的系统都安装了哪些设备,以及它们的设备数据(包括生产厂商ID,设备ID,类型码等)是什么。
Sun Device
Detection
Tool在Solaris,Windows和Linux平台上都可以运行,它通过各平台提供的系统接口收集设备信息,具体应用到的接口如下:
| OS类型 |
接口 |
解决方法 |
| Solaris |
libdevinfo | 在prom tree中查询PCI节点,并从节点中读取设备数据 |
| Windows |
Win32 API | 通过Win32 API从注册表中读取设备数据 |
| Linux |
/proc/bus/pci | 扫描/proc/bus/pci文件,并从中读取设备数据 |
2. 网络版Sun Device Detection Tool从Sun的服务器上下载一个由Sun内部工程师创建并维护的Solaris驱动程序数据库。如果是单机版,则直接从自身所在的DVD光盘中读取该数据库。
然后本工具在该数据库中搜索这些探测到的设备数据,看能否找到对应各设备的Solaris驱动。如果能,则说明该
设备为Solaris OS所支持,反之,则不支持。同时,根据ID在数据库中查找各个设备的厂商名、设备名等。
Posted at 01:36下午 三月 13, 2008 by Sun Device Detection Tool in General | 评论[0]
让你的计算机系统出现在Solaris硬件兼容性列表里
Solaris 操作系统硬件兼容性列表 (Hardware Compatibility Lists, HCL) 列举了和Solaris OS 兼容的计算机系统及设备。想不想让你的系统也位列其中?如果答案是肯定的,那么Sun Device Detection Tool 2.0 所提供的HCL提交选项(HCL Submission Option)可以帮你。
目前这一功能仅可在下列x86/x64平台上使用:
具体实现步骤如下:
1. 运行Sun Device Detection Tool,然后选择File菜单中的Submit...项,如下的联系信息窗口将出现:
输入姓名和邮件地址后,点击Next按钮。
2. 系统信息窗口显示如下:
选择系统类型,Sun Device Detection Tool会自动探测系统生产厂商,模式,CPU类型,和BIOS/Fireware制造者。如果任何没有列举的补充信息需要提交,则请填写到General Notes一栏。之后点击Next按钮。
3. 总结窗口出现。
其中没有需要用户填写和选择的项目,本窗口中显示了所有用户填写和系统自动探测到,要提交给Sun的数据,用户审阅确认后和可直接点击Next按钮。
4. 网络代理信息窗口出现。
正确选择网络连接方式,填写代理信息后,点击Next按钮提交报告。
至此,你的系统信息被提交给了Sun公司的HCL team,经过HCL工程是评审后,如果提交的系统信息符合HCL规范,则此报告将被公布在HCL网站上。
Posted at 11:17上午 三月 13, 2008 by Sun Device Detection Tool in General | 评论[0]