Back in the original post Build yourself a bootable Ghost USB key, I outlined how to build a USB Boot key using an existing skeleton file that contained an existing set of drivers.
This generated some interest in how to add extra drivers to this existing skeleton file;
Going forward, what tutorial can you point me to in order to add new NDIS drivers to the bootable USB key?
How would I add more NIC drivers to the existing bootkey.zip?
I have several different Dell & IBM computers.
For this example we’ll add a Toshiba Tecra A3 as I have one of these sitting under my desk ;) The Tecra A3 has a Marvell Yukon 88E8036 PCI-E Fast Ethernet Controller so our first trick is to obtain the DOS NDIS driver via Marvell (yuknd_v18.104.22.168.zip)
USB KEY DIRECTORY STRUCTURE
To start off let’s look at the directory structure of the boot key.
In the root directory we store the common driver sets (SCSI, CD, Mouse)
There is a GHOST directory which contains a copy of our Ghost.exe
The other folders (b57, E1000, E100B) are directories to hold the different network card specific files.
Extracting yuknd_v22.214.171.124.zip we can see that the NDIS drive is yuknd.dos, to make life easier we’ll create a folder yuknd to house the driver. We’ll now refer to this driver set as yuknd within all of the files and menus. All of the content from yuknd_v126.96.36.199.zip can then go into the /yuknd/ folder. This will include a copy of protocol.ini.
NOTE: You will also need to copy into this directory from one of the other network card folders a copy of NETBIND.COM, PROTMAN.EXE, protman.dos and dis_pkt.dos.
The config.sys file in the root directory of the thumbdrive contains our boot menu that allows us to choose which driver set we are using. We need to add our new card to the menu.
menuitem=CDROM, Access to Internal CDROM, DVDROM
menuitem=Extcdrom, Access to USB CDROM, DVDROM (Sony, Pioneer)
menuitem=Broadcom, NIC EVO530 and DC7600,GX280 and 620, NC8000 - DHCP
menuitem=Intelpro, NIC EVO500,510 - DHCP
menuitem=e1000, NIC HP dc7700 - DHCP
menuitem=yuknd, NIC Toshiba Tecra A3 - DHCP
device=USBASPI.SYS /v /w /e
DEVICE = oakcdrom.sys /D:cd1
DEVICE = btdosm.sys
DEVICE = flashpt.sys
DEVICE = btcdrom.sys /D:cd2
DEVICE = aspi2dos.sys
DEVICE = aspi8dos.sys
DEVICE = aspi4dos.sys
DEVICE = aspi8u2.sys
DEVICE = inicd.sys /D:cd3
LASTDRIVE = Z
In autoexec.bat we also add some handlers for the new menu item;
LH \MSCDEX.EXE /D:cd1 /D:cd2 /D:cd3
if %config% == CDROM goto GHOST
if %config% == Extcdrom goto GHOST
if %config% == Intelpro goto Intelpro
if %config% == Broadcom goto Broadcom
if %config% == e1000 goto e1000
if %config% == yuknd goto yuknd
echo Unknown boot menu selection
And you now have a additional network card option on your bootable Ghost USB key :)
PS: The Tecra A3 was a bad example in the long run as the boot from the USB key is not fully supported in the BIOS.