Вы находитесь на странице: 1из 10

Cómo integrar drivers en un CD de instalación (W2000/XP) http://multingles.net/docs/jmt/intedrivers.

htm

CÓMO INTEGRAR DRIVERS EN UN CD DE INSTALACION (W2000 / XP)


----------------------------------------------------------
(instalación desatendida)

* Ejemplos prácticos con una tarjeta RAID y otra tarjeta SATA. (es el caso más complicado), y además una tarjeta de red USB (por poner un
ejemplo), con chip ASIX AX88172. Incorporo este último ejemplo ya que es un dispositivo USB 2.0 a 10/100 y es de lo más corriente en la
actualidad.

Básicamente lo que quiero es distinguir entre dos tipos de drivers: los de "Mass Storage", que son necesarios durante la instalación de Windows
en las pantallas de inicio ya que si no no se reconocen los discos a instalar, y el resto (red, tarjeta gráfica, etc.) que necesitan mucha menos
manipulación en los archivos de instalación.

* Se pueden hacer muchas más cosas, que probablemente describa en posteriores artículos, y no sólo integrar drivers, sino integrar también
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 instalación de XP.

Puede hacerse simultáneamente a la hora de integrar el SP2 en un XP (ver mi artículo: http://www.multingles.net/docs/jmt/xpsp2.htm) o bien
independientemente.

Realmente el proceso consta 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 instalación, y lo más
importante en ese fichero: la descripción de los drivers a instalar.

1 de 10 04/12/2010 22:54
Cómo integrar drivers en un CD de instalación (W2000/XP) http://multingles.net/docs/jmt/intedrivers.htm

Aunque el fichero puede crearse manualmente con los ejemplos que veremos en este artículo, 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/details.aspx?FamilyId=3E90DC91-AC56-4665-949B-BEDA3080E0F6&displaylang=en
De dicho archivo (es un .cab) nos extraeremos 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
instalación 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 práctico, voy a integrar los drivers de una tarjeta 3ware SATA 8500 (www.3ware.com) y además los drivers de una tarjeta
RAID (Promise Fasttrack TX2).
Es el ejemplo más complicado, ya que para el resto de drivers (por ejemplo, una tarjeta de red, o bien una gráfica) es más sencillo el
procedimiento, y voy a describir también 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 más sencilla: c:\wrk\ASIX (es decir, las que no son de drivers necesarios en la primera parte de instalación 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 dispositivo. En este caso, es únicamente 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, típicamente constan de un archivo
TXTSETUP.OEM en el raíz 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

2 de 10 04/12/2010 22:54
Cómo integrar drivers en un CD de instalación (W2000/XP) http://multingles.net/docs/jmt/intedrivers.htm

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 únicamente 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 raíz, 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 sólo para RAID, SCSI o SATA: Fijémonos, 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 instalación mediante F6
veremos que son los únicos 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 función de los nombres anteriores, es como debemos crearnos la estructura de directorios. Es importante este tema.

CONSTRUCCION DEL CD CON LOS DRIVERS INTEGRADOS


----------------------------------------------

1) Construcción de la estructura $OEM$. Nos creamos la siguiente estructura de carpetas dentro de la carpeta XP (donde hemos copiado
previamente el CD de XP):

3 de 10 04/12/2010 22:54
Cómo integrar drivers en un CD de instalación (W2000/XP) http://multingles.net/docs/jmt/intedrivers.htm

$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 artículos para otros tipos de integraciones, comento que estas carpetas son equivalentes a:

$1 - Carpeta raíz 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, únicamente 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 (nuestras) 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 gráfica
etc....

4 de 10 04/12/2010 22:54
Cómo integrar drivers en un CD de instalación (W2000/XP) http://multingles.net/docs/jmt/intedrivers.htm

Pensemos que podemos integrar todo lo que queramos, y por tanto, nuestro CD nos servirá para varias máquinas 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) *sólo REALIZAR ESTE PUNTO para las tarjetas RAID y SCSI* que necesitan F6 en la instalación 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"

5 de 10 04/12/2010 22:54
Cómo integrar drivers en un CD de instalación (W2000/XP) http://multingles.net/docs/jmt/intedrivers.htm

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 más importante, ¿de donde obtenemos las cadenas de 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 único dispositivo que monta es el PCI\VEN_13C1&DEV_1001&SUBSYS_100113C1. Por tanto, en este caso lo tenemos
fácil.

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 sólo la TXT2)

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

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.

6 de 10 04/12/2010 22:54
Cómo integrar drivers en un CD de instalación (W2000/XP) http://multingles.net/docs/jmt/intedrivers.htm

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 preguntas que queramos que sean rellenadas o completadas automáticamente.

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ñadiéndole o modificando:

En la sección:

[Data]
Autopartion = 0

[Unattended]
FileSystem=*

IMPORTANTE: Esto, lo primero, y es FUNDAMENTAL... ya que si no, no nos preguntará dónde instalarse, y automáticamente particionará y
formateará el disco!

Además debemos añadir, en

[Unattended]
OemPreinstall=Yes
OemPnPDriversPath="Drivers\001\3wDrv100;Drivers\001\fasttrak;Drivers\002\ASIX"

(fijaos en que se separan por punto y coma (;) los directorios de instalación)

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

7 de 10 04/12/2010 22:54
Cómo integrar drivers en un CD de instalación (W2000/XP) http://multingles.net/docs/jmt/intedrivers.htm

DriverSigningPolicy=Ignore

Dejo aquí debajo cómo 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
TimeZone=105

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

[Identification]
JoinWorkgroup=ISIS

[Networking]
InstallDefaultComponents=Yes

6) A continuación podemos "quemar" ya el CD y hacerlo "booteable" (de arranque) sin más que seguir los mismos pasos para "quemar" que
están descritos en artículos mios anteriores, como por ejemplo, el de la integración del SP2 http://www.multingles.net/docs/jmt/xpsp2.htm

8 de 10 04/12/2010 22:54
Cómo integrar drivers en un CD de instalación (W2000/XP) http://multingles.net/docs/jmt/intedrivers.htm

Igualmente podremos integrar "parches" que hayan salido al XP del propio Microsoft, realizando lo que describo en el artículo:
http://www.multingles.net/docs/jmt/hotfixes.htm (cómo integrar hotfixes y parches).

NOTA: Igualmente existen más variantes de cómo instalar drivers cuando estos requieren un instalador del tipo InstanShield (algunos drivers
gráficos), y sobre todo si queremos por ejemplo instalar un XP con Office XP integrado.
Todo es posible, la única condición en este caso es tener grabador de DVD, ya que debido a su tamaño, necesitaremos quemarlo en un DVD.

MODIFICACIONES / PERSONALIZACIONES EN EL REGISTRO


-------------------------------------------------

Igualmente, y como anticipo a posteriores artículos complementarios de este, supongamos que queremos que nuestra instalación personalizada
tenga además alguna "personalización" en el registro de Windows.
Por ejemplo, supongamos que por defecto queramos que no venga activado el casillero de "Reiniciar automáticamente" 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%\install\regtweaks.reg"

Dejándolo también en la carpeta: C:\XP\$OEM$\

(esto se ejecutará entonces automáticamente cuando queden -12 minutos para finalizar la instalación de Windows)

CONTINUARÁ.....

9 de 10 04/12/2010 22:54
Cómo integrar drivers en un CD de instalación (W2000/XP) http://multingles.net/docs/jmt/intedrivers.htm

--

José Manuel Tella Llop


jmtella@compuserve.com

13 - Enero - 2005

10 de 10 04/12/2010 22:54