Monday, October 31, 2005

More about bootable Windows XPe CDs

The book came in from Cseri this weekend.
here are the steps [boiled down] that he
gives.

1. Make a configuration that contains el torito
and ewf support burn this configuration to disk.

2. use hd2iso on the previously mentioned disk
to make an un-used cd.

3. boot the hard drive mentioned in step 1. let
it run through the fba process.

4. reboot with cd mentioned in step 2 in the drive
but but from hard drive run some command.

5. reattach developement hard drives and run
hd2iso again to make a real bootable system.

i dont care for this there is to much switch
and moving about. i would prefer a system
that gives me iso that i burn immeadiatly
or i could test immediatly via virutal
pc or vmware.

Friday, October 28, 2005

Building and Deploying a Runtime Image

The following is verbatim taken from the
the website
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xpehelp/html/xetbsstep6buildwindowsxpembeddedrun-timeimage.asp

Microsoft Windows XP Embedded
Step 1: Set up the Development System

This tutorial requires that you configure your system to support the deployment of a Windows XP Embedded image by adding a second hard disk to your system. The first disk is for Windows XP Professional and the Windows XP Embedded tools. The second disk is where your Windows XP Embedded OS image will be deployed.

1. After installing Windows XP Professional and Windows XP Embedded tools, turn off the system.
2. Add the second hard drive to an empty slot on the IDE bus. This tutorial uses the following settings:
* IDE Channel 1, Master: Windows XP Professional
* IDE Channel 1, Slave: Windows XP Embedded OS deployment disk
3. Turn on the system and log on to Windows XP.
4. Right-click My Computer and choose Manage. The Computer Management window opens.
5. Select Disk Management from the Computer Management console tree. The Logical Disk Manager displays the available media on your system.
6. Right-click the unallocated space of the new hard disk (disk1) and select New Partition. Use the New Partition Wizard to create a primary partition, formatted for NTFS.
7. Access and edit your Boot.ini file, adding a line for the second hard disk. The Boot ARC path changes according to the IDE port to which the hard disk is configured. The Boot ARC path to add for this tutorial is multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Embedded" /fastdetect. For example, see the following Boot.ini file:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
multi(0)disk(0)rdisk(1)partition(1)\WINDOWS="Microsoft Windows XP Embedded" /fastdetect

You are now ready to create a new component for the devices on your system.

Microsoft Windows XP Embedded
Step 2: Create a Component for Target Devices

After your system is configured to support the deployment of a Windows XP Embedded image, you can create a devices component. The device component includes support for all the hardware attached to your system, including device drivers for video, networking, and so on.

1. Navigate to the Program Files\Windows Embedded\Utilities directory.
2. Run Tap.exe.

The resulting Devices.pmq file appears in the Program Files\Windows Embedded\Utilities directory.
3. Run Component Designer.
4. From the File menu, choose Import.

The Choose File for Import dialog box appears.
5. In the file list, choose Devices.pmq file and then choose Open.

The Import File dialog box appears.
6. Choose the Start button to import the Devices.pmq file into Component Designer.

It can take several minutes for the entries in the Devices.pmq file to be matched with the device drivers available in the database.
7. Choose the Close button when the import finishes.

The Devices.sld file appears in the SLD browser pane.
8. From the File menu, choose Save to save the .sld file.
9. From the Tools menu, choose Component Database Manager.

The Component Database Manager opens.
10. Choose the Database tab, and then choose Import.

The Import SLD dialog box appears.
11. Browse to the Devices.sld file, choose it, and choose Open.
12. Choose Import.

The .sld file is added to the database and the devices component is added to the database.
13. Close the Import SLD dialog box and the Component Database Manager.
14. Close Component Designer.

You are now ready to create a new configuration.
-------------------------------------------------------------------------------------
Microsoft Windows XP Embedded
Step 3: Create a New Configuration

After creating a devices component, you can start building your run-time image. In Target Designer, you add components to your configuration. A configuration is a collection of components that constitutes a Windows XP Embedded OS image.

1. Run Target Designer.
2. From the File menu, choose New.

The New Configuration dialog box appears.
3. Type in a configuration name, for example, MySystem, and choose OK.

The MySystem.slx configuration appears in the configuration editor.
4. From the Component Browser, drag the devices component to the configuration editor pane.

The devices component is added to the configuration.
5. In the Search box, type Explorer Shell and choose the Search icon.

The Explorer Shell component, located in the Software\System\User Interface\Shells\ node, is highlighted in the component browser.
6. Drag the Explorer Shell component to the configuration editor pane. The Explorer shell is added to the configuration.
7. Using the same technique, add the following components:

Note Search starts from your last selected node in the component browser, and searches down from there. Select the top-level node in the component before choosing the Search icon.
* NTFS (Software\System\System Services\Base node)
* NT Loader (Software\System\System Services\Base node)
* NTFS Format (Software\System\Storage & File Systems\Applications node)
* Language Support to choose a default language component (Software\System\International\Infrastructure node)
* User Interface Core (Software\System\User Interface\Shells\Windows Shell)

You are now ready to update the configuration settings.
-------------------------------------------------------------------------------------
Microsoft Windows XP Embedded
Step 4: Update the Configuration Settings

After creating your run-time image, there are several configuration settings that you must update, depending on the requirements of your run-time image and the target device.

1. Expand the User Interface Core component in the configuration browser and choose Settings.

The User Interface settings appear in the details pane.
2. Select the following check boxes:
* Show My Computer on Start Menu
* Show Desktop icons
* Show Help and Support on Start Menu
* Show Control Panel on Start Menu
* Show Network Connections on Start Menu
* Show Search on Start Menu
* Show Run on Start Menu
* Show Log Off on Start Menu (default)
* Show Shut Down on Start Menu (default)
* Show Internet Explorer on Start Menu
* Show All Programs list on Start Menu
* Lock Task bar (default)
* Use Windows Classic folders (default)
* Enable Drag and Drop on Start Menu (default)
3. At the top of the MySystem node in the configuration browser, choose Settings.

The configuration settings appear in the details pane.
4. Under Target Device Settings, choose Show.
5. Type the correct values for the second hard disk where the Windows XP Embedded OS will be deployed. For example, a second hard disk, with the letter D: and boot arc path of rdisk(1)partition(1) would require the following values:
* Boot drive: D:
* Windows folder: D:\WINDOWS
* Program Files folder: D:\Program Files
* Documents and Settings folder D:\Documents and Settings
* Boot ARC path: multi(0)disk(0)rdisk(1)partition(1) (default)
* Boot partition size (MB): 5000
* Partition cluster size (bytes): 4096 (default)

