How to Add Support for Additional Operating Systems in DS for Dell 2.0
This article shows how to add support for additional versions of Windows Server to Deployment Solution for Dell Servers version 2.0. We will use Window 2003 Server Enterprise as an example. The concepts in this article can be adapted to any Windows or Linux based OS. It is expected that you are familiar with the OS you are trying to add support for, and understand the basics of scripted OS installations.
Note: This article requires that you edit the DellConfg.xml file. If for some reason after you edit this file the configuration utility doesn't open, simply delete the file and it will be regenerated the next time the configuration utility is launched. You can then try to make the changes again.
Adding support in the Configuration Utility
To add support for an additional OS to the Configuration Utility, do the following:
- Edit DellConfig.xml located off the eXpress share in the Dell\atools folder. Add a new SupportedOS entry to the xml file. It will be easiest to just copy one of the existing entries for a Windows OS, and modify it for the new OS.
There are a number of entries we will have to change for our new OS:
- key*: Change this to a unique value that is not in use by any other OS.
- OSName*: This is the name that will be displayed in the configuration utility.
- OSAllowsDrivers: Typically this is true for Windows based OSs, and false for all others. This basically tells the configuration utility whether or not drivers can be added for use during the install. While it is possible to add drivers to other types of OSs, currently the configuration utility only supports Windows OSs.
- OSDriversPath*: Relative path to where drivers will be copied to when adding drivers through the configuration utility.
- OSFilesPath*: Relative path to where the OS files will be located.
- OSAnswerFile*: Relative path to the location of the unattend.txt file.
- OSRequiredFile: File that is required during the install process of the OS. This simply helps the configuration utility in figuring out whether the OS files are present.
- OSRequiredFolder: The folder that the required file is located in.
- OSBatVar*: Variable that is used in the scripts to point to the OS files location. Remember what you set this to, you will need it later.
- OSDSAID: Used when obtaining drivers from the DSA CD, provides a match between the OSs in the configuration utility and those listed with the drivers. This value should be w2000 for versions of Windows 2000, and w2003 for versions of Windows 2003.
- * = must be unique to each supported OS
- Relative paths are located off the eXpress share.
- Create a new folder in the OSSup folder for the new OS version, and create an unattend.txt file in that folder. For our example we will create the W2K3Ent folder in the Dell\OSSup folder and copy the unattend.txt file in the Dell\OSSup\W2K3 folder to Dell\OSSup\W2K3Ent.
Here's an example from our DellConfig.xml file:
Adding support in the scripts
Now to add the necessary entries to SetDell and copy the scripts, complete the following steps:
- Open the configuration utility and click on the advanced tab. Click edit script settings and edit the setdell file for each of the pre-boot environments (DOS, Linux, and WinPE)
- Scroll down in each setdell file and find the "OS Path Definitions" section. Copy one of the existing entries and modify it for the new OS. The variable name MUST match the OSBatVar setting you added to the DellConfig.xml file (see above). The entries we need to add are as follows:
- Setdell.sh (Linux):
declare –x W2K3_ENT_OS_SRC="$DELL_PATH/ossup/w2k3ent"
Notice that the slashes for the path for the Linux SetDell are backslashes, whereas the slashes for the DOS and WinPE paths are forward slashes.
- Setdell.sh (Linux):
- For each pre-boot, navigate to the Dell\ascripts folder and copy the existing windows scripts and rename them according to the name of the new OS. The files we will copy and the new names we will give them are listed below:
- Linux (Dell\ascripts\Linux):
Edit each of the newly copied files. The scripted install process is divided into two steps. The first step copies the unattend.txt file to a temp location so it can be tokenized. Then the second script sets everything up and launches the install. We want to edit the first scripts (the ones that start with ow301 in the example above) now and we'll get to the second scripts in a minute.
We will need to edit two or three locations in each script, depending on the pre-boot environment. Simply change the path of the unattend.txt file to the path of the unattend.txt file you copied earlier. This path must point to the same location as the OSAnswerFile entry you added to the DellConfig.xml file earlier. See the pictures below for the exact lines to change and for an example of what they would be changed to.
Now we want to edit the second scripts (ow302 prefix in my example above). There are three or five places that need to be changed in these scripts, depending on the pre-boot environment.
- Change the "Default" entry in the comments for the OS_OEM to reflect the new path to the folder you created in the OSSup folder (Linux only, this is optional but is a good idea).
- Change the OS_OEM variable in the user modification section to the same location you just changed the "Default" line to. (Linux only)
- Change the OS_SRC variable in the "OS specific paths" section to match the OSBatVar entry in the DellConfig.xml file.
- The SYS_INI variable may need to be changed. For any version of Windows 2003 this should be W2K3sys.ini, and for any version of Windows 2000 this should be W2Ksys.ini. In our example we won't be changing this line since we copied the Windows 2003 scripts and are adding support for a version of Windows 2003.
- Change the OS_TYPE variable to match the name of the folder you created in the Dell\OSSup folder.
See the examples below for the changes made to these files for our example.
Creating jobs to install the OS
Finally we need to add some new jobs to reference the scripts we just copied. We need to do the following to accomplish this:
- Now that we have the new script files created we just need to add some new jobs and we are ready to go. The following steps are the same for each of the pre-boot environments, so we will only go through them once. Just repeat these steps for each pre-boot you are using. Also, we are only going to add jobs for the scripted installs. It should be fairly trivial to add support for the image jobs if it is desired.
- Open the DS console.
- In the job pane locate the Deployment Solution for Dell Servers v2.0 DOS jobs folder. Navigate to the "MS Windows" folder under "2. OS Deployment Jobs", "2.1 Unattended Install Jobs".
Copy the "Windows 2003 Server Scripted Install" job, and paste it into the same folder. Rename it according to the name of the new OS you are adding support for.
Now click on the newly copied job. There are two "Run Script" jobs that we want to change. Change the first one to reflect the first script you created earlier, then change the last one to reflect the second script you created earlier. If you browse to the new script the entire absolute path will take the place of the former relative path. Be sure to change this back to the relative path by replacing everything before the \Dell with a "." (dot). See figure 16 below.
- In the jobs pane navigate to the "2.3 Bare Metal to OS" folder located under "2. OS Deployment Jobs".
- Copy the "Bare Metal to Windows 2003 Server (Scripted)" job, and paste it into the same folder. Rename it according to the name of the new OS you are adding support for.
- Click on the newly copied job. You need to change two of the bottom three scripts just as you did earlier to point to the same scripts you created earlier. See figure 17 below.
That's it. You should now be able to follow the steps outlined in the product documentation to copy the install files and drivers, and launch a scripted install of the OS you just added support for.