[Tutorial] Integração de drivers SCSI/AHCI/RAID sem o nLite

Started by ptnapivoski, 29 de December , 2009, 12:32:27 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

ptnapivoski

Olá amigos...

Este tutorial é resultado de uma batalha entre mim e um notebook HP Pavilion dv5-1220br que possui um leitor de CD/DVD SATA e só roda em AHCI... Então, já sentiram o drama...

Pelo leitor ser assim ele sequer rodava o boot de instalação do XP corretamente...

Era necessária a integração do driver AHCI em txtsetup para que ele pudesse ler corretamente o conteúdo do CD de instalação...

Usei o nLite... Resolveu... Mas então eu notei coisas que o nLite colocava no sistema sem meu consentimento... Coisas que, a meu ver, eram inúteis...

Foram várias tentativas, erros, meios-acertos, meios-erros, para chegar até isso... E, ainda assim, gostaria que fosse mais limpo...

Vamos lá então... Para que não fique muito extenso, não vou explicar para que cada coisa funciona... É possível que seja auto-explicativo...

Usei 7-zip, melhor gerenciador de arquivos compactados que eu já vi para Windows, para extrair o conteúdo de um ISO do Windows XP SP3 Pro VL, junto com o arquivo do boot...

Extrai para d:\xpcd\cdroot

Abri d:\xpcd\cdroot\I386\HIVESFT.INF e alterei:

HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion","DevicePath",0x00020002,"%SystemRoot%\inf"

para

HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion","DevicePath",0x00020002,"%SystemRoot%\inf;%SystemRoot%\Temp"

Em d:\xpcd\cdroot\I386\TXTSETUP.SIF adicionei:


[SCSI.load]
DriverReg = Driver.sys,4

[HardwareIdsDatabase]
HardwareID = "DriverReg"

[SCSI]
DriverReg = "DriverDescription"

[SourceDisksNames.x86]
DriverDirVar = %cdname%,%cdtagfilei%,,\DriverDir

[SourceDisksFiles.x86]
Driver.inf = DriverDirVar,,,,,,,45,0,0
Driver.cat = DriverDirVar,,,,,,,45,0,0
Driver.sys = DriverDirVar,,,,,,,45,0,0


Sendo o necessário o AHCI da AMD ficou assim:


[SCSI.load]
ahcix86 = ahcix86.sys,4

[HardwareIdsDatabase]
PCI\VEN_1002&DEV_4392 = "ahcix86"
PCI\VEN_1002&DEV_4391 = "ahcix86"
PCI\VEN_1002&DEV_4393 = "ahcix86"
PCI\VEN_1002&DEV_4380&SUBSYS_280A103C = "ahcix86"
PCI\VEN_1002&DEV_4380&SUBSYS_2814103C = "ahcix86"
PCI\VEN_1002&DEV_4380&SUBSYS_101E1462 = "ahcix86"
PCI\VEN_1002&DEV_4380&SUBSYS_10221462 = "ahcix86"
PCI\VEN_1002&DEV_4380&SUBSYS_10201462 = "ahcix86"
PCI\VEN_1002&DEV_4380&SUBSYS_305817AA = "ahcix86"
PCI\VEN_1002&DEV_4380&SUBSYS_305717AA = "ahcix86"
PCI\VEN_1002&DEV_4380&SUBSYS_00421B0A = "ahcix86"
PCI\VEN_1002&DEV_4380&SUBSYS_00431B0A = "ahcix86"
PCI\VEN_1002&DEV_4380&SUBSYS_2A89103C = "ahcix86"
PCI\VEN_1002&DEV_4380&SUBSYS_3054103C = "ahcix86"
PCI\VEN_1002&DEV_4380&SUBSYS_3055103C = "ahcix86"
PCI\VEN_1002&DEV_4380&SUBSYS_0184107B = "ahcix86"
PCI\VEN_1002&DEV_4380&SUBSYS_0FFF0FFF = "ahcix86"
PCI\VEN_1002&DEV_4380&SUBSYS_B0051458 = "ahcix86"
PCI\VEN_1002&DEV_4380&SUBSYS_B0031458 = "ahcix86"
PCI\VEN_1002&DEV_4380&SUBSYS_02131025 = "ahcix86"
PCI\VEN_1002&DEV_4380&SUBSYS_02111025 = "ahcix86"
PCI\VEN_1002&DEV_4380&SUBSYS_02161025 = "ahcix86"
PCI\VEN_1002&DEV_4380&SUBSYS_6B311462 = "ahcix86"
PCI\VEN_1002&DEV_4380&SUBSYS_6B321462 = "ahcix86"
PCI\VEN_1002&DEV_4380&SUBSYS_021D1025 = "ahcix86"
PCI\VEN_1002&DEV_4381&SUBSYS_43811002 = "ahcix86"
PCI\VEN_1002&DEV_4380&SUBSYS_43821002 = "ahcix86"
PCI\VEN_1002&DEV_4380&SUBSYS_43811002 = "ahcix86"

