Preparing and Installing Windows XP Embedded Images – Part III: Using Remote Boot

January 7, 2009 at 5:15 pm | In Windows Embedded, Windows XP Embedded | 30 Comments
Tags: ,

After what we’ve seen on the previous posts: Setting up the environment (Part I) and building an Windows XP Embedded Image (Part II) we can complete the remote boot process with diskless devices with this last part.

There are special hardware requirements for this procedure and could get a little tricky. In the computer you are using to prepare the image (the server), you need an additional hard disk (or virtual disk) which you will use to boot the image from.

To prepare the image for remote booting:

1. Add a second drive to the machine that act as server. Format the volume and set it like an “Active” partition.

2. Copy all of the files that were created on the Windows Embedded Images subfolder you chose to a second disk (virtual disk if you are using virtual machines)

Note: Since this disk will be used to boot an operating system image, remember that the partition within must be Active. Otherwise the operating system will not boot.

3. After copying all of the files to the second hard disk, move it to a client machine and boot that client using the disk.

4. After the image boots, you’ll see that several components are configured in the image, by a process named First Boot Agent. This process takes a few minutes to complete.

If you are using the System Cloning Tool, then fbreseal is run in the first boot, as the last step of the First Boot Agent. As stated before, if the image is rebooted afterwards, the image gets a new name and SID, so the reseal process is lost. As you need to keep it for diskless computers, don’t reboot after you see the following message. Turn off the computer instead.

5. After shutting down the computer, remove the disk and place it as the secondary disk on the computer you use for creating the image. That is the image that will be uploaded to the remote boot server and downloaded by each diskless client.

Using SDI Loader and SDI script

Now that you have the operating system resealed in the secondary disk, it’s time to create the SDI image. You will create two SDI files, one for storing the image as it is copied from the physical (or virtual) disk, and a second one that will store the final image that the clients will use for remote booting.

1. Open SDI Loader from Start | All Programs | Microsoft Windows Embedded Studio

2. Click on Add Disk

3. As you are creating a new SDI, type the name of a new file (like xpe-partition.sdi) and select Add

4. Since the file is new, a dialog will ask if you’d like to create the file. Answer Yes

5. The next step is to set the image size. The image size must be:

a. At least the size that the files on the resealed disk + some space for temporary files

b. At most half of the total system RAM (ie, if the client has 512mb of RAM, the image limit is 256mb)

c. There is a practical image limit of 500mb. Beyond that, it is likely that the image won’t boot.

This SDI file represents the partition that hosts the operating system. Set the image size and click OK

6. After the SDI file is created, a new virtual disk will be automatically added to the server. The disk needs to be partitioned, formatted and mounted. From the Control Panel | Administrative Tools open Computer Management. Select the Disk Management item from the left pane

a. The following dialog will appear notifying of the new disk. Click on Next

b. Make sure the disk is selected and click on Next

c. Since you won’t use a dynamic disk, leave the disk unmarked in the following screen, and click on Next

d. Click on Finish to close the dialog

e. Right click on the newly created disk and choose New Partition

f. In the wizard that opens, click on Next

g. Choose Primary partition type and click on Next

h. Leave the maximum partition size and click on Next

i. Assign a letter to it (like F) and click on Next

j. Make sure that the selected File system is NTFS and click on Next

k. Click on Finish to format the disk.

7. With the partition created, move the files from the disk that was used for the first boot to the virtual partition

8. Optionally, if you need to add additional files to the disk, you can copy them in this step.

9. The next step is to create a remote bootable disk, based on the virtual disk you completed in the previous step. To do that, you will use the SDImgr.wsf script, located in the Windows Embeddedutilities folder.

Open a command prompt and type the following (each command in a line):

cd “c:Program FilesWindows Embeddedutilities”
cscript SDImgr.wsf /new c:ramdisk.sdi
cscript SDImgr.wsf c:ramdisk.sdi /readpart:F:

Replace F: by the unit letter in which you mounted the virtual partition.

Note: All the explorer windows must be closed, including the Disk Management snap-in. When this procedure is running, the script tries to lock (exclusively) the partition and if some program is using it, the procedure will fail.

10. After completing the process, you will have a working remotely-bootable disk, stored on C:ramdisk.sdi. To make it deployable by the Remote Boot Manager, copy the file to C:Program FilesWindows EmebeddedRemote Boot ManagerDownloads.

The Remote Boot Manager requires the images to be stored on that location.

Configuring Remote Boot Manager

The last task to make the image remotely deployable is to configure the Remote Boot Manager to send the image to the clients whenever they request.

1. Take note of the MAC Address (comprised of 12 hex digits) for the computers that will boot remotely. If you are using virtual machines you can easily find out the client NIC’s MAC address by taking a look to the Network Adapter options.

