[Articulo CORREGIDO] ``Como integrar Drivers en un CD de instalacion de XPŽŽ

13/01/2005 - 20:24 por JM Tella Llop [MVP Windows] | Informe spam
Me faltaba un parrafo importantisimo. Pego de nuevo todo el mensaje.

(nota, debido a que he estado griposo... y sigo, y no tenia nada que
hacer, he montado con restos de hardware un equipo, pero no tenia
disquetera, por lo que he tenido que hacer este procedimiento para
poder instalar XP)

COMO INTEGRAR DRIVERS EN UN CD DE INSTALACION (W2000 / XP)
-

(intalacion desatendida).

* Ejemplos practicos con una tarjeta RAID y otra tarjeta SATA. (es el
caso mas complicado), y ademas una tarjeta de red USB (por poner un
ejemplo), con chip ASIX AX88172. Incorporo este ultimo ejemplo, ya que
es un dispositivo USB 2.0 a 10/100 y es de lo mas corriente en la
actualidad.

Basicamente lo que quiero es distinguir entre dos tipos de drivers:
los de "Mass Storage" que son necesarios durante la instalacion de
windows en las pantallas de inicio ya que si no no se reconocen los
discos a instalar, y el resto (red, tarjeta grafica, etc) que
necesitan mucha menos manipulacion en los archivos de instalacion.

* Se pueden hacer muchas mas cosas, que probablemente describa en
posteriores articulos, y no solo integrar direvers... sino integrar
tambien programas, ayudas, etc


La idea, es construirnos un CD, al estilo los CD's de los OEM's que
contenga los drivers necesarios para nuestro equipo de tal forma que
se instalen durante la instalacion de XP.

Puede hacerse simultaneamente a la hora de integrar el SP2 en un XP
(ver el documento mio: http://www.multingles.net/docs/xpsp2.htm) o
bien independientemente.


Realmente el proceso costa de unos sencillos pasos:


PREPARACION

Pasos previos (supongo que ya tenemos un XP con SP2 integrado
previamente):

1) Debemos tener copiado el contenido del CD de XP a una carpeta en
nuestro disco duro. Por ejemplo, nos creamos una carpeta llamada XP y
dentro de ellas copiamos el contenido del CD.

2) Necesitamos la herramienta "Deployment Tools" al objeto de crearnos
el fichero de respuestas en la instalacion, y lo mas importante en ese
fichero, la descripcion de los drivers a instalar). Aunque el fichero
puede crearse manualmente con los ejemplos que veremos en este
articulo, es conveniente hacerlo con la herramienta setupmgr.exe que
existe en el "XP SP2 Deployment Tools" la cual podemos descargarnos
de:
http://www.microsoft.com/downloads/...laylang=en

De dicho archivo (es un .cab) nos estraeremos a una carpeta de trabajo
(por ejemplo, c:\wrk) el archivo "setupmgr.exe" y la ayuda "ref.htm".

3) En el caso de drivers SCSI o RAID, o bien drivers SATA que se
instalan en XP o W2000, pulsando F6 durante el comienzo de la
instalacion y posteriormente metiendo un disquete del fabricante con
los drivers, necesitaremos tener dicho disquete, y lo copiamos, por
ejemplo, a la carpeta temporal anterior en una subcarpeta.

