Note - this section is only required if you want to add an option to install Windows 2000/XP/2003 via Remote Installation Services (RIS).
Download BINL (Boot Image Negotiation Layer) Service from here (Gianluigi Tiesi's BINL service - requires python) or here (converted using py2exe - does not require python). Note - any references to binlsrv.exe and infparser.exe throughout this guide should be replaced with binlsrv.py or infparser.py if using the python versions.
- If using the python version, extract binlsrv.py and infparser.py to C:\PXE\binl\ .
- If using the executable version, extract the contents of binl.zip to C:\PXE\binl\ .
The BINL service answers clients and passes client information to and from the server. The Microsoft BINL protocol handles a number of requests/responses, however we only require it for identifying and supplying the correct driver for the client PC's network card.
During the initial stages of a (RIS) network install of Windows 2000/XP/2003 the client PC's pci bus is scanned and its network card is identified. A request is then sent to the server for a driver that matches the Vendor ID and Product ID of the netword card identified.
If the network card is not identified, or the required driver is not located, then the install will fail (see here).
Network card drivers have two parts - .inf files (setup information files) which are text based and .sys file(s).
To configure the BINL service to RIS install Windows 2000/XP/2003 -
- Copy the .inf file for your client PC(s) network card(s) to C:\PXE\binl\INF\
- Copy the .sys file(s) for your client PC(s) network card(s) to C:\PXE\binl\DRIVERS\
- Start a command prompt and change the directory to the folder containing infparser.exe (or infparser.py) by entering the following command -
- Compile nics.txt (required by native mini binl server) and devlist.cache (required by binlsrv.exe/binlsrv.py) by entering the following command -
- When nics.txt and devlist.cache have been compiled, start C:\PXE\binl\binlsrv.exe (or C:\PXE\binl\binlsrv.py). You should see feedback similar to the following -
- The contents of the C:\PXE\binl\DRIVERS\ directory will need to be copied to your windows source directory (e.g. C:\PXE\tftproot\winxp\i386\) or the driver for the client PC's network card will not be found during the installation of windows - this step is covered in more detail in the relevant sections.
If the correct driver .inf file for your network card was not compiled when running infparser.exe, you will receive feedback similar to the following from binlsrv.exe when attempting a ris install of Windows -
Windows XP setup displayed the following error when the .inf was missing -
If the network driver .inf file was compiled but the .sys file was not copied to the Windows source, Windows XP setup will display an error similar to the following -
If you cannot find the drivers for your network card or want to include numerous drivers, download DriverPack LAN and save the .7z file in C:\PXE\tools\ directory. Version 8.12.1 DP_LAN_wnt5_x86-32_8121.7z is used below. The steps below can be automated by running 5a_LAN.cmd
- Start a command prompt and extract all .zip files from DP_LAN_wnt5_x86-32_8121.7z to C:\PXE\binl\temp\ by entering the following command -
C:\PXE\tools\7za.exe e "C:\PXE\tools\DP_LAN_wnt5_x86-32_8121.7z" -o"C:\PXE\binl\temp" *.zip -r
- Extract .inf files from the .zip files extracted in the previous step to C:\PXE\binl\INF\ by entering the following command -
C:\PXE\tools\7za.exe e "C:\PXE\binl\temp\*.zip" -o"C:\PXE\binl\INF" *.inf -r
- Remove C:\PXE\binl\temp\ by entering the following command -
RD /s /q "C:\PXE\binl\temp"
- Extract all .inf files from C:\PXE\tools\DP_LAN_wnt5_x86-32_8121.7z to C:\PXE\binl\INF\ (and rename any duplicate files) by entering the following command -
C:\PXE\tools\7za.exe e "C:\PXE\tools\DP_LAN_wnt5_x86-32_8121.7z" -o"C:\PXE\binl\INF" *.inf -aour
- Extract all .sys files from C:\PXE\tools\DP_LAN_wnt5_x86-32_8121.7z to C:\PXE\binl\DRIVERS\ (and overwrite any duplicate files) by entering the following command -
C:\PXE\tools\7za.exe e "C:\PXE\tools\DP_LAN_wnt5_x86-32_8121.7z" -o"C:\PXE\binl\DRIVERS" *.sys -aoar
- Follow steps 3 to 5 (see above) to compile nics.txt and devlist.cache. Using Driver Pack LAN Version 8.12.1 resulted in the following output when completing steps 3 to 5 -