2. Open the Remote Boot Manager, from Start | All Programs | Microsoft Windows Embedded Studio

3. For each diskless computer that will boot remotely, add a new row to the grid, using the following values

a. Type down the MAC Address of the NIC you are configuring

b. Since the Boot Server is the local machine, leave the field at 0.0.0.0

c. As the Boot Program, select the startrom.n12 option. This boot program boots the client computer without asking for confirmation. Since the client computers may not have a keyboard or monitor attached, this is the preferred choice

d. As the Image File Name type the name of the second SDI file. In this case, type ramdisk.sdi

4. Click on Save

Booting client machines

Now that you have set up the DHCP server, created the image and set up the Remote Boot Server, it is time to boot the client machines.

When configuring each client machine, verify that each machine has PXE network booting enabled.

To verify that all of the previous steps were performed correctly, try booting a machine, verifying that it is booting from PXE. After it receives the IP from the DHCP will load the image and the configuration from the Remote Boot Server.

Client receiving image from the server

Client booting the image downloaded

Well that’s pretty much for now with Windows XP Embedded. I’ll be reviewing Windows Embedded Standard 2009 on next posts.

Hope you found it useful.

Cheers

Preparing and Installing Windows XP Embedded Images – Part I: Setting up the Environment

Preparing and Installing Windows XP Embedded Images – Part II: Building Images

30 Comments »