You are now ready to check the dependencies of your configuration.
------------------------------------------------------------------------------------
Microsoft Windows XP Embedded
Step 5: Check Dependencies

After configuring your run-time image, check its dependencies before building.

1. From the Configuration menu, choose Check Dependencies.

The dependency check may run for a few minutes or longer, depending on the performance capabilities of your computer.
2. When the dependency check has completed, choose Close.

A task is added to the Tasks tab whenever more than one component is available to resolve a dependency.
3. If there are no tasks, proceed to Step 6: Build the Windows XP Embedded Run-Time Image.

- or -

Double-click a task on the Tasks tab.

The Resolve Dependency dialog box appears, and describes how many components must be selected to resolve the dependency, and listing the components available to do so.
4. Select components to resolve this dependency and choose Add.
5. Resolve all of the dependencies listed on the Tasks tab.

Note Resolving dependencies may introduce new dependencies.

6. Run the dependency check again, resolving any additional tasks.

Do this until no tasks appear on the Tasks tab.
7. After resolving all dependencies, close the Dependency Check dialog box.

You now have a complete configuration that is ready to build into a run-time image.

Microsoft Windows XP Embedded
Step 5: Check Dependencies

After configuring your run-time image, check its dependencies before building.

1. From the Configuration menu, choose Check Dependencies.

The dependency check may run for a few minutes or longer, depending on the performance capabilities of your computer.
2. When the dependency check has completed, choose Close.

A task is added to the Tasks tab whenever more than one component is available to resolve a dependency.
3. If there are no tasks, proceed to Step 6: Build the Windows XP Embedded Run-Time Image.

- or -

Double-click a task on the Tasks tab.

The Resolve Dependency dialog box appears, and describes how many components must be selected to resolve the dependency, and listing the components available to do so.
4. Select components to resolve this dependency and choose Add.
5. Resolve all of the dependencies listed on the Tasks tab.

Note Resolving dependencies may introduce new dependencies.

6. Run the dependency check again, resolving any additional tasks.

Do this until no tasks appear on the Tasks tab.
7. After resolving all dependencies, close the Dependency Check dialog box.

You now have a complete configuration that is ready to build into a run-time image.

Microsoft Windows XP Embedded
Step 7: Deploy the Windows XP Embedded Run-Time Image

After the run-time image is built, it can be deployed.

1. In Windows Explorer, navigate to your run-time build directory, for example, C:\Windows Embedded Images.
2. Copy the contents of the build directory to your second hard disk.

For example, select all the files and directories in the build directory and drag them to the D: drive.
3. Restart your system.
4. At the Microsoft Windows OS Selection prompt, select your second hard disk. For example, select Microsoft Windows XP Embedded.

The Microsoft Windows XP Embedded splash screen is displayed and FBA starts.
5. FBA reboots your system. At the Microsoft Windows OS Selection prompt, select to boot the second hard disk to complete the First Boot Agent phase.

After the First Boot Agent phase is complete, you are automatically logged onto your Microsoft Windows XP Embedded system as administrator.

You have successfully deployed a run-time image. Using the steps and examples provided in this tutorial, you can create a run-time image for a specific target device.

EWF

The following paragraph i quote from an online article

Differences Between Windows XP Embedded and Windows XP Professional

by Katherine Enos
Microsoft Corporation
December 2004
Applies to Microsoft® Windows® XP Embedded
...
Embedded device disk volumes often require protection against improper disk write operations. Windows XP Embedded provides Enhanced Write Filter (EWF) as a solution for this scenario. EWF protects the contents of disk volumes by redirecting write operations to a different storage location, which is called an overlay. This strategy allows write operations to be made without affecting the original contents of a disk volume. Configuration information about the EWF-protected volumes on a device is stored in unpartitioned disk space on the same disk. You can use EWF on devices that start from a bootable CD-ROM because EWF allows read-only media, including CD-ROM and flash, to boot and run.

Ok, several of the articles i have run into have stated that
you must include EWF support to your target image to boot from a cd.

Thursday, October 27, 2005

First boot agent rolls over and over

Here is a posting on qoogle groups about
this problem:

Fixed font - Proportional font

First Boot Agent Just Restarts Windows? No Errors?
All 4 messages in topic - view as tree

Chris Lanier Aug 9 2003, 7:55 pm show options
Newsgroups: microsoft.public.windowsxp.embedded
From: "Chris Lanier" - Find messages by this author
Date: Sat, 9 Aug 2003 20:53:40 -0500
Local: Sat, Aug 9 2003 8:53 pm
Subject: First Boot Agent Just Restarts Windows? No Errors?
Reply to Author | Forward | Print | Individual Message | Show original | Report Abuse

When trying to boot into XP embedded i get to the First Boot Agent then
Windows just reboots. No errors, nothing. when building the image i get no
error and two warnings one of which is "R: Warning 1116: Building
unreleased component: "devices [Version 1.0, R2]" the other is that i'm
using the 180 day trial.....I'm only including basic Windows functions in
the buidl i.e. NTFS, Explorer shell, and Windows media functions. Is their
something i'm doing wrong. i watched and followed the video on the XP
embedded site but i cant boot into embedded.


Nandini [MS] Aug 9 2003, 11:41 pm show options
Newsgroups: microsoft.public.windowsxp.embedded
From: "Nandini [MS]" - Find messages by this author
Date: Sat, 9 Aug 2003 21:40:08 -0700
Local: Sat, Aug 9 2003 11:40 pm
Subject: Re: First Boot Agent Just Restarts Windows? No Errors?
Reply to Author | Forward | Print | Individual Message | Show original | Report Abuse

Chris,

Refer to this article
http://www.microsoft.com/windows/embedded/community/tips/xp/reboots.asp

Nandini

This posting is provided "AS IS" with no warranties, and confers no rights.

"Chris Lanier" wrote in message

news:eZOHIntXDHA.1492@TK2MSFTNGP12.phx.gbl...