En este ejemplo practico, voy a integrar los drivers de una tarjeta
3ware SATA 8500 (www.3ware.com) y ademas los drivers de una tarjeta
RAID (Promise Fasttrack TX2). Es el ejemplo mas complicado ya que el
resto de drivers (por ejemplo, una tarjeta de red, o bien una grafica,
es mas sencillo el procedimiento, y voy a describir tambien un ejemplo
para la tarjeta de red USB 10/100 ASIX AX88172.

Dentro de la carpeta de trabajo anterior, nos creamos entonces 3
carpetas:

c:\wrk\fasttrak
c:\wrk\3ware
c:\wrk\Asix

* Empezamos por la carpeta mas sencilla: c:\wrk\asix (es decir, las
que no son de drivers necesarios en la primera parte de instalacion de
XP y que requieren el pulsar F6, como es el caso de las RAID y SCSI).
En dicha carpeta, copiamos simplemente los INF y SYS (y DLL's, etc)
que tenemos del fabricante del disposivo. En este caso, es unicamente
un .INF, un .CAT y un .SYS

* Analizamos ahora el contenido del disquete de la FASTTRACK. Este
tipo de tarjetas que se instalan con F6, tipicamente constan de un
archivo TXTSETUP.OEM en el raiz del disquete, y posteriormente unas
carpetas con los drivers. En particular, la de la FASTTRAKT TX2,
contiene:

17/05/2003 11:55 <DIR> NT4
17/05/2003 11:56 <DIR> Win2000
17/05/2003 11:56 <DIR> Win9x-ME
17/05/2003 11:56 <DIR> WinNet
17/05/2003 11:56 <DIR> WinXP
31/07/2000 14:17 10 FASTTRAK
25/04/2003 08:48 1.730 README.TXT
21/02/2003 16:38 5.860 TXTSETUP.OEM

En estos casos, el TXTSETUP.OEM, lo ignoramos siempre. Y analizamos el
contenido de la carpeta WinXP que es la que nos interesa y que
contiene unicamente estos tres archivos:

31/07/2000 14:17 10 FASTTRAK.CAT
25/04/2003 08:49 3.487 FASTTRAK.INF
25/04/2003 16:20 75.520 fasttrak.sys

Los copiamos entonces a c:\wrk\fasttrak


* Analizamos ahora el contenido del disquete de la tarjeta SATA 3ware.

01/07/2004 15:30 48.640 3wDrv100.sys
01/07/2004 10:54 8.192 3wFlt100.sys
01/07/2004 15:20 748 3wManage.inf
20/07/2004 10:42 8.784 AmccDrv7.cat
01/07/2004 15:16 54 disk1
20/07/2004 10:58 6.433 DriverLanguageMap
01/07/2004 15:20 2.945 oemsetup.inf
01/07/2004 15:19 334 readme.txt
21/07/2004 17:10 764 txtsetup.oem

No contiene subcarpetas, está todo en el raiz, y por tanto, copiamos
todo su contenido *excepto* el txtsetup.oem (que siempre debemos
ignorar, como en el caso anterior), a la carpeta de trabajo:
c:\wrk\3wDrv100

NOTA y solo para RAID, SCSI o SATA: Fijemonos, que hemos analizado lo
que REALMENTE es el driver. En el primer caso fasttrack.sys (porque no
hay otro) y en el caso de la 3ware es el 3wDrv100.sys (si realizamos
una instalacion mediante F6, veremos que son los unicos que carga en
ESE momento). El 3wFlt100.sys es un servicio que posteriormente
montará y usará, pero que no es necesario para "ver" los discos.

En funcion de los nombres anteriores, es como debemos crearnos la
estructura de directorios. Es importante este tema.



CONSTRUCCION DEL CD CON LOS DRIVERS INTEGRADOS
-

1) Construccion de la estrucxtura $OEM$. Nos creamos la siguiente
estructura de carpetas dentro de la carpeta XP (donde hemos copiado
previamente el CD de XP).

$OEM$
| $1
| | Install
| | Drivers
|
| $$
| | System32
|
| $Docs
|
| $Progs


Es decir, en nomenclatura de ventana de comandos, deberemos tener
creadas dentro de la carpeta XP,

c:\XP\$OEM$\$1\Install
c:\XP\$OEM$\$1\Drivers
c:\XP\$OEM$\$$\System32
c:\XP\$OEM$\$Docs
c:\XP\$OEM$\$Progs

NOTA: Como anticipo de posteriores articulos para otros tipos de
integraciones, comento que estas carpetas son equivamentes a:

$1 - Carpeta raiz del disco duro donde windows va a ser instalado.
$$ - Carpeta de WINDOWS
$Progs - Program Files o Archivos de Programas
$Docs - Documents and Settings.

En nuestro caso, unicamente vamos a necesitar (aunque hay que crear
TODA la estructura anterior, la carpeta "Drivers" que cuelga de $1.


2) Nos creamos dentro de la estructura $OEM$\$1\Drivers las carpetas
ya de usuario (nuetras) en donde vamos a poner los drivers. Mi consejo
es ser un poco organizados, por ejemplo:

001: RAID para drivers de Mass Storage - RAID, SCSI o SATA
002: NET para drivers de red
003: GRAFICA para drivers de nuestra tarjeta grafica.
etc

Pensemos que podemos integrar todo lo que queramos, y por tanto,
nuestro CD nos servirá para varias maquinas. con hardware diferente, y
no necesariamente para una sola. Dentro de las anteriores, podemos
crear subcarpetas.

En nuestro caso creamos:

$OEM$\$1\Drivers\001\fasttrack
$OEM$\$1\Drivers\001\3wDrv100
$OEM$\$1\Drivers\002\ASIX

y copiamos en ellas el contenido de las carpeta de trabajo previamente
construidas en el proceso de PREPARACION:

c:\wrk\fasttrak
c:\wrk\3wDrv100
c:\wrk\ASIX

respectivamente a cada una de las tres anteriores.


3) *SOLO REALIZAR ESTE PUNTO* Para las trajetas RAID y SCSI que
necesitan F6 en la instalacion de windows.