RSS feed for comments on this post. TrackBack URI

  1. [...] Preparing and Installing Windows XP Embedded Images – Part III: Using Remote Boot Possibly related posts: (automatically generated)Upload files to 100+ hosts from your Windows desktop Posted by Augusto Alvarez Filed in Windows Embedded [...]

  2. [...] Preparing and Installing Windows XP Embedded Images – Part III … [...]

  3. [...] Preparing and Installing Windows XP Embedded Images – Part III: Using Remote Boot [...]

  4. In the section “Using SDI Loader and SDI script” note the following. Steps 1-7 are optional since there is a shortcut method available. Once you have mounted the target disk drive on the development machine, the target disk drive will be given a drive letter when the development machine is booted. You can use that drive letter as the argument to the “readpart” option in step 9. If you use this method, the partition you create for the target disk drive should be the same size as you want your final SDI image file to be which is the same size you want your ramdisk on the deployed device to be.

  5. Great tip on the readpart argument.

    Thanks for the feedback!

    Cheers!

    Augusto

  6. How would you further bake things into the image? For instance, citrix client or some other third party app? Do you do that through the component designer?

  7. Hey there Arwin,

    Citrix has special clients developed for XP Embedded, you should check on Citrix home page to download those components and install them on your Database.

    The other ways are creating the component using Component Designer; or you can even try to install that app using a script each time the machine boots (not recommended though)

    Cheers!

  8. Hi folks. Just looking into this. How do you add products like Microsoft Office?

    Thanks. Grant.

  9. Hello Grant,

    Regarding Windows XP Embedded and Microsoft Office: it’s not actually permitted by the license to install the Office suite on any XP Embedded installation.

    Check the “Windows XP Embedded Licensing Requirements and Guidelines” at http://msdn.microsoft.com/en-us/library/ms940172.aspx

    “Device Limitations/Limited Use of Product

    Licensee may not use or include Windows XP Embedded, the Windows XP Embedded run-time images, or any components thereof, in (i) the development of a general purpose computing device or (ii) any device or system in which a malfunction of the operating system would result in foreseeable risk of personal injury, death to the operator of the device or system, or to others, or severe physical or environmental damage.”

    “Definition of General Purpose Device

    A “general purpose device” is any computer device or system whose functionality allows unrestricted use of, or access to, “Office Automation and Personal Computing Functions.” Office Automation and Personal Computing Functions refer to consumer or business tasks or processes, including (but not limited to): e-mail, word processing, spreadsheets, database, network/Internet browsing, scheduling, and personal finance. Office Automation and Personal Computing Functions include features and functions derived from Windows XP Embedded, as well as features and functions derived from other software used on the device.”

    Cheers!

  10. Hi Augusto. Thanks for the response. I guess we’ll have to find a different diskless solution. The customer has 2 workstations in remote conference rooms that they want to be diskless and run the Office suite (ie. mainly Powerpoint.)

    Thanks. Grant.

  11. [...] Preparing and Installing Windows XP Embedded Images – Part III: Using Remote Boot [...]

  12. [...] process it’s practically the same that we executed on XP Embedded (Post I, Post II and Post III). And again, as I mentioned before, this deployment is oriented to Embedded images booting on [...]

  13. hai..i have problem.can u give me are process flow cart pxe boot..
    pxe boot hard disk server windows 2003..in windows 2003 i must create image windows xp.to do that i must configure windows deploying service.the problem is before i can use wds i must have window aik.aik more to vista.but my lecture want os xp.how i want to do.can u give me idea to settel this

  14. Hello Izzat88,
    If you are looking to deploy XP Pro images with WDS, there are several things to consider since XP does not use the image native format used in WDS. For example: Windows XP is a HAL dependant OS, meaning that if you create a reference XP image, the hardware of the client machines must be the same than the reference image.
    But, there are some workarounds for that, here’s a link that might help you:
    http://www.midteq.co.uk/index.php?option=com_content&task=blogcategory&id=36&Itemid=68
    Cheers!
    Augusto

  15. Izzat88,
    Windows AIK is not a requirement for deploying images, WAIK is a set of tools to complement WDS deployment process.
    Check also the WDS section on my blog to find out more.
    Hope it helps,
    Cheers
    Augusto

  16. i can’t not boot my XPE. i have added two hardisks and do all the step given in tutoril. my fba reboots again and again and in log file the invalid drive problem is written. help plz email me

  17. Hello Samoel,
    Which error appears to you in the client’s side when it tries to boot with PXE? The error should appear real quickly on the screen.
    The DHCP configurations are set correctly for PXE boot? I’ve mentioned those specific steps within the Windows Embedded 2009 step-by-step posts: http://blog.augustoalvarez.com.ar/2009/03/29/windows-embedded-standard-2009-step-by-step-deployment-part-i/
    Cheers!
    Augusto

  18. Hello Augusto,

    I followed the steps of deployment part 1 & 2. After building the image files, I copied the files to an harddisk and run the harddisk as a master disk in another computer. However, it can’t boot the XPe. The computer rebooted again and again without displaying any picture/screen.
    Please help me. Thanks

    • The NTLDR file is included in the image you’ve just created?
      Cheers!
      Augusto

      • Yes..NTLDR file was included. In the harddisk, there are 4 files (boot.ini,NTDETECT.com, ntldr and WERUNTIME.ini) and 3 folders (Documents and Settings, Program Files and Windows).
        By the way, I did not set DHCP when setting the environment (deployment part 1) because I thought it was not necessary for my machine. My step is true or not?
        Thanks for the response.

  19. Hello Dama,
    The hardware where you captured the device drivers is the same one from which you are trying to deploy it?
    It could be related to a dependency not solved, check that also.
    Cheers!
    Augusto

    • Hello Augusto,

      Thanks for the response. The hardware I captured the device driver is same with the deployed computer. By the way, the computer has successfully booted from the harddisk after editing file boot.ini regarding the harddisk and XPe run well.
      However, I still have problem. Before capturing the device drivers, I installed a device (& the driver) connected to the computer by using USB interface. After deploying, there was no driver for the USB device. Although the computer could detect the device and install the driver, but the USB device could not be accessed (message: problem in INF file). Is there any mistake in installation and deploying I did before? Could you please tell me if there is possibility to install USB device after deploying XPe in the computer.
      Thank you very much.

  20. Can someone pointed to me where is the “Citrix client for XP embedded”? I need to inclued this component in my xpe image. thanks a lot.

  21. what shall i do to add the image created to my car pc
    as to be the default operating system??
    there are no connection between my pc & the carpc
    in the meaning i made all the steps but dont know how to make this embedded created image the operating system of my carpc
    n.b i got the carpc devices.pmq & included it in the image
    but how to replace it’s current operating system with this image???
    thanks in advance :)

    • Hello Salama,
      Well that depends on the manufacturer of your carpc, check the provider’s site about replacing the operating system.
      Cheers!
      Augusto

      • my carpc is self made not provided by anyone
        i have a mini itx motherboard connected to a 3.5 inch hdd

      • the car pc specs
        intel d945gsejt mini-itx motherboard with intel 1.6 ghz atom processor
        2Gb ram
        320 gb sata HDD
        that’s it
        thanks for your help Augusto

  22. Salama,
    If you completed the steps as above, adding all the necessary boot components (except for the RAM disk), completing the first boot; you’ll have a full booteable image to use it on your carpc.
    Cheers,
    Augusto

  23. Hello Augusto,
    Like Dama I have the same repeated reboot issue when I tried to boot the XPE files from the hard drive on the target computer the first time. I have followed the instructons carefully. But unlike Dama I have looked at the Boot.ini file and I can’t see anything wrong with it. Help

    • Hello Ibrahim,
      Are there all the dependencies solved when you built the image?
      Cheers!
      Augusto


Leave a comment

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Blog at WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.