- Hide quoted text -
- Show quoted text -
> When trying to boot into XP embedded i get to the First Boot Agent then
> Windows just reboots. No errors, nothing. when building the image i get
no
> error and two warnings one of which is "R: Warning 1116: Building
> unreleased component: "devices [Version 1.0, R2]" the other is that i'm
> using the 180 day trial.....I'm only including basic Windows functions in
> the buidl i.e. NTFS, Explorer shell, and Windows media functions. Is
their
> something i'm doing wrong. i watched and followed the video on the XP
> embedded site but i cant boot into embedded.



Chris Lanier Aug 10 2003, 5:16 pm show options
Newsgroups: microsoft.public.windowsxp.embedded
From: "Chris Lanier" - Find messages by this author
Date: Sun, 10 Aug 2003 17:14:27 -0500
Local: Sun, Aug 10 2003 5:14 pm
Subject: Re: First Boot Agent Just Restarts Windows? No Errors?
Reply to Author | Forward | Print | Individual Message | Show original | Report Abuse

Ok...That you for that bit of info, i only haev one problem now. Now do i
find out the drive letter from Real Mode? It's not like i can boot into DOS
seeing that all my paritions are NTFS. Is their another way to figure it
out? Thanks Again.

"Nandini [MS]" wrote in message

news:%23UY77lvXDHA.2476@tk2msftngp13.phx.gbl...

- Hide quoted text -
- Show quoted text -
> Chris,

> Refer to this article
> http://www.microsoft.com/windows/embedded/community/tips/xp/reboots.asp

> Nandini

> This posting is provided "AS IS" with no warranties, and confers no
rights.

> "Chris Lanier" wrote in message
> news:eZOHIntXDHA.1492@TK2MSFTNGP12.phx.gbl...
> > When trying to boot into XP embedded i get to the First Boot Agent then
> > Windows just reboots. No errors, nothing. when building the image i
get
> no
> > error and two warnings one of which is "R: Warning 1116: Building
> > unreleased component: "devices [Version 1.0, R2]" the other is that i'm
> > using the 180 day trial.....I'm only including basic Windows functions
in
> > the buidl i.e. NTFS, Explorer shell, and Windows media functions. Is
> their
> > something i'm doing wrong. i watched and followed the video on the XP
> > embedded site but i cant boot into embedded.



Andy Allred [MS] Aug 10 2003, 11:07 pm show options
Newsgroups: microsoft.public.windowsxp.embedded
From: "Andy Allred [MS]" - Find messages by this author
Date: Sun, 10 Aug 2003 21:06:01 -0700
Local: Sun, Aug 10 2003 11:06 pm
Subject: Re: First Boot Agent Just Restarts Windows? No Errors?
Reply to Author | Forward | Print | Individual Message | Show original | Report Abuse

Did you look at the fba log in the runtime at .\windows\fba\fbalog.txt.
Usually if the drive letter is incorrect fba will tell you what drive letter
it was supposed to be, you'll see it all over the log.

Also, if you need help understanding the drive lettering scheme, this is
explained on various web sites I'm sure, but the first partition of the
first HD is C:, the first partition of the second HD is D:, the second
partition of the first HD is E:, .......

--
Andy

so look at the file fbalog.txt
i found the file and low and behold.
all the entries state:
17:49:40 PM - [FBAFixWindowsPathsInRegistry] Incorrect WinDir: [J:\WINDOWS] should be [D:\WINDOWS]

now to find out if this can be repaired in situ.
i never found out if it could be fixed in situ.
i went back and when to the target settings
and made sure that correct drive was was in all the
entries.
also the fba took a bit of time. this makes sense
as when it failed it took almost no time, because
in each case it wad failing.

NET commands

i am going to try to clone virtual
pc hard drive or copy all the files
let see how that works.

The virtual hard drive image for
microsoft's virtual pc is a .vhd
file they are by default located in
C:\Documents and Settings\\My Documents\My Virtual Machines\New Virtual Machine.vhd

ok there is supposed to be tool
called winimage that will view vhd
files:

http://www.winimage.com/
downloaed beta 8.0 version
and installed
i was indead able to open vhd
file and examine the contents.
are there other tools?
that do this (specifically command
line tools?) lets see.


used the winimage tool
to extract what vitual pc vhd
file has.

there are not many files.

boot.ini
ntldr
ntdetect.com

boot.ini:
http://www.winguides.com/registry/display.php/1268/
Using BOOT.INI Startup Switches (Windows NT/2000/XP) Popular
Windows NT, 2000 and XP use a configuration file called BOOT.INI to control how the operating system is booted and any startup options. By modifying the startup switches you can manage the boot process including booting Windows in Safe mode, creating a log file, or disabling the splash screen.

Open you the root partition of your hard drive (normally C:\) and find the file called "BOOT.INI". You may need to enable hidden files under Folder > Options.

Right-click on the file, select Properties and uncheck "Read-only" then click OK. You may like to make a backup of the file at this point to allow you to restore if you experience problems.

Open the file in Notepad and under the [operating systems] section you will find a list of all the installed operating systems. For example:

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /fastdetect

To enable or disable startup options simply change or add any of the switches listed below to the default command-line. For example you could add "/SOS" to the command-line above to display the splash screen and view the drivers being loaded.

# /3GB - New to Service Pack 3. This causes the split between user and system portions of the Windows NT map to become 3GB for user applications, 1GB for System. To take advantage of this the system must be part of the NT Enterprise suite and the application must be flagged as a 3GB aware application.

# /BASEVIDEO - The computer starts up using the standard VGA video driver. Use this if you have installed a graphics driver that is not working.

# /BAUDRATE - Specifies the baud rate to be used for debugging. If you do not set the baud rate, the default baud rate is 9600 if a modem is attached, and 19200 for a null-modem cable.

# /BOOTLOG - Makes 2000 write a log of the boot to the file %SystemRoot%\NTBTLOG.TXT Windows 2000/XP Only.

# /BURNMEMORY=x - Makes NT forget about the given amount of memory in MB. If /burnmemory=64 was given then 64MB of memory would be unavailable.

# /CRASHDEBUG - The debugger is loaded when you start Windows NT, but remains inactive unless a Kernel error occurs. This mode is useful if you are experiencing random, unpredictable Kernel errors.

# /DEBUG - The debugger is loaded when you start Windows NT, and can be activated at any time by a host debugger connected to the computer. This is the mode to use when you are debugging problems that are regularly reproducible.

# /DEBUGPORT=comx - Specifies the com port to use for debugging, where x is the communications port that you want to use.

