Preparing and Installing Windows XP Embedded Images – Part II: Building Images
Now that the environment is ready as we’ve seen on the first part of these posts, let’s start on creating our own Windows XP Embedded image. There are involved different kinds of tools to accomplish this, but you will see that is a simple process at the end of it.
The big picture of this process is that the images are built on the server; using the hardware data from the clients.
This is the tool that you will use to get the hardware data from the clients.
The data represents all the drivers that the Windows XP Embedded image will include to support the hardware on the clients. When Windows XP arrived you probably noticed that a huge difference appears on the hardware detection of the operating system; it’s mainly because the XP included almost every device driver that was available on the market. With Windows XP Embedded the same thing happens, but since you are customizing images for particular clients you must first find out the hardware that it’s available on them.
Using Target Analyzer it’s very simple:
1. First of all you’ll need access to the client’s machine to run this tool.
If it’s a virtualized environment where the server and clients will be using same type of host (physical machine) then there’s no need to access to a “client machine” because the hardware will be the same as in the server. If that’s the case, on your server just access to the folder:
C:Program FilesWindows Embeddedutilities
If they are not virtual machines and they have completely different hardware, you should copy those folder files to a client machine.
2. Double click on tap.exe (Target Analyzer Pro).
Note: There’s also a simpler version of Target Analyzer available, named ta.exe. This tool only compiles a short list of your hardware, and is more suitable for smaller environments.
3. The tool stored a file with all of the hardware information, named devices.pmq. You will use that file when creating the hardware image.
The Target Designer is the main tool to build the images. Here you’ll add all the drivers necessary for your clients, components of Windows XP Embedded, etc.
1. From the Start menu, All Programs, Microsoft Windows Embedded Studio, open Target Designer
2. Create a new profile of the image that you’ll create. To do that, click on File | New. Select a name for your configuration and click OK to close the dialog
3. The first thing to do is to import the hardware data. This way you will have more chances to succeed, avoiding the “missing drivers” problem. From the File menu click on Import
4. Locate the file that was created with Target Analyzer: devices.pmq. That was left on the utilities folder. Click on Open
5. The Import File dialog will open. Click on Start to begin the process
6. After this process finishes, you’ll see on the center pane that all the hardware components were added to your new image.
Now that you have the hardware components added, the next step is to add the required XP operating system components.
On the left pane there are thousands of components that can be included to the images. The Design Templates will help you on adding the right components depending on the client machine profile that you are looking for.
Each template was built targeted at a specific scenario.
You can check on the specific data and components included by each template by right-clicking on any template and selecting Component Help.
To add the components within the template to the current image, you can right-click on the component and select Add, or just drag and drop the component to the image component list.
Adding these templates will not automatically add all the components necessary for the XP Embedded image; those components will be added when the Dependency Check is run, which you will use afterwards.
When creating a Windows XP Embedded image that will boot remotely, you need to add additional drivers. To be able to remotely load a disk image and keep it on RAM, the RAM Disk Driver is needed. This component is the one that is load to support booting an XP Embedded image from RAM memory.
You can add it simply by using the Search option on the left pane of Target Designer. Use the phrase RAM Disk Driver to find the location of the component
To add the component, you can right-click on it and choose Add, or you can drag it to the center pane.
When you are deploying the environment on more than one client, it is a good idea to use the same image on each client, enabling large scale deployment. To be able to share the image, computer-specific information (such as computer name and security identifier) must be removed from the image.
There is a tool named fbreseal (first boot reseal) that removes this computer-specific functionality. This tool is run on the first boot on the newly installed OS, and prepares the computer for deployment on several clients. When the computer is rebooted, the computer will generate a random computer name and SID.
To add the fbreseal tool, locate and add the System Cloning Tool component.
Now that you added all of the components and design templates necessary for your environment, it is time to check that all the components have the right dependencies in place.
This process will add the components that are missing to complete and guarantee the correct functionality of the image.
1. From the Configuration menu, click on Check Dependencies. This process may take a few minutes depending on the amount of components it has to process. When the process finishes, click on Close to continue
2. When you close the dialog, you’ll notice that there are some new items in the lower pane (“Tasks”). These are related to some dependencies that you need to resolve to complete the image.
3. Double click on each of them and you’ll see a menu of options to decide the correct component for each case. Fix each dependency until you fulfill all of the dependencies. Repeat steps 1 to 3 until you get no more dependencies unsatisfied.
These are the most common dependencies to resolve.
a. Regional and Language Options. To be able to boot the OS, you need to choose which language(s) the operating system will support. Simply select the language that you’ll use on the clients and click on OK
b. Advanced Configuration and Power Interface (ACPI). This component requires a boot loader to be specified. In this case, NT Loader is used (EWF NTLDR is used when booting from a read only media, like a CD)
c. Session Manager. To be able to log in, the system requires a Session Manager. Depending on your project, you will use either Minlogon or Windows Logon. Their main difference is that Minlogon is the smallest and logs in the user automatically as System, and Windows Logon takes more space on the image, but allows logging in as different users
d. User Interface Core. This component requires that the system should support a file system format, such as FAT or NTFS. Since NTFS supports permissions and compression, select it
e. Windows Logon (Standard) requires a shell to be specified. For the purposes of this image, just Command Shell is required
When you are creating a Windows XP Embedded image, some components provide a configuration pane.
If you are deploying the XP Embedded Image with applications that require incoming network connections, the Windows Firewall component must be added and turned off. If the Firewall component is not installed, the default action is to reject incoming connections.
This does not affect outgoing network connections.
After you checked that all the dependencies have been fulfilled, the next step is to build the operating system image.
1. From the Configuration menu, click on Build Image
2. Select a folder to store the files to be copied on the image. The default location is C:Windows Embedded Images
3. Click on Build
4. A message will appear saying that it’s recommended to run the dependency check since there were some changes from the last time that it was run. If there were no significant changes that was made that could make any difference on the dependencies, you can choose No. Otherwise choose Yes.
After completing this process you can access to the folder where the files were introduce and check that the operating system files are created.
With that you have an image ready to be used of Windows XP Embedded, please take notice of the size of this image, because if you are planning on having it with a remote boot on diskless devices you’ll need twice amount of RAM or sufficient space on your USB/Flash device.
On the next post, we’ll see how to use this image on a Remote Boot environment with diskless devices.