Adaptec 1200A ATA RAID - ohjain ja XP
XP:n tuki Adaptecin halpisraidiohjaimelle on kovin, kovin epämääräistä. Alunperin Service Pack 0 (ts. XP RTM) tunnisti 1200A:n tyylikkäästi HighPointin 370-ohjaimeksi (eikä ihme, sillä kortti on tehty kyseisen piirin ympärille). Riemukkaasti SP1 poistaa ajurin, SP2 palauttaa sen (ja tunkee sen tietenkin käyttäjän itse asentaman Adaptecin oikean ajurin päälle) - ja sokerina pohjalla että Volume Licensing-versiossa XPSP2:sta, siis asennus-cd:llä, ei sitä tietty ole lainkaan.
Adaptecin veppisaitti on täynnä mitä hauskinta levyjumppaohjetta, kun satunnaisen Service Packin asennus päättää poistaa ajurin.
Perin juurin sydämistyneenä tahdoin saada aikaiseksi boottaavan XP:n CD:n (sisäänrakennetulla SP2:lla), joka jo tekstimoodissa huomioisi 1200A-ohjaimen, ilman että koneessa tarvitsee olla esimerkiksi korppuasemaa (tavallisella F6-bootillahan temppu toki yhä käy, mutta hommassa alkoi olla periaatteellisen kysymyksen makua).
Liikkeelle
Aluksi koetin ns. MassStorageDrivers - OEM-temppua. Kuuden poltetun CD:n jälkeen annoin periksi. Ohjeistus on epämääräistä, ja käsin kaiverreltujen TXTSETUP.OEM -tiedostojen jälkeenkin Se Nyt Ei Vaan Toiminut (tm).
Tekstimoodin asennus väitti että OEMSETUP.C tökkääpi erheeseen rivillä 1747, vika on TXTSETUP.OEM:ssäni. Tyypillisesti tämä viittaa erheelliseen polkuun sourcedisk-osiossa, mutta ihan kaikkea tuli kokeiltua, eikä avittanut.
Uudelleen, sanovat teletapit
Vaihtoehto B on fuulata XP uskomaan, että Adaptecin ajuri on osa itse retail-versiota. Ohjeistus ei ole heikkohermoisille, sillä seuraavassa editeerataan ns. vähän kaikkea.
Perustouhu menee kuten mikä hyvänsä SlipStream - tyyppinen asentelu. Pukataan XP:n CD:ltä kaikki tiedostot kovalevyn nurkalle ja imuroidaan CD:ltä talteen boottisektori - kaikki tämä on ohjeistettu jo muualla, niin että tässä emme käy sitä läpi.
Adaptecin ajurilevyllä on alihakemistoissa kaikki ajuriversiot 9X-driveristä XP:n ohjaimeen. Tämä aiheuttaa pientä puuhaa, sillä henk koht luonnollisesti halusin vain yhden flatin hakemiston, jossa XP:n ohjain on. Alkuperäisen ajurilevyn \Win_XP -hakemistossa on seuraavat tiedostot:
hpt3xx.cat (tämä on digitaalisesti allekirjoitetun WHQL-ajurin
signature-tiedosto)
hpt3xx.inf (tämä taas puolestaan asennuksen käyttämä
informaatio-tiedosto)
hpt3xx.sys (itse ajuri)
Levykkeen päähakemistossa on TXTSETUP.OEM, jota edellisten lisäksi tarvitaan. Muuta krääsää ajurikorpulta ei tarvitse ottaa talteen.
Aluksi kopiseerataan hpt3xx.sys suoraan aiemmin kopioidun cd-sisällön \I386 -hakemiston alle.
Seuraavaksi luodaan hakemisto "\I386\$OEM$\$1\Drivers\scsi", johon työnnetään kaikki neljä edellämainittua tiedostoa.
Edellä olikin helppo osuus. Sitten otetaankin sorvi esiin.
HIVESYS.INF
HIVESYS.INF, \I386-hakemistossa, sisältää (muun muassa) rekisteriavaimet erilaisille laiteohjaimille. Kannattaa käyttää teksturin hakutoimintoa, ja etsiä kohta jossa ensimmäisen kerran puhutaan Adaptecin aic78xx-ohjaimesta. Luovalla copypastella lisäämme vaikkapa nimenomaan aic78xx-ohjainta käsittelevien rivien alle seuraavat pikku rekisteriavaimet:
HKLM,"SYSTEM\CurrentControlSet\Services\hpt3xx","ErrorControl",0x00010003,1 HKLM,"SYSTEM\CurrentControlSet\Services\hpt3xx","Group",0x00000002,"SCSI miniport" HKLM,"SYSTEM\CurrentControlSet\Services\hpt3xx","Start",0x00010003,4 HKLM,"SYSTEM\CurrentControlSet\Services\hpt3xx","Tag",0x00010003,30 HKLM,"SYSTEM\CurrentControlSet\Services\hpt3xx","Type",0x00010003,1 HKLM,"SYSTEM\CurrentControlSet\Services\hpt3xx\Parameters",,0x00000012 HKLM,"SYSTEM\CurrentControlSet\Services\hpt3xx\Parameters\PnpInterface","5",0x00010001,1
Lisää luovaa haeskelua. Etsitään seuraavat instassit "aic78xx":lle, ja tunkataan niiden alle rivit:
HKLM,"SYSTEM\CurrentControlSet\Services\EventLog\System\hpt3xx","EventMessageFile",0x00020002,"%SystemRoot%\System32\IoLogMsg.dll" HKLM,"SYSTEM\CurrentControlSet\Services\EventLog\System\hpt3xx","TypesSupported",0x00010001,7
Edellämainitut avaimet ovat lähes kopioita Adaptecin aic78xx-ajurin riveistä, tarkkana kuitenkin muutosten kanssa - eroavaisuuksia on. Device Service:n Tag-value on edellä kopio aic-ajurista, jos vielä tietäis mikä hän on, olis kiva. Mitään tuskin kuitenkaan menee rikki.
TXTSETUP.SIF
Tämän jälkeen korkataan TXTSETUP.SIF (jälleen \I386-hakemistossa). Etsitään rivi jossa aic-ajuria lataillaan, ja lisätään kohta näyttämään tältä:
aic78xx.sys = 1,,,,,,4_,4,1,,,1,4 hpt3xx.sys = 1,,,,,,4_,4,1,,,1,4
Suomeksi, kopio aic-rivistä ja driverin nimi vaihtoon.
Sopivaan kohtaan sektiossa [HardwareIdsDatabase] lisätään laitteen tunnistemerkkijono:
PCI\VEN_1103&DEV_0004 = "hpt3xx"
(siihen alkupuolelle johonkin vaan, järjestyksellä ei ole väliä)
[SCSI.Load] - sektion alkuun läpsäistään rivi
hpt3xx = hpt3xx.sys,4
ja [SCSI] -sektioon rivi
hpt3xx = "Adaptec ATA RAID 1200A Controller"
Wuhuu! Se on melkein siinä! Enää ei luonnollisesti tarvitse kuin ohjeistaa WINNT.SIF-tiedostossa asennusohjelma etsimään ajuria oikeasta paikasta.
WINNT.SIF
Kuten kaikki tietävät, WINNT.SIF:iä ei valmiina ole, joten sellainen tehdään (\I386-hakemistoon, jälleen). Kriittisiä osia ovat:
[Unattended]
DriverSigningPolicy=Ignore
OemPreinstall=Yes
OemPnPDriversPath="DRIVERS\SCSI"
ja siinä se sitten. Samalla kun WINNT.SIF:iä editeeraa, kannattaa sinne lisäillä kaikenmaailman product keyt ja muu sälä, että asennuksen aikainen hiiren perässä roikkuminen vähenee.
Systeemistä käräytetään boottaava CD, ja näin XP kuvittelee että 1200A on mukana ihan defaulttina, ja homman pitäisi pelittää.