# /FASTDETECT - Specifying FASTDETECT causes NTDETECT to skip parallel and serial device enumeration for a boot into Win2K, whereas omitting the switch has NTDETECT perform enumeration for a boot into NT 4.0. Win2K setup automatically recognizes dual-boot configurations and sets this switch for BOOT.INI lines that specify a Win2K boot. Windows 2000/XP Only.

# /HAL= - Allows you to override the HAL used, for example using a checked version.

# /INTAFFINITY - Sets the multiprocessor HAL (HALMPS.DLL) to set interrupt affinities such that only the highest numbered processor in an SMP will receive interrupts. Without the switch the HAL defaults to its normal behavior of letting all processors receive interrupts. Windows 2000/XP Only.

# /KERNEL= - Same as above but for the kernel.

# /MAXMEM:n - Specifies the maximum amount of RAM that Windows NT can use. This switch is useful if you suspect a memory chip is bad.

# /NODEBUG - No debugging information is being used.

# /NOGUIBOOT - When this option is specified the VGA video driver responsible for presenting bit mapped graphics during Win2K's boot process is not initialized. The driver is used to display boot progress information, as well as to print the Blue Screen crash screen, so disabling it will disable Win2K's ability to do those things as well. Windows 2000/XP only.

# /NOSERIALMICE=[COMx | COMx,y,z...] - Disables serial mouse detection of the specified COM port(s). Use this switch if you have a component other than a mouse attached to a serial port during the startup sequence. If you use /NOSERIALMICE without specifying a COM port, serial mouse detection is disabled on all COM ports.

# /NUMPROC=n - Only enables the first n processors on a multiple processor system.

# /ONECPU - Only use the first CPU in a multiple processor system.

# /PCILOCK - Stops Windows NT from dynamically assigning IO/IRQ resources to PCI devices and leaves the devices configured by the BIOS.

# /SAFEBOOT - This is an automatic switch which NTLDR should complete for you when you use the F8 menu to perform a safe boot. Following the colon in the option you must specify one of three additional switches: MINIMAL, NETWORK, or DSREPAIR. The MINIMAL and NETWORK flags correspond to safe boot with no network and safe boot with network support. The safe boot is a boot where Windows 2000/XP only loads drivers and services that are specified by name or group in the Minimal or Network Registry keys under HKLM\System\CurrentControlSet\Control\SafeBoot. The DSREPAIR (Directory Services Repair) switch causes NT to boot into a mode where it restores the Active Directory from a backup medium you present. An additional option that you can append is "(ALTERNATESHELL)". This tells NT to use the program specified by HKLM\System\CurrentControlSet\SafeBoot\AlternateShell as the graphical shell, rather than to use the default which is Explorer. Windows 2000/XP only.

# /SOS - Displays the driver names while they are being loaded. Use this switch if Windows NT won’t start up and you think a driver is missing. This option is configured by default on the [VGA] option on the boot menu.

# /WIN95 - This switch is only pertinent on a triple-boot system that has DOS, Win9x and Windows NT installed. Specifying the /WIN95 switch directs NTLDR to boot the Win9x boot sector stored in BOOTSECT.W40. See Microsoft KB Article Q157992 for more information.

# /WIN95DOS - This switch is only pertinent on a triple-boot system that has DOS, Win9x and Windows NT installed. Specifying the /WIN95DOS switch directs NTLDR to boot the DOS boot sector stored in BOOTSECT.DOS. See Microsoft KB Article Q157992 for more information.

# /YEAR= - Specifying this value causes NT/Windows 2000 core time function to ignore the year that the computer's real-time clock reports and instead use the one indicated. Thus, the year used in the switch affects every piece of software on the system, including the NT kernel. Example: /YEAR=2005. Note: this option is only available on NT 4.0 Service Pack 4 and Windows 2000/XP.

Save the file and restart Windows for the change to take effect.

ntdldr:
When a system is configured with Windows NT, the NT boot sector loads and executes NTLDR.
so there is a boot sector then the boot
loader.


ntdetect.com:
http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/ntdetect-o.asp

Here is what microsoft says about boot process:

Ntldr contains the program code that Windows XP Professional needs to read and write to disks formatted by using the NTFS or file allocation table (FAT16 or FAT32) file systems.
Reads the Boot.ini file

Ntldr parses the Boot.ini file to determine the location of the operating system boot partition. For systems that use a single-boot configuration, Ntldr initiates the hardware detection phase by starting Ntdetect.com. For multiple-boot configurations that include Windows XP Professional, Windows 2000, Windows NT 4.0, Windows 95, Windows 98, Windows Me, or MS-DOS, you receive a menu of operating system choices at startup.

Note

* Computers running Windows NT 4.0 require Service Pack 4 or later to access NTFS volumes previously mounted by Windows 2000 or Windows XP Professional. For more information about NTFS interoperability, see "File Systems" in this book.

If you choose Windows XP Professional, Windows 2000, or Windows NT 4.0, Ntldr proceeds with the hardware detection phase. If you do not select Windows XP Professional, Windows 2000, or Windows NT 4.0, control is passed to the boot sector for the other operating system. For example, if you select Windows 95, Windows 98, Windows Me, or MS-DOS, Ntldr passes control to Bootsect.dos by reading MBR code that Bootsect.dos contains. This action causes the MBR code in Bootsect.dos to execute as if the instructions were read from the disk. For more information about Boot.ini, see "Reviewing and Correcting Boot.ini Settings on x86-based Systems" later in this chapter.
Detects hardware and hardware profiles

For x86-based systems, Ntldr starts Ntdetect.com, a program that performs basic device detection. Ntldr then passes Boot.ini information, as well as hardware and software data in the registry, to Ntoskrnl.exe. Ntdetect.com detects hardware profile information (for example, docked and undocked configurations for portable computers) and also checks for information stored in Advanced Configuration and Power Interface (ACPI) tables. ACPI compliant firmware enables Windows XP Professional to detect device power management features and determine device resource requirements.

NET commands

No Success lately so doing research

Yesterday was a bust so I am going to look into
why the image i made yestday wouldnt boot.

question that i propose.
wouldnt bart's pe cd be similar to windows xp embedded?

how are they similar how are they different?
what minimum things have to go into bootable system?
and i mean minimum.

how is the boot loader correctly placed?
i was able to make bootable virtual machine
using microsoft's virtual pc but not using
vmware.

so first question.
what minimum files makes
a system bootable and has a shell?

