Hello,

As discussed previously on this list, I've implemented an automated
selection of Windows drivers that match the current hardware platform PCI
devices and add them to the Windows installation (ie copied onto hard
drive).

This provided code (see attached files) "works for me", with
unattended-4.8rc5 to install Windows XP US SP3 on DELL Latitude x300 and
Precision M60 laptops.

Please integrate this code into the unattended.sf.net community
project if this code suits to you. 
A code review may be usefull since this is my first dive into Unattended
code ;-)

You can also use any part of comment(s) or description(s) below into the
doc. of course.


Here more details. 

-----------------------------------------------------------------------
How it works, implementation an integration into unattended-4.8rc5 code
-----------------------------------------------------------------------

Note: you need a collection of Windows drivers to play with it; see online
      help of search-win-drivers.pl for an example of its setup.

install/dosbin/search-win-drivers.pl is a standalone "application" (self
documented) that parse the output of 'lspci' commands to retrieve PCI
devices identifications of the hardware platform it's running on.

It requires on input a path to a Windows drivers collection. It parses this
collection recursively (look for .inf files) in order to find which Windows
drivers are supposed to match these hardware devices.
It returns a list of the .inf parent directory that match. A given PCI
device may imply several driver(s) path, it's Windows driver installation
system job to choose which one is usefull.
See search-win-drivers.pl (verbose) output to see which PCI devices may have
no match.

install.pl.patch contains the needed modification(s) to use
search-win-drivers.pl. Among other things, it will:

  - retrieve output of search-win-drivers.pl,

  - write output of search-win-drivers.pl into 
    /c/netinst/logs/search-win-drivers.log for further review

  - store the list of matching windows (drivers) provided by
    search-win-drivers.pl. 

  - update the 'OemPnPDriversPath' string with all these new path to
    consider.

nt5x-install.patch contains the needed modification(s) to perform the
files/dir copies of the drivers to include into installation provided by
search-win-drivers.pl.

Please note that I was obliged to change the name of folders of copied
drivers, in order to:

  - limit as much as possible the length of 'OemPnPDriversPath' string

  - avoid collision(s) among driver folder(s).    

So all drivers folders will be copied with the following names onto the
hard-drive : [c:]\drv-scan\1 [c:]\drv-scan\2 [c:]\drv-scan\3 ....
The maps between full drivers paths and their copied destination is
available in unattend.txt as [_meta]/'scan_windrivers_dest_map' string.


Relevant entries for site/config.pl:

  ## disable Windows Drivers scanning
  #$u->{'_temp'}->{'scan_windrivers'} = '';

  ## Windows drivers collection root path:
  #$u->{'_temp'}->{'scan_windrivers_path'} = "z:\site\win_drivers" ; 

  ## exclude PCI_CLASSID Ethernet Controller (0x0200)
  ## from search of Windows Drivers scanning
  #$u->{'_temp'}->{'scan_windrivers_options'} = '-c 0200' ;

  ## where to store matching driver(s) of Windows Drivers scanning
  ## (relative to %systemdrive% once Windows is installed):
  #$u->{'_temp'}->{'scan_windrivers_dest'} = 'drv-scan' ;


-----------------------------------------------------------------------
known limitations
-----------------------------------------------------------------------

- works only with linuxboot and nt5x-install : DOSEMU not supported.

- TXTSETUP.OEM interaction untested.

- no check of which OS to install is performed on driver(s) search:
  search-win-drivers.pl return any matching device.
 
- PCI devices exclusion of search-win-drivers.pl is only based on
  PCI_CLASSID; in the future, we should use a more generic form for
  exclusion, like '<class>:<vendor>:<device>'

- an "unmatched" PCI device does not means unsupported: it may be supported
  via buildin drivers collection of windows,

regards,

Pierre Bourgin

Attachment: search-win-drivers-unattended-4.8rc5.tar.gz
Description: GNU Zip compressed data

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
unattended-devel mailing list
unattended-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/unattended-devel

Reply via email to