After joining the Dell KACE Training team I started to learn the K1000 and after that I started to dig in the K2000 secrets.
It is a really nice and powerful product, very flexible and expandable but one thing over the others was surrounded by mystery (at least that was my feeling of novice user): the driver management!
I started to read articles here and there, asking to friends and colleagues, watching various videos and I found out that there are many ‘’doctrines’’ and pieces of information spread all over the places that you need to know to unveil how the driver management mechanism was really working.
After studying all the available material I wrote my first “syncretic” article about the K2000 3.4 version that you can still find here:
The introduction of K2000 3.5 introduced some nice changes simplifying a lot the driver management and avoiding the need to create and use the famous "Driver Feed Workaround" so I thought to write a new and updated “syncretic” article for the 3.5 & 3.6 users.
I do not have the presumption to have discovered something revolutionary or have written a complete and ‘’dogmatic’’ document so please comment it if you have something to add or if I wrote something not exact.
The K2000 exposes 3 shares:
What are these folders for?
Let start with the DRIVERS folder
Under this folder there is a folder for every OS supported and two folders for KBE, one for the KBE 32 bit and another for the KBE 64 bit.
What drivers you need to have under the KBE folders?
In these folders you need to put the drivers for storage and network: so the bare minimum drivers needed for the KBE to be able to access the disks of the device where it is booting from and the network to talk back to the K2000.
Do not add to these folders drivers for video, sound or strange devices not really needed: remember that KBE exists only in the memory and it will be totally gone after the reboot.
How to add drivers under the KBE folders
Excluding the feed folder that is automatically created and managed from the Driver Feed functionality you need to create a new folder, the name does not matter but I’d suggest you to name it using the brand of the machine the driver belongs to.
Under that folder I suggest you to create a subfolder with the name of the driver and put the driver files there.
NOTE: if the driver is included in a single EXE or MSI you need to extract the files and put them under the folder: we cannot install EXEs or MSI as driver in this phase.
Which driver’s platform I need to add for KBE?
KBE 32 is a special version of Windows 7 32 bit and KBE 64 bit is a special version of Windows 7 64 bit, so you need to download drivers for Windows 7 32 or 64 bit to be added to the KBE folders.
If you are you using the AIK for Windows 8 (WinPE 4.0) to build your KBE you will need to use the drivers for Windows 8 32 or 64 bit and you used AIK for Windows 8.1 (WinPE 5 .0) you will need to use the drivers for Windows 8.1 32 or 64 bit. The following table clarifies the drivers you will need:
|If you are using||It contains||and you need to use these drivers in the KBE folders|
|WAIK for Windows 7||WinPE 3.0||use drivers for Windows 7|
|AIK for Windows 8||WinPE 4.0||use drivers for Windows 8|
|AIK for Windows 8.1||WinPE 5.0||use drivers for Windows 8.1|
IMPORTANT Due to the fact that there are only 2 folders for KBE drivers, one for the 32bit and the other for the 64bit version, and not a couple of folder for every type of WinPE/WAIK, remember that only one type of drivers at time can be in that folder.
Do not mix Windows 7, Windows 8 and Windows 8.1 drivers in these folders.
If you previously built a WinPE 3.0 based KBE and now you want to build a WinPE 4.0 based KBE you need to delete all the drivers from the two KBE folders and put under them the drivers for Windows 8.
For Dell hardware we made available the Dell KBE Drivers packs. You can find them here: http://www.kace.com/support/resources/kb/solutiondetail?sol=SOL111717
After adding the drivers under the KBE folders we need to recache the drivers (in the web interface click on Library -> Drivers and choose the action Recache drivers).
After recaching the drivers you need to rebuild the KBEs using the Media Manager utility: it will use the WAIK installed on the machine to rebuild the KBE and will inject automatically in it the drivers you added in the KBEs folder that are under the DRIVERS share.
NOTE: when you use Media Manager do not name the KBE as a name of a KBE that already exists: the Media Manager is not able to overwrite an existing KBE.
How and which kind of drivers you need to add under the OS folders
Under the OS folders you need to add, as in the KBE folders, the bare minimum drivers that the scripted installation of Windows needs to run effectively, so again: network and storage drivers only.
After adding the drivers under the OS folders (you can organize them as for the KBE folders) you need to recache the drivers.
If you added drivers only to the OS folders but not to the KBE folders you do not need to rebuild the KBEs with the Media Manager.
The drivers_postinstall folder
Under this folder you need to add all the drivers that the machine will need after the scripted install is finished (so for its ‘’normal life’’) : storage, network, audio, video etc etc…
If your machine is a Dell machine the Driver Feed functionality does most of the job for you: under Library -> Driver Feed you can search for the device you need to image the OS to and download the driver packages: job done!
If your machine is not a Dell machine or you need to add additional drivers you will need to add them under this directory but how??
The folder names and structure is not so context free as for the DRIVERS folder
The folder structure under the DRIVERS_POSTINSTALL is the following:
<Manufacturer name>\<OS Name>\<Model name>
It seems complex but is not: we have a script that will help you to determine the name of the manufacturer and the name of the model: they are taken from the BIOS.
Simply execute on the machine this VBscript program:
This script will show you the exact manufacturer and model name of that device.
After you press the OK button you may see some other message box and sometimes a script error: no panic! is all ok..simply ignore them.
So in this case where do you need to put the drivers?
\\<your k2000 box>\drivers_postinstall\dell\ windows_7_x64\E6420\
Under this folder I suggest to create a folder for each driver and put under that folder all the files needed. Once again: if the driver is shipped as a monolithic ZIP, EXE or MSI you will need to extract the files and put there under the folder.
If you want to install an “applicative driver” (and EXE or MSI that install drivers) you can do this as a post installation task or through the K1000 once the system will have a K1000 agent with a software distribution job.
If you added drivers only to this folder without touching the DRIVERS folder you do not need to recache the drivers.
It is fundamental that under the drivers_postinstall you name correctly the folders.
Imaging vs. Scripted Install
If you only use scripted install and you have followed the entire article so far you are done! No other steps, other than test your solution, are needed. Big success!
If you are deploying an image with K2000 3.5 or 3.6 there are only two things to remember to be able for the driver management mechanism to work:
- The image you captured need to be a "sysprepped" image. (prepared and closed with SYSPREP before to capture it)
- You need to remember to flag the checkbox "Use driver feed"
The RESTORE folder
This folder is not used for the drivers mechanism but it is used to import and export packages.
So if you export a software distribution job from the K1000 you will need to copy it there to import it in the K2000
Thanks to all my colleagues that helped me to understand better this technology.