Tuesday, October 25, 2005

bootable cd rom image

Make a bootable cd rom image

my search have revolved around a couple
of keywords.

hd2iso this is tool to convert disk image to an iso image
but which or what disk image? dont know yet.

the ideal would production a collection of files
with all the software then go through a conversion
process and i get an iso image i can boot in vmware
or on pc board.

did a a search on hd2iso. and here is what i found
on one microsofts pages.

It states: " After you have a complete run-time image, create an ISO-9660 image. This can be then used to produce a bootable CD-ROM."

couple of things i have read, to have a bootable cd there must be
support in the image for cdrom booting.
but what is this image they mention that is "before"
dont know yet.

Post booting experience

I tried booting the of the vitual disk
i previously mentioned and naturally it did not owrk
correctly the first time.

Here is the error:

A problem ahs ben detected and windows has been shutdown to prevent dammage
to your computer.

PROCESS1_INITIALIZATION_FAILED

If this is the first time you've seen this Stop error screen,
restart your computer. If this screen appears again, follow
these steps:

Check to make sure any new hardware or software is properly installed.
If this is a new installation, ask your hardware or software manufacturer
for any windows updates you might need.

If propblems continue, disable or remove any newly installed hardware
or software. Disable BIOS memory options such as caching or shadowing.
If you need to use Safe Mode to remove or disable components, restart
your computer, press F8 to select Advanced Startup Options, and then
select Safe Mode.

Technical information:

*** STOP: 0x00000006b (0xC000000D, 0X00000002, 0X000000000, 0X00000000)


-------------------------------------------------------------------------------

After some research i found a google article that said i had missed installed
the ntfs drivers.
Since the Target designer wipes away the old target i copy all the old files
to another directory then went into the target design and added the ntfs
drivers and rebuilt the target. Then i did a diff of old stuff and the new stuff
tada:

Only in ./Windows Embedded Images/WINDOWS/system32/drivers: fastfat.sys
Only in ./Windows Embedded Images/WINDOWS/system32/drivers: mountmgr.sys
Only in ./Windows Embedded Images/WINDOWS/system32/drivers: ntfs.sys
Only in ./Windows Embedded Images/WINDOWS/system32: ufat.dll
Only in ./Windows Embedded Images/WINDOWS/system32: untfs.dll
Only in ./Windows Embedded Images/WINDOWS/system32: winlogon.exe

yeah i was missing them lets see if this addresses the issue.


i then dropped out the bart's pe cd and restarted and la te da.
it started booting then i got something called the first boot agent.
see this article about fba
http://blogs.msdn.com/embedded/archive/category/10582.aspx

Monday, October 24, 2005

Windows PE hightlights

The following are excerpts from the page:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnxpesp1/html/winpepe.asp

here is what i have found out about windows pe.
you cant just downloadit or get it as whole or part off a software
from microsoft (like say visual studio 2003 comes as part
of the msdn)
i have to order the thing see the link.
http://www.ltcom.com/page/FAQ/WinXP%20OEM%20Preinstallation%20FAQ/

why did i start getting interested in windows pe in first place?
you are supposed to run the program tap inside the windows pe
cd and do hardware discovery. could put tap on barts pe?

here is what mario says to do



more information about using virtual pc and windows xp embedded.
look for the article
How to Demonstrate Windows XP Embedded using Virtual PC
on zdnet australia

mario biazzi states
that you should create virtual machine
in virtual pc (pretty standard) and use
windows xp as the guest o/s.

then he says you must use windows pe
to partition the disk using windows
pe. (but couldnt barts pe do this as
well?)

1. Type the following command from a command prompt: DISKPART
2. Type the following commands to create the partition:

SELECT DISK 0
CLEAN
CREATE PARTITION PRIMARY

This creates a 16 GB partition.
3. Type the following command to verify the partition:

LIST PARTITION

4. Type the following commands to verify that the partition is active:

SELECT PARTITION 1
ACTIVE

5. Type EXIT to quit DISKPART.
6. Type EXIT again to reboot Windows PE.

then format the partition
with FORMAT C: /FS:NTFS /q

next day after some rest.
I dont want to have to be hassled with become
a microsoft partner to get windows pe, instead
I want to see if I can put the tap.exe on the bart's
pe bootable cd? My only concern is that tap.exe
might depend on other dlls. I miss a dll then
i have to come back and go back and forth and
kill a lot of cds.

Note I did install microsofts virtual pc. The UI
Is clunky and not as polished but it seems to work.
I was able to boot a barts pe cd using vitual
pc. VMWare did not! But I wasnt able to network
support working inside the VM. Not good, Marios
trick relies on being able to push out information
from the vm via network mounted drives.
Generally a vm will emulate a type of network device
qemu does this its ne2000 type device and so does
vmware. So what is virtual pc's device?
before rushing of to burn new derivatives of barts
pe i want to get networking in the vm functional.

finally got this to work.
the ethernet settings use mac miniport bridge.
then do as he says:
net use z: \\xx.xx.xx.xx\XPe
i had previous copied tap.exe into this directory
then i ran tap and got a pmq file.

windows nt/2000/xp boot sequence

the following information was taken from the web page
http://www.tburke.net/info/ntldr/ntldr_hacking_guide.htm

The NTLDR Hacking Guide
by Jason C. Locke
Version 1.4
Last Modified: September 15, 1996
This page was originally located at http://www.dorsai.org/~dcl/publications/NTLDR_Hacking/index.html, but has been down for some time. It has enough interesting information that I wanted to post it here (with html modifications). Much of what this page talks about is how when you dual boot, Boot.ini transfers control to Bootsect.dos. BootPart is a utility that will allow you to create your own bootsect file that can be used to dual boot to other operating systems. Note: You can find archives of this and other Web pages at http://www.archive.org. In this case the the pages are at http://web.archive.org/web/*/http://www.dorsai.org/~dcl/publications/NTLDR_Hacking/index.html. This document describes how to use NTLDR to boot Windows NT, Windows 95, Linux and old versions of DOS using NTLDR.

In addition to this document, additional documents and programs are available from the author free of charge.

* OS_BOOT.ZIP

These are the diagrams that visually illustrate the booting procedures for Windows NT, Windows 95 and MS-DOS. The file names and formats are as follows:
+ OS_BOOT.VSD: Visio Drawings compatible with all versions of Visio.
+ OS_BOOT.PDF: Drawings in Portable Document Format (PDF).
+ OS_BOOT.PS: Drawings in Postscript (PS).

