SATA RIDE SCSI驱动的集成( 二 )


PCIVEN_1095&DEV_3512&SUBSYS_35121095 = Si3112
PCIVEN_1095&DEV_3512&SUBSYS_01661028 = Si3112



提示:不同SATA驱动程序的代码内容各不相同 , 应该根据具体情况灵活处理 。
检查拷贝修改的内容是否与原有的内容重复 , 如果有 , 则把重复的一行删除 。


接着在“txtsetup.sif”文件查找“[SCSI.load]”和“[SCSI]”字段

添加如下内容:

[SCSI.load]
si3112 = si3112.sys,4
[SCSI]
si3112 = Silicon Image SiI 3112 SATALink Controller

至此 , 我们就把自己的SATA驱动程序的相关信息添加到了Windows XP安装信息文件“txtsetup.sif”中了!

上述添加自定义SATA信息内容的步骤看似很复杂 , 其实也就是同时打开Windows XP安装文件目录中的“txtsetup.sif”
文件和驱动程序目录中的“.inf”或“.oem”信息文件 , 然后将后者文件中相关字段下面的内容一一对应地移植到“txtsetup.sif”文件中
知道了方法 , 做起来就要容易些了!

修改“winnt.sif”文件内容
现在 , 我们已经完成了两个最重要的步骤:
一是获取了SATA驱动程序文件 , 它们现在被保存在“D:STATDRV”文件夹中;
二是修改了Windows XP安装时自动加载驱动程序的信息文件“txtsetup.sif” 。
但现在有一个新的问题:
Windows XP在安装时如何知道它所需要的驱动程序文件在哪个目录下呢?
这个问题则需要通过修改“winnt.sif” 这个文件来解决 。
这个文件是Windows XP系统在安装时的附加信息文件 ,
可以在其中指定非微软提供的第三方驱动程序的安装路径 。

对于本例 , 在“D:XPSTATI386”文件夹中用记事本创建一个文本文件
写好内容后 , 再将文件名改为“winnt.sif”即可 。
在用记事本保存文件时 , 一定要输入完整的文件名 , 并且一定要用半角的双引号将文件名引起来 , 如“winnt.sif” ,
否则实际上生成的实际上仍然是个文本文件(Winnt.sif.txt)
这将导致安装过程中出错 , STAT驱动程序无法自动加载!

在“winnt.sif”文件中添加以下内容
(如果已经存在部分内容 , 则应进行修改或添加 , 且保证每行的内容不要重复):

[Unattended]
OemPreinstall=Yes
OemPnPDriversPath=STATDRV

上述代码最后一句引号中的内容是指随后生成光盘时 , 驱动程序相对于光盘根目录所在的相对路径 。由于我们打算把保存驱动程序的“D:STATDRV”文件夹放到新生成的安装光盘的根目录 , 因此不必包含任何子目录路径,这个步骤我在汇总里面已经介绍

将SATA驱动压缩到安装文件中
使用支持CAB文件格式的工具(如WinRAR等)
将驱动程序目录中扩展名为SYS的文件添加到WindXP安装目录的CAB文件中
这里我们可以使用Windows XP本身附带的一个命令行工具“makecab.exe”
它位于“C:WINDOWSSystem32”目录下
由于“System32”是默认的搜索路径 , 因此使用时不需要程序所在的路径
在开始菜单中打开“运行”对话框
输入如下命令:

“MAKECAB D:STATDRVSI3112.SYS D:XP-STATi386SI3112.SY_”


具体的驱动程序文件名和保存路径请根据实际情况灵活更改 。

推荐阅读