Analizamos lo que realmente es el driver:

Editamos (con NOTEPAD) el archivo TXTSETUP.SIF que está en
c:\XP\I386

Al final de dicho archivo y justo antes de la marca de fin de
fichero (con el NOTEPAD veremos un cuadradito al final. Inmediatamente
antes de dicho cuadradito, debemos poner las siguientes secciones:


[SourceDisksFiles]
fasttrak.sys = 1,,,,,,3_,4,1
3wDrv100.sys = 1,,,,,,3_,4,1


[HardwareIdsDatabase]
PCI\VEN_13C1&DEV_1001&SUBSYS_100113C1 = "3wDrv100"
PCI\VEN_105A&DEV_4d33 = "fasttrak"
PCI\VEN_105A&DEV_4D38&SUBSYS_4D39105A = "fasttrak"
PCI\VEN_105A&DEV_4D30&SUBSYS_4D39105A = "fasttrak"
PCI\VEN_105A&DEV_4D30&SUBSYS_4D32105A = "fasttrak"
PCI\VEN_105A&DEV_6268 = "fasttrak"
PCI\VEN_105A&DEV_6269 = "fasttrak"


[SCSI.load]
3wDrv100 = 3wDrv100.sys,4
fasttrak = fasttrak.sys,4

[SCSI]
3wDrv100 = "AMCC 3ware 7000/8000 Series ATA RAID Controller"
fasttrak = "WinXP Promise FastTrak100 TX2/TX4 (tm) Controller"



*** Veamos los mas importante, ¿de donde obtenemos las cadenas
identificadores PCI\VEN_xxxx?

Es relativamente sencillo, si editamos (con notepad) el archivo INF
del driver de la 3ware (oemsetup.inf de la carpeta donde hemos
guardado la 3ware) vemos que el unico dispositivo que monta es el
PCI\VEN_13C1&DEV_1001&SUBSYS_100113C1, por tanto, en este caso lo
tenemos facil.

Si editamos ahora el fastteak.in, vemos que los que referencia son:

PCI\VEN_105A&DEV_4d33
PCI\VEN_105A&DEV_4D38&SUBSYS_4D39105A
PCI\VEN_105A&DEV_4D30&SUBSYS_4D39105A
PCI\VEN_105A&DEV_4D30&SUBSYS_4D32105A
PCI\VEN_105A&DEV_6268
PCI\VEN_105A&DEV_6269

Podemos poner todos sin problemas. (corresponden a todas las
Promise, y no solo la TXT2)


***Y ahora por fin, comprimir el driver (o los drivers, en este caso)
en si:

MAKECAB C:\XP\$OEM$\$1\DRIVERS\001\fasttrak\fasttrak.sys
C:\XP\i386\fasttrak.sy_
MAKECAB C:\XP\$OEM$\$1\DRIVERS\001\3wDrv100\3wDrv100.sys
C:\XP\i386\3wDrv100.sy_



4) Ejecutamos ahora el programa setupmgr que hemos dejado en la
carpeta c:\wrk.

Seleccionamos al ejecutar el programa:

New or Existing Answer File: Create New
Type of Setup: Unattended Setup
Windows Product: Windows XP Home / Professional
User Interaction: Fully Automated
Distribution Share: Set up from CD

Y respondemos a las pregunta que qeramos que sean rellenadas o
completadas automaticamente.

Esto creará en c:\wrk un fichero llamado "unattend.txt"

* Lo renombramos como WINNT.SIF y lo colocamos en la carpeta:
c:\xp\i386


5) Editamos dicho archivo añadiendole o modificando:

En la seccion:

[Data]
Autopartion = 0

[Unattended]
FileSystem=*