* BOOT.ZIP

This is a program that reads and writes Boot Sectors and Master Boot Records directly from the command line. Instructions on how to use this program are descibed later in this document in a sample batch file.
* ALTER.ZIP

This is a program that modifies IO.SYS and COMMAND.COM to use CONFIG.622 and AUTOEXEC.622 as MS-DOS configuration files instead of the conventional ones.
* GETBS.TXT

This is a batch program that will attempt to make a file containing an MS-DOS boot sector program. It makes calls to the BOOT.EXE program as described above, and is helpful in seeing the application of BOOT.EXE. GETBS.BAT works on my system fine, but your mileage may vary.
* BOOTSECT.TXT

This is a boot sector taken from my active, boot-able drive. I have commented as much as possible, but a few areas remain a little thin. Note that the boot sector in question was created by MS-DOS 6.2. This file is not designed to be re-assembled.
* MBR.TXT

This is a master boot record taken from the same drive as described above. It is simpler to follow than the boot sector, and only a few comments were entered. This file was created by MS-DOS 6.2, and is not designed to be re-assembled.

Why I wrote this document:

Most of the information in this document can be obtained directly from Microsoft for a princely sum of money. Rather that pay for expensive books that only describe an overview of the boot process, I decided to analyze the boot sectors for the various operating systems and explain the execution of them with as much detail as possible.

Some of the information found in this document cannot be found anywhere else, particularly the discussion of the boot process in section 1.1. My time and effort has not gone to waste because of this document. It is my hope that this document will answer the questions most people do not think to ask, but are still interested in having them answered nonetheless.
Index:

1. General Information.
1. Overview of the boot sequence.
2. Problems with multiple operating systems.
3. The NTLDR.
4. Format of BOOT.INI.
2. The Various Boot Sequences.
1. Systems with only Windows NT.
2. Systems with only Windows 95/MS-DOS.
3. Systems with only MS-DOS.
4. Systems with only Linux.
3. Booting Windows 95 With NT.
1. Installing Windows 95 after Windows NT.
2. Installing Windows NT after Windows 95.
3. After the installation of NT and Windows 95.
4. Booting DOS from Windows 95 by pressing F4.
4. Booting DOS Directly From NTLDR.
1. What is BOOTSECT.DOS?
2. Obtaining a boot sector for an earlier version of DOS.
3. What is BOOT.EXE?
4. Configuring BOOT.INI correctly.
5. Windows 95 and older MS-DOS use the same CONFIG and AUTOEXEC!
6. Modifying IO.SYS and COMMAND.COM.
5. Booting Linux Directly From NTLDR.
1. General procedure.
2. Generating the right master boot record program to boot Linux.
3. Writing LILO to a file using BOOT.EXE.
4. Configuring BOOT.INI correctly.

General Information.
Overview of the boot sequence:

When an Intel based computer system is turned on, the BIOS goes through a simple procedure that triggers the booting of an operating system. The BIOS reads the first physical sector of the disk into memory locations 0000:7C00 through 0000:7DFF and performs a JMP to it.

On hard disks, the first physical sector is the Master Boot Record. For floppy drives, the first physical sector is the Boot Sector. The master boot record is needed for hard disks because hard disks can be partitioned into multiple logical drives. The BIOS does not care whether it is loading a master boot record or a boot sector. When booting from hard disks, the master boot record moves itself to 0000:0600, and then overwrites it's original location (0000:7C00) with the boot sector. When booting from a floppy drive, which has no partitioning information and therefore no master boot record, only the boot sector is effectively loaded.