[SCSI]
ahcix86 = "AMD AHCI Compatible RAID Controller"

[SourceDisksNames.x86]
D000 = %cdname%,%cdtagfilei%,,\DRIVERS\000

[SourceDisksFiles.x86]
ahcix86.inf = D000,,,,,,,45,0,0
ahcix86.cat = D000,,,,,,,45,0,0
ahcix86.sys = D000,,,,,,,45,0,0


Com o makecab, cabinetei ??? ahcix86.inf, ahcix86.cat e ahcix86.sys para d:\xpcd\cdroot\DRIVERS\000

Com o makecab, cabinetei ??? ahcix86.sys para d:\xpcd\cdroot\I386

Criei um ISO usando o ImgBurn, com o seguinte arquivo de projeto:


IBB

[START_BACKUP_OPTIONS]
BuildInputMode=1
BuildOutputMode=2
Destination=d:\xpcd\GRTMPVOL_BR.iso
DataType=0
FileSystem=1
UDFRevision=0
PreserveFullPathnames=0
RecurseSubdirectories=1
IncludeHiddenFiles=1
IncludeSystemFiles=1
IncludeArchiveFilesOnly=0
AddToWriteQueueWhenDone=0
ClearArchiveAttribute=0
VolumeLabel_ISO9660=GRTMPVOL_BR
VolumeLabel_Joliet=GRTMPVOL_BR
VolumeLabel_UDF=
Identifier_System=
Identifier_VolumeSet=
Identifier_Publisher=
Identifier_Preparer=
Identifier_Application=
Dates_FolderFileType=0
Restrictions_ISO9660_InterchangeLevel=2
Restrictions_ISO9660_CharacterSet=1
Restrictions_ISO9660_AllowMoreThan8DirectoryLevels=1
Restrictions_ISO9660_AllowMoreThan255CharactersInPath=1
Restrictions_ISO9660_AllowFilesWithoutExtensions=1
Restrictions_ISO9660_AllowFilesExceedingSizeLimit=1
Restrictions_ISO9660_DontAddVersionNumberToFiles=1
Restrictions_Joliet_InterchangeLevel=1
Restrictions_Joliet_AllowFilesWithoutExtensions=1
Restrictions_Joliet_AddVersionNumberToFiles=0
Restrictions_UDF_DisableUnicodeSupport=0
Restrictions_UDF_DVDVideoDontDisableUnicodeSupport=0
Restrictions_UDF_DVDVideoDontDisableUnicodeSupport_SF=0
Restrictions_UDF_HDDVDVideoDontDisableUnicodeSupport=0
Restrictions_UDF_HDDVDVideoDontDisableUnicodeSupport_SF=0
Restrictions_UDF_BDVideoDontDisableUnicodeSupport=0
Restrictions_UDF_BDVideoDontDisableUnicodeSupport_SF=0
Restrictions_UDF_DVDVideoAllowUnicodeVolumeLabel=0
Restrictions_UDF_HDDVDVideoAllowUnicodeVolumeLabel=0
Restrictions_UDF_BDVideoAllowUnicodeVolumeLabel=0
BootableDisc_MakeImageBootable=1
BootableDisc_MediaEmulationType=0
BootableDisc_BootImageFile=d:\xpcd\GRTMPVOL_BR.boot.img
BootableDisc_DeveloperIdentifier=
BootableDisc_LoadSegment=07C0
BootableDisc_LoadSectorCount=4
[END_BACKUP_OPTIONS]

[START_BACKUP_LIST]
d:\xpcd\cdroot\
[END_BACKUP_LIST]


Sendo que GRTMPVOL_BR.boot.img é a imagem bootavel ??? do XP extraída com o 7-zip...

Queimei num CD-RW e tá funcionando belezinha... Só faltou o software do fingerprint e alguns botões do controle remoto que não consegui remapear...

Creio que isso sirva para todos os controladores SCSI/AHCI/RAID...

No entanto... Com o xVM VirtualBox que usa o ACHI da Intel eu não consegui, mas creio que não seja problema do método que usei...

No final talvez você queira apagar os arquivos em c:\windows\temp e retornar o valor padrão de DevicePath

ptnapivoski

P.S. HP fede por não disponibilizar mais os drivers para XP