Adding non-Dell Drivers to a Dell X-Image
This article will be beneficial to those using the Dell X-Image for all of their computer imaging needs. However there may be times when you need to add another set of drivers to the image besides just the preloaded Dell Drivers. Adding these drivers can seem rather daunting, but this should walk you through the steps needed to add those drivers. You will need the following:
- The X-Image
- Altiris Image Explorer (Or whatever tool you use)
- Computer Model you want to add to X-Image, loaded with Drivers
- DriverMagician (Or another utility of your choice)
Getting the tools we need from the X-Image
Our first step will be to get the utility on the X-Image that detects the model number of the computer during the X-Image process. Based on the model number it then loads the appropriate driver pack into the image. Using Altiris ImageExplorer, load the x-image. We will be using several tools from the C:\DRV\BIN\Utils Folder, so extract the entire folder to a working location on your computer, or a USB Key as we will need to use some of the utilities on the other computer.
Getting the detected Model Number
Now we want to run the Xinfo.exe on the computer model that we will be adding the drivers to the X-Image.
This will create two files xinfo.txt and xinfo.xml. The .txt contains the model information and a bunch of driver information that we will not use. The XML file has a X_Model section that lists the Model type detected for the computer. You will need this model type for a future step. For our example it has detected 88119UU as the model number.
Extracting the Drivers
Next we will use a tool called Driver Magician that extracts all the drivers from a computer. I'm sure there are other tools out there, so feel free to use your own. (This one is $30 with a free 2 week trial) Install Driver Magician using all the defaults and run the tool. Click the "Select All" button and the click the "Start Backup" button. Choose a location to store the files, probably on your USB key. You will see a folder at your selected location call "Drivers Backup" with a subfolder for each Driver it extracted.
Creating required XML files
We will need to create a cab file that contains all the drivers we just extracted, however part of the cab file also includes 4 other files.
- MODEL_VAL.xml (Where Model = model number detected by Xinfo) - This file doesn't need much in it, the naming is what is important.
- APPLETS.xml - This file will not have much in it either.
- CABVER.TXT - This file is mainly for informational purposes, but is included since that is part of the standard.
- devpath.xml - This is the main file that we are concerned with, it will contain all the driver names for our CAB File
Let us extract these files from an existing cab file on the X-Image. Using Altiris ImageExplorer we can find all the driver cab files located in the C:\DRV folder. I would suggest extracting the smallest cab file, such as the GX270.cab file. Once you have the cab file extracted, we need to expand the cab file. We can do this using the CABARC.EXE utility we extracted from the C:\DRV\BIN\Utils folder earlier. Change to the folder you want the files to and run the cabarc command using this command:
c:\temp\utils\CabArc.Exe -p X c:\temp\gx270.cab *.*
This will extract all the files for the GX270. We are interested in the four files mentioned above. Copy these 4 files to a folder named after the model you are adding. Modify the applets.xml so that it looks like this:
<?xml version="1.0" encoding="utf-8"?> <APPLETS> </APPLETS>
We will not modify the cabver.txt file. Change the name of the GX270_val.xml to the model detected by the xinfo, such as 88119UU_val.xml. Then modify the content of the file so that it looks like this:
<?xml version="1.0" encoding="utf-8"?> <Drivers> </Drivers>
That leaves the devpath.xml file to modified. We need to put the cabcreator.exe,cabcreator.exe.config, xlib.dll and leadit.extendeddatagrid.dll in a folder called c:\dell\CabCreator and then copy all the drivers we backed up using the drivermagician tool to the c:\dell\cabcreator folder.
Run the Cab Creator file. You should see a listing of the drivers in the current folder. Click Finish and when an error appears click Continue. Then Click Cancel to exit. This will have created a file call devpath.xml. Copy over the devpath.xml we extracted from the GX270 Image. We now have all the files we need to create our cab file.
Creating a Cab File
Now we need to create the cab file. We use the -p and -r options so that it creates the folders in the cab file and the N to create a new cab file. Next we specify the cab file name and what files to include. Therefore you should be in folder the contains the drivers you want to include. Also be sure the 88119UU.CAB file name is the same model name detected with Xinfo earlier.
c:\temp\utils\cabarc.exe -p -r N c:\temp\88119UU.CAB *.*
We now we have a cab file located in the temp folder. You can extract it if you want to, to ensure everythiing setup Ok using this command:
c:\temp\utils\CabArc.Exe -p X c:\temp\88119UU.CAB *.*
Injecting Cab File into X-Image
Now that we have our cab file with our drivers and XML files we just need to drop that into our X-Image. Open Altiris ImageExplorer again and click on the C:\DRV folder. You will see a list of cab files on the right window pane. In the white space of this pane, right click and choose add Files. Find the 88119UU.CAB (Or whatever model) and Click Open. Close your Image and you are ready for testing.
You can now image a machine with your modified image. Try and keep the driver files as small as possible to reduce bloat on your image. Also with this process, windows may still prompt your for certain drivers are the image to install when you first logon. Just click next and it will automatically load all the drivers. I would be interested if anyone else finds a way around this, but it still saves a lot of time and hassle, instead of downloading drivers and installing. Hope this helps and drop a comment if you discover any other shortcuts or improvements to this process.