The master boot record program is simpler to follow in comparison to the boot sector program (examples of both programs for DOS based systems may be obtained in commented assembler source from the author's web page). A DOS boot sector program actually overwrites sections of itself in order to squeeze BIOS data into the 512 byte block of usable memory. Why it does this instead of simply using another region of memory to store the BIOS data is beyond me.

The boot sector is a somewhat ugly assembler program to look at. When the boot sector is executed, none of the DOS interrupt handlers are in place yet. Everything must be done through the BIOS. The actual code in the boot sector varies depending on the operating system, yet it always attempts to boot the operating system. Note that the format of the disk is irrelevant, as the boot sector program uses only physical addresses and low level BIOS functions to access the drives.
Problems with multiple operating systems:

Since the BIOS blindly loads the first physical sector on the disk and executes it, any setup dealing with multiple operating systems must be done at the boot sector level. While this seems easy enough, a physical sector is only 512 bytes in size. This doesn't leave much room for fancy code and pretty menus. This is not to say it cannot be done, however.
The NTLDR:

When a system is configured with Windows NT, the NT boot sector loads and executes NTLDR. NTLDR is the program that displays the OS loader startup menu.

From NTLDR any operating system can be loaded and successfully installed as long as a copy of the operating systems boot sector program resides in a file pointed to by BOOT.INI (more about BOOT.INI later).

Linux modifies the master boot record in order to boot itself. This complicates things slightly, since the master boot record is executed before the boot sector (remember, the master boot record loads before the boot sector). Linux boots before NTLDR can be called upon. The solution to this problem will be discussed later in this document.
Format of BOOT.INI:

Here is a sample of my BOOT.INI file:

[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(0)partition(4)\WINNT35

[operating systems]
multi(0)disk(0)rdisk(0)partition(4)\WINNT35="Windows NT..."

C:\BOOTSECT.W40 = "Windows 95" /WIN95
C:\BOOTSECT.DOS = "MS-DOS 6.20" /WIN95DOS
C:\MBR.LIN = "Linux 1.1.59"

To boot the Windows NT operating system, the BOOT.INI must contain the physical location of the WINNT35 directory. The WINNT35 directory can be on any drive or partition as long as BOOT.INI dictates exactly where it is. This allows the administrator to change the way NT loads without rewriting the boot sector on every machine on the network. Copying over a new BOOT.INI file will effectively do the same thing.

My system's disk drives are all IDE. Therefore, the location of my WINNT35 directory will always be of the form:

multi(0)disk(0)rdisk(x)partition(y)\

For Intel based systems, the parameters for multi() and disk() are always zero. The parameter for rdisk() is the number corresponding to the physical drive of the WINNT35 directory. The parameter for partition() specifies the partition number. The range of values for partition() begin at 1, not zero as common sense would dictate. Finally, is the name of the NT installation directory on the specified partition.

Notice that any operating system other than NT can be loaded by creating a 512 byte file containing a copy of the boot program that will load the desired operating system. Windows NT, MS-DOS and Linux are all loaded via boot programs. Apparantly you cannot use the same method of locating these boot files as done when locating the NT installation directory.

Notice also the switches at the end of C:\BOOTSECT.DOS and C:\BOOTSECT.W40. These switches are needed because of the renaming procedure Windows 95 uses to boot itself and old versions of DOS. This will be discussed later in the document.

For complete information on the so called "ARC Paths" syntax, view the Microsoft Knowledge Base article at Microsoft's Web Site.
The various boot sequences.
Systems with only Windows NT:

The NT boot sector loads NTLDR, which displays the OS loader menu. Choosing Windows NT at this point will run NTDETECT.COM to poke around the users hardware setup. The rest is unimportant for our purposes.

Page 1 of the Visio documents show the boot sequence of Windows NT.
Systems with only Windows 95/MS-DOS:

Because Windows 95 claims to be compatible with old software, old software running under Windows 95 must be tricked into thinking it is running under the "right" version. A good example of this is MSCDEX.EXE running under MS-DOS 6.x which must be fooled by SETVER.EXE into thinking it is running under MS-DOS 5.x.

In addition to this, some applications check the root directory for certain files in order to change the configuration of DOS and Windows. Windows 95 uses the same names for it's configuration files as DOS. These files are: MSDOS.SYS, IO.SYS, CONFIG.SYS, AUTOEXEC.BAT and COMMAND.COM.

This causes a slight problem. What if DOS 6.2 was the most recently loaded? When Windows 95 boots up, it assumes it's configuration files are MSDOS.SYS, IO.SYS, etc. In order to fix this problem, Microsoft decided to rename all the DOS configuration files to MSDOS.DOS, IO.DOS, CONFIG.DOS, AUTOEXEC.DOS and COMMAND.DOS, then rename MSDOS.W40, WINBOOT.SYS, CONFIG.W40, COMMAND.W40 and AUTOEXEC.W40 to MSDOS.SYS, IO.SYS, CONFIG.SYS, AUTOEXEC.BAT and COMMAND.COM. The reverse is done when Windows 95 was most recently loaded, and the user wishes to load an old version of DOS.

Pages 2, 3, and 4 of the Visio documents show the boot sequence of Windows 95 as well as the renaming pattern.

Windows 95 may know if it has to rename anything by checking for the presence of WINBOOT.SYS. If WINBOOT.SYS exists, then an old version of DOS was most recently loaded, and the renaming operations must be performed. Whether or not Windows 95 actually does this is unknown to me (anyone?).

Note that you cannot have separate CONFIG and AUTOEXEC files for DOS and Windows 95 unless you use the Windows 95 menu to load the previous version of DOS. Even the /WIN95 and /WIN95DOS switches in BOOT.INI do not rename the CONFIG and AUTOEXEC files. This is stupid but true.
Systems with only MS-DOS:

As mentioned before, MS-DOS uses the files MSDOS.SYS, IO.SYS, CONFIG.SYS, AUTOEXEC.BAT and COMMAND.COM to configure itself.

Page 5 of the Visio documents show the boot sequence MS-DOS.
Systems with only Linux:

The details of the Linux boot process is a mystery to me beyond the basic sequence. LILO will write to the master boot record a program to boot Linux, thereby bypassing the boot sector. If you make a bootable floppy, Linux will write pretty much the same code to the boot sector on the floppy. I suppose the only difference between the two is the parameters for the disk layout for the BIOS (anyone?). Note that for hard disks, the boot sector program is ignored by Linux.
Booting Windows 95 with NT.
Installing Windows 95 after Windows NT:

When I installed Windows 95, I had Windows NT from a previous install on my system. Everything discussed here will be under this assumption.
Installing Windows NT after Windows 95:

I have never experimented with this. On page 225 of the Microsoft Windows 95 Resource Kit, running WINNT /W will install NT. What happens after this is a mystery to me. However, the following was Emailed to me by Gary Hanson:
I have done this recently on my home system. My system currently has 3 drives and 4 operating systems (Windows 95, OS/2, NT 3.51, and FreeBSD). Installing Windows NT after Windows 95 resulted in an NTLDR boot menu that included "Microsoft Windows" as the last line in the NTLDR menu. Otherwise, (remarkably) it did not trash the Windows 95 boot at all. My current BOOT.INI is included below:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(2)partition(1)\WINNT35
[operating systems]
multi(0)disk(0)rdisk(2)partition(1)\WINNT35="Windows NT Workstation Version 3.51"
multi(0)disk(0)rdisk(2)partition(1)\WINNT35="Windows NT Workstation Version 3.51 [VGA mode]" /basevideo /sos
C:\ = "Microsoft Windows"

Also, you mention the "WINNT /W" in the Windows 95 Resource Kit. I looked this up and it does not appear to be particularly significant. I guess you would use "WINNT /W" if you wanted to install Windows NT from Windows 95 or Windows 3.1x. It does not do anything special as far as I know except tell the Windows NT installer where you are installing from. I installed Windows NT from DOS, with "WINNT /B". The "/B" flag is a barely documented (but very useful) flag saying "skip all the floppy writing stuff and just do the install".
After the installation of NT and Windows 95:

You should have Windows NT installed as well as Windows 95, both accessible from NTLDR. If not, close this document and do it.If you look at the BOOT.INI file at this point, you should see an entry similar to this:

C:\BOOTSECT.DOS = "DOS"

Even though it is named "DOS", this boot sector contains code that will boot Windows 95, giving the user an option to load the old version of DOS as well. If you do a directory of your C: drive, you'll see that BOOTSECT.DOS is 512 bytes, the size of a physical sector. This file will later be renamed BOOTSECT.W40, but for now leave it as is.
Booting DOS from Windows 95 by pressing F4:

Windows 95 uses the file MSDOS.SYS to configure itself early on. MSDOS.SYS for Windows 95 is a simple DOS Text File. A sample MSDOS.SYS file is as follows:

[Options]
BootGUI=1
BootMulti=1
DblSpace=0
DrvSpace=0

; The lines required for compatibility with other programs
; have been deleted here for brevity.

The line BOOTMULTI=1 means that Windows 95 will listen to the F4 key to determine if the user wishes to load the old version of DOS instead of Windows 95.

When DOS is the only active operating system, it is loaded by the boot sector program. When Windows 95 is active along with an earlier DOS version, Windows 95 apparently boots DOS directly from the same boot sector program that boots Windows 95. Note that if the line BOOTMULTI=1 does not appear in the MSDOS.SYS for Windows 95 the F4 key is effectively ignored.
Booting DOS Directly From NTLDR.
What is BOOTSECT.DOS?

It was mentioned earlier that BOOTSECT.DOS is not a DOS boot sector program, rather it is a Windows 95 and DOS combination of boot sector programs. This means that in order to boot DOS from NT, you have to tell NTLDR you want to load Windows 95, then tell Windows 95 that you really wish to load the previous version of DOS. The purpose of this document is to get around this.
Obtaining a boot sector for an earlier version of DOS:

Since we want to boot DOS directly from NTLDR, we need to supply NTLDR the name of the file that will boot DOS directly. This is simply the boot sector that loads MS-DOS directly. Windows 95 will have nothing to do with this process.

The most generic way to do this is going to require a little juggling. The GETBS.BAT batch program will create an MS-DOS boot sector program on the C: drive, extract it into a file called BOOTSECT.DOS, and replace the boot sector with whatever was there before, leaving your system in the state is was in before running the batch program.

To do this correctly, boot up the older version of DOS using the first setup disk before running the program.
What is BOOT.EXE?

You may have noticed a command used in the above program that is nowhere in the MS-DOS documentation. That is because it is not in MS-DOS. The program BOOT.EXE can be obtained from the author's web page. The address is listed in the beginning of this document.

BOOT.EXE is a little program I developed to do the dirty work I do with the MS-DOS DEBUG program from the command line more easily. Typing BOOT /? will display a help screen, although I think that GETBS.BAT is a better example of BOOT.EXE's usage.
Configuring BOOT.INI correctly:

After the sample batch program above, there will be two 512 byte programs in the root directory on your C: drive. BOOTSECT.DOS is the boot sector for the older version of DOS, and BOOTSECT.W40 in the combination MS-DOS/Windows 95 boot sector that loads Windows 95 if you leave it alone. Make sure that these two lines appear in BOOT.INI:

C:\BOOTSECT.W40 = "Windows 95" /WIN95
C:\BOOTSECT.DOS = "MS-DOS 6.20" /WIN95DOS

At this point, boot up you computer and take note at an annoying side effect.
Windows 95 and old MS-DOS use the same CONFIG and AUTOEXEC!

After all this work we find out that NTLDR will not rename the CONFIG and AUTOEXEC files in the same way that the Windows 95 menu automatically does. This makes sense, since Windows NT was released years before Windows 95. Remember the phrase, "640K is plenty for any application."

The only apparant solution is to modify the older verison of MS-DOS's IO.SYS and COMMAND.COM files to use something other than CONFIG.SYS and AUTOEXEC.BAT respectively.
Modifying IO.SYS and COMMAND.COM:

This part is incomplete, as a program to do this easily is under work. Look for the program ALTER.EXE to eventually do the modifying. Check the author's web page periodically for any news on ALTER's progress (simple program, little time to do it in).
Booting Linux directly from NTLDR.
General procedure:

Booting Linux from NTLDR is very simple. All the Linux configuration files are located in the Linux partition. What is needed is a file that contains the Linux master boot record program which is commonly called LILO (Linux Loader).

Acquiring the master boot record cannot be done from DEBUG. I originally used Norton's Diskedit program to read the physical sector into the clipboard, then save it to a file. The program BOOT.EXE will do this in one line from the command prompt.
Generating the right master boot record program to boot Linux:

Boot the Linux system. Since the lilo configuration utility is easy to use, I will not discuss how it is done. If you managed to get Linux running in the first place, you do not need my help in setting up LILO.

A couple of notes: LILO should be configured to boot only Linux with no delay, since the choice will be left up to NTLDR as to what operating system will be loaded. Also, before running LILO you should make a boot disk that will bring you to a MS-DOS prompt.
Writing LILO to a file using BOOT.EXE:

Once LILO has been written to the master boot record, BOOT.EXE can extract it into a file like so:

boot /r /drive:0 mbr c:\mbr.lin

Since we are dealing with physical drives, /DRIVE:0 corresponds to the first physical drive in the system. MBR instucts BOOT.EXE to read from the first physical sector which contains the master boot record commonly referred to as LILO.

Once this is done, the master boot record needs to be restored to it's original state. This can be done without BOOT.EXE by using an undocumented switch from the command line execution of FDISK:

fdisk /mbr
Configuring BOOT.INI correctly:

Adding the following line to BOOT.INI will create a menu option in NTLDR to boot Linux:

C:\MBR.LIN = "Linux 1.1.59"
Copyright 1996 Jason C. Locke.

Thanks to my associate Dennis C. Lynster for the required brain food in order to create this document and also to the following human beings:

* Brian Hall for sending me the Microsoft Knowledge Base article on the geometry of the BOOT.INI file.
* Gary Hanson for writing to me about my error in the description of BOOT.INI and also for the details on installing Windows NT after Windows 95.
* Yinrong Huang for revealing the meaning of two pieces of assembly code in BOOTSECT.TXT that had remained a mystery until then.
* Dick & Mary Anne Hopper for sending me the Visio document in all the various formats now included in the one ZIP file.

Email questions and comments: lockej@nov1.cmp.sunynassau.edu
Please be patient for a reply.

Sunday, October 23, 2005

windows pe and barts pe

while doing some basic research on windows xp embedded
i found somthing called windows pe and something else
called bart's pe builder.

whats the diff between the two?

basic questions about windows xp embedded

overal goals:

create bootable cd or a bootable disk on chip device
that contains directx or opengl binaries and
minimal set of binaries to support a working
gaming system.

1. downloaded windows xp embedded trial software
this took about 12 hours or really 24 between
stopping and restarting the machine to add
other software. note the trial key is located
in the download directory.

2. since i have built small linux systems and
used vmware and qemu to test itermediate image.
i wondered if i could also do the same for
windows xp embedded? also this is cheaper as
i dont yet have access to DOC or DOM device.


3. can i take what the target designer emits
and then make this into a bootable cd?
according to microsoft it is possible
to create a bootable image from what the
target designer makes.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xpehelp/html/xehowStep5CreateISOImageOfPost-FBARun-TimeImage.asp