Sunday 11 July 2010

Integrate intel Matrix Storage SATA driver into Windows XP x64 Edition CD without nLite

[Tools]
- An .ISO Image of Windows XP x64 Edition SP1-SP2.
- intel Matrix Storage Driver (I’m using 64bit_Intel_driver_v8.9.0.1023_WHQL.zip)
- UltraISO or similar programs: To attach files to ISO image.
- Sata Drivers (I've used Intel(R) ICH7R/DH SATA AHCI Controller: Netbook acer Aspire One 532h).
- CD-RW (If burning fails).
- WinRAR or similar programs: To extract the content of CAB files.
- cabpck14.zip : CAB Files compressor (You can find it easily using google).

[Method]
Step 1: Modifying SIF files from AMD64 folder of the image (mount the Iso file, and copy the SIF files to the work area).

Before editing the next file, we will need some information about downloaded drivers.
This information comes into TXTSETUP.OEM, located into drivers folder, some lines are like this:

; iaAHCI.inf
[HardwareIds.scsi.iaAHCI_ESB2]
id = "PCI\VEN_8086&DEV_2681&CC_0106","iaStor"
[HardwareIds.scsi.iaAHCI_7RDH]
id = "PCI\VEN_8086&DEV_27C1&CC_0106","iaStor"
[HardwareIds.scsi.iaAHCI_7MMDH]
id = "PCI\VEN_8086&DEV_27C5&CC_0106","iaStor"
[HardwareIds.scsi.iaAHCI_8RDHDO]
id = "PCI\VEN_8086&DEV_2821&CC_0106","iaStor"
[HardwareIds.scsi.iaAHCI_8MEM]
id = "PCI\VEN_8086&DEV_2829&CC_0106","iaStor"
[HardwareIds.scsi.iaAHCI_9RDODH]
id = "PCI\VEN_8086&DEV_2922&CC_0106","iaStor"
[HardwareIds.scsi.iaAHCI_9MEM]
id = "PCI\VEN_8086&DEV_2929&CC_0106","iaStor"
[HardwareIds.scsi.iaAHCI_10DDO]
id = "PCI\VEN_8086&DEV_3A02&CC_0106","iaStor"
[HardwareIds.scsi.iaAHCI_10R]
id = "PCI\VEN_8086&DEV_3A22&CC_0106","iaStor"
[HardwareIds.scsi.iaAHCI_PCHM]
id = "PCI\VEN_8086&DEV_3B29&CC_0106","iaStor"
[HardwareIds.scsi.iaAHCI_PCHM_1]
id = "PCI\VEN_8086&DEV_3B2F&CC_0106","iaStor"
[HardwareIds.scsi.iaAHCI_PCH]
id = "PCI\VEN_8086&DEV_3B22&CC_0106","iaStor"

; iaStor.inf
[HardwareIds.scsi.iaStor_ESB2]
id = "PCI\VEN_8086&DEV_2682&CC_0104","iaStor"
[HardwareIds.scsi.iaStor_7RDH]
id = "PCI\VEN_8086&DEV_27C3&CC_0104","iaStor"
[HardwareIds.scsi.iaStor_7MDH]
id = "PCI\VEN_8086&DEV_27C6&CC_0104","iaStor"
[HardwareIds.scsi.iaStor_8R9R10RDOPCH]
id = "PCI\VEN_8086&DEV_2822&CC_0104","iaStor"
[HardwareIds.scsi.iaStor_8ME9MEPCHM]
id = "PCI\VEN_8086&DEV_282A&CC_0104","iaStor"

Above lines must be written like this:

PCI\VEN_8086&DEV_2681&CC_0106="iaStor"
PCI\VEN_8086&DEV_27C1&CC_0106="iaStor"
PCI\VEN_8086&DEV_27C5&CC_0106="iaStor"
PCI\VEN_8086&DEV_2821&CC_0106="iaStor"
PCI\VEN_8086&DEV_2829&CC_0106="iaStor"
PCI\VEN_8086&DEV_2922&CC_0106="iaStor"
PCI\VEN_8086&DEV_2929&CC_0106="iaStor"
PCI\VEN_8086&DEV_3A02&CC_0106="iaStor"
PCI\VEN_8086&DEV_3A22&CC_0106="iaStor"
PCI\VEN_8086&DEV_3B29&CC_0106="iaStor"
PCI\VEN_8086&DEV_3B2F&CC_0106="iaStor"
PCI\VEN_8086&DEV_3B22&CC_0106="iaStor"
PCI\VEN_8086&DEV_2682&CC_0104="iaStor"
PCI\VEN_8086&DEV_27C3&CC_0104="iaStor"
PCI\VEN_8086&DEV_27C6&CC_0104="iaStor"
PCI\VEN_8086&DEV_2822&CC_0104="iaStor"
PCI\VEN_8086&DEV_282A&CC_0104="iaStor"

- TXTSETUP.SIF this is the second file to edit, it's located into AMD64 folder.

Search for the tag [SourceDisksFiles] line 247 : just under isapnp.sys   = 1,,,,,,3_,4,1,,,1,4

The next lines are added [Drivers filenames], names may vary according to yours, just make a relationship between .cat .inf and .sys
if cat or inf = 1,,,,,,,20,0,0
if sys = 1,,,,,,4_,4,1,,,1,4

Add this line right under isapnp.sys   = 1,,,,,,3_,4,1,,,1,4

iaStor.sys   = 1,,,,,,4_,4,1,,,1,4
iaAHCI.cat   = 1,,,,,,,20,0,0
iaAHCI.inf   = 1,,,,,,,20,0,0
iaStor.cat   = 1,,,,,,,20,0,0
iaStor.inf   = 1,,,,,,,20,0,0

Then search for the tag [HardwareIdsDatabase] line 19815:
Attach the lines that we've modified from TXTSETUP.OEM
I've attached those lines in the line 19974, just under PCI\VEN_9004&DEV_8578 = "aic78xx" like this:

PCI\VEN_9004&DEV_8578 = "aic78xx"

PCI\VEN_8086&DEV_2681&CC_0106="iaStor"
PCI\VEN_8086&DEV_27C1&CC_0106="iaStor"
PCI\VEN_8086&DEV_27C5&CC_0106="iaStor"
PCI\VEN_8086&DEV_2821&CC_0106="iaStor"
PCI\VEN_8086&DEV_2829&CC_0106="iaStor"
PCI\VEN_8086&DEV_2922&CC_0106="iaStor"
PCI\VEN_8086&DEV_2929&CC_0106="iaStor"
PCI\VEN_8086&DEV_3A02&CC_0106="iaStor"
PCI\VEN_8086&DEV_3A22&CC_0106="iaStor"
PCI\VEN_8086&DEV_3B29&CC_0106="iaStor"
PCI\VEN_8086&DEV_3B2F&CC_0106="iaStor"
PCI\VEN_8086&DEV_3B22&CC_0106="iaStor"
PCI\VEN_8086&DEV_2682&CC_0104="iaStor"
PCI\VEN_8086&DEV_27C3&CC_0104="iaStor"
PCI\VEN_8086&DEV_27C6&CC_0104="iaStor"
PCI\VEN_8086&DEV_2822&CC_0104="iaStor"
PCI\VEN_8086&DEV_282A&CC_0104="iaStor"

Then, search for the tag [SCSI.Load] line 20158:
Attach a line just under the label before atapi = atapi.sys,4
Instead iaStor.sys[intel], comes your .sys file like this:

[SCSI.Load]
iaStor = iaStor.sys,4

atapi = atapi.sys,4

Finally, search the tag [SCSI] line 22511:
Attach the next line:
iaStor, is a known variable from the lines above like
PCI\VEN_8086&DEV_2822&CC_0104= "iaStor" so write like this:

[SCSI]
iaStor = "Intel(R) Matrix Storage Manager driver"

Save the file TXTSETUP.SIF with the four parts modified.

Now, we are going to compress our drivers
Open the sell and go to the drivers folder using "cd" command
makecab iaAHCI.cat
makecab iaAHCI.inf
makecab iaStor.cat
makecab iaStor.inf
makecab iaStor.sys
All the files will be compressed with a "_" in the extension

Now we have 7 files (listed below)
Using UltraISO we are going to attach them to the image.

TXTSETUP.SIF : Put this file into AMD64 replace if exists
iaAHCI.ca_ : Put this file into AMD64
iaAHCI.in_ : Put this file into AMD64
iaStor.ca_ : Put this file into AMD64
iaStor.in_ : Put this file into AMD64
iaStor.sy_ : Put this file into AMD64
iaStor.sys : It goes into DRIVER.CAB located into AMD64 folder

NOTE
iaStor.sy_ : Put this file into AMD64
iaStor.sys : It goes into DRIVER.CAB located into AMD64 folder


The file iaStor.sys must be inside DRIVER.CAB
HOW?

- Extract DRIVER.CAB using WinRAR or similar programs to folder DRIVER.
- Put the iaStor.sys file into "DRIVER" folder.
- Using cabpck14.zip we are going to rebuild DRIVER.cab
- Open cabpck14.zip, then run CABPACK.EXE
  source dir: The folder contain unpacked DRIVER.CAB files.
  destination dir: the path of destination of the new "DRIVER.CAB"
  compressionType: LZX
  CabinetNameTemplate: "DRIVER.CAB"
  Press OK button and a new DRIVER.CAB will be created in the path that we've choosen.
- Once finshed, Using WinISO or similar programs, we must replace DRIVER.CAB
  inside AMD64 folder of the ISO image.
- Save the ISO image and burn using a CDRW.

Activate AHCI mode into the bios and the next time for XP installation,
our SATA Hard Drives or SCSI will be recognized without problem (Tested on Netbook acer Aspire One 532h).

Note:
When Windows XP x64 installer on Installing Device Driver state, it will confirm that this driver is not digitally signed, just simply click “Yes” button, next will be asked for the place of file iaStor.sys, just click “Browse” button, select AMD64 folder on CD, then choose iaStor.sy_ so the installer will continue installing intel SATA device driver.

No comments:

Post a Comment