Revision 1.0 (Jan 20, 2009)
This is the Microsoft’s new genration of Windows XP Embedded OS, with 10-year life cycle guarantee. This was release in Q2 of 2008.
Some of the things I discuss here are workable in Windows XP Embedded too, but you may need SP2/SP3 with 2007 feature pack.
First of all you need to download this ginormous Windows Embedded Standard 2009 installation files. It comes in 7 pieces, each approximately 700MB in size. Save them in your hard drive and run the first part (exe) to extract and make a 4.5GB ISO image that you can burn into a DVD. So, you need another software to burn the ISO image to a DVD - another software to download (I used ISO Magic – the trial version). This will take care of most of your day.
Next step when you try to install this, there are PREREQUISITES! Your development machine (PC) should have Windows XP Service Pack 2 (or if you have SP 3, even better). Now you need Microsoft SQL Server 2005 SP 1 Express at a minimum. I didn’t have this, but you can download it for free (all the Express editions are free). I downloaded the latest – 2008 Express, which needs .NET Framework 3.5 SP1. I didn’t have SP 1 either. So I downloaded that and now I am ready to go (so you think). But I couldn’t do it. This SQL also needs the latest Microsoft installer 4.5.
Finally, I installed all the software in this order:
1. .NET Framework 3.5 and then .NET Framework SP1 (these are cumulative upgrades of .NET Framework 3.0 and 2.0)
2. Microsoft Installer 4.5
3. SQL Server 2008 Express – this is another pain in the b…, I needed one more piece of software to complete this, and it was Windows PowerShell 1.0, can be downloaded from Microsoft.
4. Completed SQL Server installation after installing PowerShell 1.0
5. Windows Embedded Standard 2009 Kit
Two complete days are gone – just to install the software on your development machine. Imagine if you didn’t have high speed Internet? You don’t need to spend so much time since I have already done all the hard work. First download all the software components, and install them in the above order.
Microsoft Windows Embedded Studio
Windows Embedded Development Tool Kit is installed as “Microsoft Windows Embedded Studio” in your Windows Programs menu. All the files are in C:\Program Files\Windows Embedded directory.
This of course sucks. I learnt almost everything by searching the WEB, Microsoft also had good tutorials, only for the earlier versions (Windows XP Embedded), but they help.
Components are:
1. Hardware/Software drivers needed to have in the final image of Embedded OS.
2. Operating System components, such as NT loader, Session Manager, etc.
3. Windows Software Utilities
4. Your Software Applications
Component Database Manager uses SQL Server for managing these components. You may have your components also added to the same database for future projects.
This lets you design new components out of your software applications, third party device drivers (Windows XP), etc. After designing, you can add these components to above database for later use.
This is a utility for you to allocate (or de-allocate) some space in your hard drive and use it as a virtual disk drive. I’ll discuss the use of this later as we go along.
This is the one. This is where you develop your Embedded project. This has access to your component database. It also lists all the components that you got with Windows Embedded Standard 2009 Kit, approximately 10,000 components.
To begin, you start a new project (it is called configuration):
1. Add necessary components to your configuration
2. Check Dependencies – this will tell you what are the missing dependent components in your configurations
3. Build Target Image – this will compile and generate all the necessary binaries and other files for your embedded OS, together with the necessary directory structure.
How the heck am I going to deploy this? They just say copy the files on to your target device and boot up – it’s not that simple!
Process of Making a WES OS Image
Now that we have all these ready, lets create a real project.
Looks like this trial version of Windows Embedded supports only x86 based target devices.
This is my target device:
Intel Atom 230 (single core with hyper-threading enabled)
Intel D945CGLF Motherboard (Mini-ITX form factor)
STEP 1: TARGET ANALYZER
Get a snap shot of the devices and drivers needed for the target device.
I started by installing Windows XP on my target device. I did not have to do this, but it was too late when I realized that Microsoft has given me a DOS based tool to analyze the target device.
Target Analyzer:
TA.EXE – Dos based tool, which analyzes your hardware and writes an XML file (DEVISES.MPQ). This file then can be imported into the Components Designer to figure out what relevant components you need for this target device.
TAP.EXE - Target Analyzer Probe is a Windows XP/2000 based tool, which does the same job as TA.EXE.
In any case you need to have some kind of booting up method. There are several approaches:
1. USB Floppy Drive and a DOS bootable floppy disk
2. DOS bootable USB Flash Drive
3. Windows XP or DOS bootable hard drive
I tried both 2 & 3 options. I just did so that I know the difference between TA.EXE and TAP.EXE. So, far they both seem to be the same.
STEP 2: COMPONENT DESIGNER
Prepare your components to be ready to use in a WES project.
…
Importing PMQ:
Importing LAN Driver
"More than one component has the same Concordance ID": These are harmless informational comments that may occur the first time you import an INF into Component Designer. They will not occur if the same INF is re-imported.
Importing Video Driver:
Had some errors (trying to add some registry entries and failed) but importing was successful.
Importing APEX Driver:
No errors /no warnings. Successfully imported.
STEP 3: COMPONENT DATABASE MANAGER
Component Management.
…
STEP 4: TARGET DESIGNER
Target WES OS Image Designer.
…
Dependancy Check:
5 Errors:
NTLoader, File Systems, Session Manager, etc
1 Error
WinLogon
After the 3rd pass.
Build:
Had 52 Errors – all related to Video Driver Utilities (Exes & Dlls)
Ignored and contiued.
STEP 5: BOOT PREPARATION
Preparation of the device to boot up with WES OS Image.
…
STEP 6: DEPLOYMENT
Copied files to HDD.
Booted up and…
Windows XP startup screen
First Boot Agent started…
Installed Security, etc… (several minutes)
Rebooted…
Windows Embedded startup scr
Welcome scr
Windows Task Manager
New Task à to open a program…
Errors:
RUNDLL
Error loading C:\Windows\System32firewall.cpl
The specified module could not be found.
Modification to Configuration:
Added:
SystemàManagementàInfrastructure
Windows Management Instrumentation Technologies (Group with WMI components)
Ssytemà ManagementàApplications
Driver Query
TCP/IP Arp
TCP/IP PathPing
TCP/IP Utilities
Deleted:
TCP/IP Version 6
Dependancy Check:
No errors.
OS
Operating System
WES
Microsoft Windows Embedded Standard
XPE
Microsoft Windows XP Embedded
Target Device
This is your little gizmo that would run Windows Embedded OS at the end.
Target Analyzer
A software utility, that comes with the WES development kit.
OS Image
All the files required to boot up and work for the WES operating system.
Component
WES component – A hardware/software driver, Windows utility or a software application that would ultimately become a part of your final OS image. You can also call it a building block of the WES OS.
References
http://en.wikipedia.org/wiki/NTLDR
http://groups.google.com/group/microsoft.public.windowsxp.embedded/msg/2a68667295145fdc
http://www.ubcd4win.com/forum/lofiversion/index.php/t6242.html
http://msdn.microsoft.com/en-us/embedded/aa731191.aspx