IMPORTANTE: Esto, lo primero, y es FUNDAMENTAL ya que sino no nos
preguntará donde instalarse, y automaticamente particionará y
formateará el disco !


Además debemos añadir, en

[Unattended]
OemPreinstall=Yes

OemPnPDriversPath="Drivers\001\3wDrv100;Drivers\001\fasttrak;Drivers\002\ASIX"

(fijarse que se separan por punto y como (;) los directorios de
instalacion)

Igualmente, si los drivers no son certificados, se debe añadir en la
misma seccion:

DriverSigningPolicy=Ignore


Dejo aquí debajo como me ha quedado en el ejemplo al que nos estamos
refiriendo, el archivo completo:

;SetupMgrTag
[Data]
AutoPartition=0
MsDosInitiated="0"
UnattendedInstall="Yes"

[Unattended]
FileSystem=*
OemPreinstall=Yes

OemPnPDriversPath="Drivers\001\3wDrv100;Drivers\001\fasttrak;Drivers\002\ASIX"
UnattendMode=ProvideDefault
TargetPath=\WINDOWS
DriverSigningPolicy=Ignore

[GuiUnattended]
EncryptedAdminPassword=NO
OEMSkipRegional=1
TimeZone5

[UserData]
FullName="Jose Manuel Tella Llop"
OrgName="jmt"
ComputerName=OSIRIS

[Identification]
JoinWorkgroup=ISIS

[Networking]
InstallDefaultComponents=Yes



6) A continuacion, podemos "quemas" ya el CD y hacerlo "booteable" (de
arranque) sin mas que seguir los mismos pasos para "quemar" que estan
descritos en articulos miso anteriores, como por ejemplo, el de la
integracion del SP2. http://www.multingles.net/docs/xpsp2.htm

Igualmente podremos integrar "parches" que hayan salido al XP del
propio Microsoft, realiznado lo que describo en el articulo:
http://www.multingles.net/docs/hotfixes.htm (como integrar hotfixes y
parches).


NOTA: Igualmente existen mas variantes de como instalar drivers cuando
estos requiern un instalador del tipo InstanShield (algunos drivers
graficos), y sobre todo si queremos por ejemplo instalar un XP con
Office XP integrado (todo es posible, la unica condicion en este caso
es tener grabador de DVD, ya que por el tamaño, necesitaremos quemarlo
en un DVD).


MODIFICACIONES / PERSONALIZACIONES EN EL REGISTRO
-

Igualmente, y como anticipo a posteriores articulos complementarios de
este, supongamos que que queremos que nuestra instalacion
personalizada, tenga además alguna "personalizacion" en el regsitro de
windows. Por ejemplo, supongamos que por defecto queramos que no venga
activado el casillero de "Reiniciar automaticamente" en caso de una
pantalla azul. Esto se puede hacer, si nos creamos un archivo llamado
"RegTweaks.reg" que contenga:


Windows Registry Editor Version 5.00

;Disable Automatic Restart in the event of a BSOD
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl]
"AutoReboot"=dword:00000000


Y lo ponemos en: C:\XP\$OEM$\$1\install\

(se pueden poner todas los tweaks o modificar claves de registro que
queramos).

Además debemos crear un archivo llamado "cmdlines.txt" con el
contenido:


[COMMANDS]
"REGEDIT /S %systemdrive%\installegtweaks.reg"


Dejandolo tambien en la carpeta: C:\XP\$OEM$\

(esto se ejecutará entonces automaticmanete cuando queden -12 minutos
para finalizar la instalacion de windows)




CONTINUARÁ.


Jose Manuel Tella Llop
MVP - Windows
jmtella@XXXcompuserve.com (quitar XXX)
http://www.multingles.net/jmt.htm

Este mensaje se proporciona "como está" sin garantías de ninguna
clase, y no otorga ningún derecho.

This posting is provided "AS IS" with no warranties, and confers no
rights.
You assume all risk for your use.
 

Leer las respuestas

#1 fermu
13/01/2005 - 20:28 | Informe spam
JM Tella Llop [MVP Windows] escribió:
Me faltaba un parrafo importantisimo. Pego de nuevo todo el mensaje.

(nota, debido a que he estado griposo...




Ah!! pero ya estas bueno...??? :-P

Gracias por el artículo, prometo leerlo. ;-) (algún día de estos) :-D

Saludos
Fernando M. / Registered Linux User #367696

Preguntas similares