Windows XP Embedded August Chat (August 21, 2007)
Chat Topic: Windows XP Embedded August Chat
Date: Tuesday, August 21, 2007
Please note: Portions of this transcript have been edited for clarity
Shayna [MS] (Moderator):
Welcome to today’s live chat with the Embedded Windows team. We’ll be talking about all things related to Windows XP Embedded. Thank you for joining us.
Shayna [MS] (Moderator):
We are pleased to welcome our Experts for today’s chat. I will have them introduce themselves now.
Introductions
MattKell_MSFT (Expert):
Hi there. I'm Matt Kellner, an SDET with the Windows Embedded team, and I support the development tools and Embedded Enabling Features, including EWF and El Torito. I am also the developer of XPECMD, so if you have any questions on those, fire away!
KedarB [MS] (Expert):
Good morning, I am Kedar an SDET working with the embedded windows team.
JimM_MSFT (Expert):
Hi, I'm Jim Medding. I'm a SW development engineer with the Windows Embedded test team.
lyallen_MSFT (Moderator):
Hi, I'm Lynda Allen. I am a Program Manager with the team.
Shayna [MS] (Moderator):
Hi there, I'm Shayna Begun. I'm a Program Manager on the team.
Shabnam_MSFT (Expert):
Hi, my name is Shabnam Erfani, I'm a lead program manager in the Embedded Windows team.
Milong [MS] (Expert):
Hi, I'm Milong Sabandith. I'm a developer on the Windows Embedded team.
Steffen [MS] (Expert):
Hi, I am Steffen Schreier, Program Manager on the Embedded Windows Team.
Wonhee Lee [MSFT] (Expert):
Hi, my name is Wonhee Lee, and I am a developer at Windows Embedded team
Randy_MSFT (Expert):
Hi, I'm Randy Rockinson. Program Manager on the Windows Embedded team.
Nick [MS] (Expert):
Hello - I'm Nick. I am a Software Dev in Test here in the Embedded Windows team.
ShivkS_MSFT (Expert):
Hey I am Shiv, a SDET on the Embedded Windows Team
Cuong_MSFT (Expert):
Hello, I'm Cuong Pham, Program Manager on the Windows Embedded team.
Luca [MS] (Expert):
Hi, I'm Luca Amapane, Program Manager on the Windows Embedded team.
Weijuan Shi [MS] (Moderator):
Hello, I am Weijuan Shi, Program Manager of the Customer Strike Team in the Windows Embedded team
Start of Chat
Shayna [MS] (Moderator):
Let’s begin the chat! We are trying something a little different with the chat today. We worked to put together some frequently asked questions on two of the Embedded Enabling Features - USB Boot and File Based Write Filter (FBWF). I'll be posting the questions and answers here throughout the chat. Please feel free to continue to ask your own questions as well!
MattKell_MSFT (Expert):
Q: I saw information that Windows Embedded can be remote booted via PXE, on diskless clients. Is Windows Embedded the only Microsoft OS with this capability?
A: XP Embedded provides this capability, and you can also boot WinPE (Windows Pre-Installation Environment) via the network. I'm not entirely certain if WEPOS offers this feature as well, but beyond that set, I don't believe it's offered in other OSes (such as XP Pro or Home, Vista, etc.) Also not sure about WinCE/Mobile - the overall architecture of that OS is very different from XP (Pro, Embedded, etc.)
MattKell_MSFT (Expert):
Q: Hey Matt, glad to see you are here. I was working on a lab a few weeks back using XPECMD and I noticed that the path to the rsp file could not contain spaces. If I gave a path like @”c:\program files\my labs\lab5\lab_sample.rsp“ the command would fail. However @”c:\progra~1\my labs\lab5\lab_sample.rsp“ would work ok. Is this a problem with my development environment?
A: That'll happen if you attempt to call a response file from the command line. Unfortunately, this is a limitation of the command prompt. You can use spaces in the filename from within XPECMD or within another response file - just not from the command prompt, unfortunately.
Shabnam_MSFT (Expert):
Q: I got 2 questions: 1- Is there any tools other then sdi2hd.exe too extract a SDI file. I know that SDIMount.exe can do the job but I would like something that I can tell where to extract the SDI (like, not on a virtual drive)
A: Hi bl. sdi2hd.exe currently is the only supported tool, it does take a commandline argument where you can specify the extraction path.
Shabnam_MSFT (Expert):
Q: 2- Said that I got a SDI files that I'm happy with and boot correctly. After a while, I would like to add software to it. Do you have any tools or procedure to do this?
A: It depends on the kind of change you are making. If it it's a simple, you can mount your SDI as a virtual drive and copy files and folders directly to it. If the change is more complex, involving adding files, folders, registry keys, etc, you should consider making that change through Target Designer, or an a live image, and then recreating your SDI.
Shabnam_MSFT (Expert):
Q: @Shabnam The change I wanted to make was to add FTP service into my SDI. I was hoping for an "update SDI" tools. Thanks,
A: bl: Do you already have IIS included in your image?
Shabnam_MSFT (Expert):
Q: @Shabnam Yes, IIS is already installed
A: bl: if you already have FTP service included, it could be a matter of changing the IIS settings, but if you don't, you have to re-create your SDI for now. I'll take your feedback to consider for future product updates.
Shabnam_MSFT (Expert):
Q: Is there an initiative to provide an OPK for Windows XPe?
A: Hi Boby, we currently do not have any plans for providing OPK for XPe. I'd love to hear what needs you have that can be solved by OPK. Can you share with me your scenarios? You get most of these with TD and with FP 2007, you get the ufdprep for preparing a USB media for booting. How do you see achieving these tasks different from Vista OPK? Is it harder?
Shabnam_MSFT (Expert):
Q: Shabnam: Interested in multiple image management as provided by the Vista OPK. Integrated USB preparation tools. graphical interface to select destination drive and partition. These are just few.
A: Thank you.
Shabnam_MSFT (Expert):
Thanks Boby. What are some of the typical settings that you let your end users configure during installation?
Shabnam_MSFT (Expert):
Q: Shabnam - Selectable backup USB Flash drives in case something happens to the original one after it is shipped from factory. There are cases where we ship targets with multiple external drives. This makes automatic recovery with batch files tricky.
A: Boby, so you want to ship a bootable media to the field for recovery, your end users will use it to boot and run some kind of GUI setup to install your image on a selectable drive. Did I get it right?
Shabnam_MSFT (Expert):
Q: Shabnam - The intention is to give the end user a choice to install the image to an external drive like what XP Pro does? And mostly a look and feel like XP pro installer, rather than running a batch file from DOS box.
A: ok
Shabnam_MSFT (Expert):
Q: Shabnam - That is one of the features that we would like to give the customers
A: OK, thanks. I'll take your feedback into account for future XPe updates.
BCombs: Someone asked earlier about the Vista OPK (or WAIK). Here is a link to my blog where I discuss using Vista PE and WIM to deploy XPE: http://xpefiles.com/cs/blogs/bcombs/archive/2007/08/21/howto-using-windows-pe-2-0-and-image-x-to-deploy-windows-xp-embedded.aspx.
MattKell_MSFT (Expert):
Q: What is the standard way to take what target designer spits out, configure your options on real hardware, and then repackage for putting on other hardware instances? Sorry not a FBWF question.
A: I assume you mean that you want to mass-deploy your runtime to multiple devices with identical (or similar) hardware? You would use the System Cloning Tool to reseal the image once it's configured on the "reference" device, then use a deployment method such as CD-ROM, network boot, USB Flash, etc., to duplicate the resealed image and deploy it on other devices.
MattKell_MSFT (Expert):
Q: I use a dual CPU (Totally 4 cores) system for development. Most of the time when I do builds I see that it runs only on one core (not even on 1 CPU). Is there a way builds can be sped up by making the TC use all the cores?
A: Unfortunately, the Windows Embedded Studio tools are not multi-threaded, so they can only take advantage of one core at a time.
Nick [MS] (Expert):
Q: Some of our customers are really interested in RAID 5 solution. These are customers who want to boot from USB. So XPe seems to be the only choice. Is there a chance XPe can add RAID 5 component into the future release?
A: Booting from USB doesn’t correlate to any RAID offerings. Beginning with Feature Pack 2007 we began offering USB Boot; however, this is (and I hypothesize will remain) a single device as the media. (EG - No RAID USB Flash Devices) As for RAID5 - we’ve tried different RAID levels (0, 1, and 5) in which XPe was booted from that media - and all booted and functioned appropriately. Please note that a supported driver for your RAID controller is required. You may have to componentized the driver so that it works properly with XP Embedded. There are a few write-ups on our team blog that could help you. The first part of the series is in the following URL. To find the other parts just do a search of the blog for “Componentizing”.
The first link that follows is a link to the main Embedded Windows team blog. The second link that follows is a link to the first part of that series I am speaking of.
http://blogs.msdn.com/embedded
http://blogs.msdn.com/embedded/archive/2005/04/26/412016.aspx
Nick [MS] (Expert):
Q: Nick - There is no option for RAID 5, unless there is a hidden setting in TD that I am missing
A: RAID 5 is a function of a device - not of a device driver. It is not an option that you configure in Target Designer. Instead - what you need to do is prepare the disk array to accept an OS by formatting it, making it bootable, etc. After you’ve done that - you would copy your XPe image into a volume on that array. The important piece here is to ensure that you have the driver for the RAID Controller otherwise Windows will not know how to use the controller. (which is the important piece I mentioned that could need a driver componentized)
Nick [MS] (Expert):
Q: Nick - Let me make the question more clear. I was not planning on using RAID 5 across USB. We need to use RAID 5 across SATA and SCSI. Currently with XPe if I convert the disks to "dynamic", I get the option for "Simple", "Spanning" and "striping(RAID 0) "
A: Ok - I misunderstood your question with regard to the fact that you’re using Software RAID. In thinking about this - I don’t think that it’s even an option to use Software RAID as your boot media for full Windows XP or Server. What I would suggest is that you install an Evaluation version of XP Professional and see whether you can make your scenario work there. (EG - use the same hardware - try to do the same thing) The only difference between the methods is that Windows XP setup will install to a simple disk during setup, then post setup you can convert it to a dynamic disk, etc. If you can make RAID 5 work there *THEN* it should also work in XPe. If it does not work though then you’ll need to change your scenario to something which will work for XP Professional.
Nick [MS] (Expert):
Q: Nick - We don't need to boot from RAID 5 array. End use is for data storage only. I know that XP Pro does not support RAID 5 software solution. As far as I know it is only supported by Server 2003.
A: Ok - I follow. I've got a question for you. Will the server which hosts this RAID 5 Data Storage Volume be the actual USB Booted image? (EG - the XPe Image is booting from USB - but the hardware on the system is that it has multiple disks for which you want to configure as RAID 5)
Nick [MS] (Expert):
Q: Nick - Yes, you are right. These systems will boot from USB. But will have multiple SCSI/SATA drives attached which are used for radar data collection or as such. The RAID array will not host any boot image.
A: Ok - I understand now. In our testing there was one scenario in which we booted a system from USB. What was unique though is that the system also had two HDDs configured in RAID 0 as well. This scenario employed a hardware RAID 0 setup while the OS was booted from USB Flash. The reason I bring this up is because it seems synonymous with your scenario; however, for your RAID 5 you’re going to need to use a hardware RAID Controller. (as you know that software RAID5 is not an option for XPe) There are currently no plans to port over the RAID 5 software functionality from Windows Server 2003 to XPe. For reference - I’m going to close your other questions so if you have any further you can also ask them.
Nick [MS] (Expert):
Q: Nick - I thought there is a software RAID 5 solution provided by Windows Server 2003, where one disk is dedicated to parity. Or does it still need a RAID 5 capable controller?
A: No - it doesn’t need a RAID 5 capable H/W controller. Unfortunately it does require Windows Server 2003.
lyallen_MSFT (Moderator):
Q: Can you configure service or file ACLs from target designer?
A: Currently there is no way to configure these types of settings and permissions in TD.
Shayna [MS] (Moderator):
Q: Any best practices for (stream?) compressed SDI files on deployment media (e.g. the SDI file on CD-ROM)?
A: Sorry Kris, we don't have any to share. I suggest you post this question to the XP Embedded forum where other users can comment: http://forums.microsoft.com/EmbeddedWindows/default.aspx?SiteID=47.
Milong [MS] (Expert):
Q: what does the error "unable to locate component. Application has failed to start because winsrv was not found" mean and how can I fix this?
A: I assume you are you seeing this on the runtime image. Can you verify which process is putting up the error message? You can probably find out using taskmgr or process explorer. Then look at it's dependencies using depends and other means. You image might have a dependency on that binary. You can also try copying over the binary to confirm the dependency.
MattKell_MSFT (Expert):
Q: I have been noticing that some of the components, let's say User Interface Core", gets renamed to "User Interface Core - Security Update KBxxxxx". This seems to break existing xpecmd scripts. Is there a way we can use versions instead of renaming component
A: There are two solutions to this: If you want to refer to the generic component, you can use its VIGUID instead of its display name. Example: SHOW 'comp:12345678-1234-1234-1234-123456789ABC' ... You can also refer to a specific revision of a component using the |Rxxxx parameter in the SQE: SHOW 'comp:User Interface Core|R2890'. The second solution will only bring in that revision, however, and will ignore any security updates that have been applied to the component since that revision.
MattKell_MSFT (Expert):
Q: Matt - this VIGUID info will surely help. Thanks.
A: Glad to help. To get the VIGUID of a particular component, use the following commands: NEW myComp = 'comp:User Interface Core' // SHOW myComp.VIGUID
FBWF Questions
Shayna [MS] (Moderator):
Q: What is FBWF?
A: File-Based Write Filter (FBWF) allows Windows XP Embedded to maintain the appearance of read and write access to write sensitive or read only storage. By filtering write requests at the file level, FBWF provides applications with transparent file and directory management, selective write through, selective commits and restores, and improved overlay memory use.
Milong [MS] (Expert):
Q: Is the only way to support upgrading when FBWF is enabled via exclusion list?
A: If you want changes to be persisted with FBWF enabled, you must add the file/directory to the exclusion list or manually commit each file individually. Does that answer your question?
josepha_MSFT (Expert):
Q: What is the difference between EWF and FBWF?
A: EWF is a sector based write filter while FBWF is a file/directory based write filter. If you with to implement a completely stateless device EWF will suffice. If you with to selectively protect files and directories, then FBWF is appropriate.
josepha_MSFT (Expert):
Q: What is the difference between EWF and FBWF?
A: EWF is a sector based write filter while FBWF is a file/directory based write filter. If you with to implement a completely stateless device EWF will suffice. If you with to selectively protect files and directories, then FBWF is appropriate.
Milong [MS] (Expert):
Q: What happens to the write filter when the cache becomes full?
A: The symptoms can vary. If you look at your diskspace remaining, it should indicate zero. Any application or the OS could be doing some operation and running out of diskspace will produce different effects. You should be more careful about running out of memory before hitting your cache limit. That has more severe effects.
Milong [MS] (Expert):
Q: So you are saying I can commit files that aren't in the exclusion list?
A: Yes. Actually you can only commit files that are not in the exclusion list. If a file is already on the exclusion list, then it's already be persisted. This is done without requiring a reboot.
HP_Embedded_XP: thanks I didn’t realize the diff between commit and the exclusion list.
Milong [MS] (Expert):
Q: Programmatically how does one commit files? Also is there a way to programmatically commit all? Could be via script, but hopefully some api.
A: Yes. For the API, see http://msdn2.microsoft.com/en-us/library/aa940894.aspx. You can also use fbwfmgr.exe which is documented here http://msdn2.microsoft.com/en-us/library/aa940817.aspx.
Milong [MS] (Expert):
Q: To commit a file does the user doing the commit need admin rights if the acl requires it? Assuming here running as a user and maybe a service or some other admin process writes a file to the cache.
A: Yes, the user committing the file must have admin rights or be the system user.
Milong [MS] (Expert):
Q: So I think you are saying you need admin rights or system rights to commit a file regardless who owns it?
A: Correct - you need admin/system rights to commit. However, you still need the correct rights to modify the file to begin with.
Milong [MS] (Expert):
Q: If I understand FBWF correctly, you can protect an entire volume but specify certain files that are straight pass-through to disk. Right?
A: Yes - you are correct. By default FBWF protects the whole volume specified; however, it can be configured to exclude files or folders from this protection, e.g. a write-through.
Milong [MS] (Expert):
Q: Why does the FBWF require a reboot to disable/enable? Security reasons?
A: Theoretically we can disable without requiring a reboot. We could persist any files we currently have cached and disable the filtering without requiring a reboot. This would take some amount of work, as we need to proxy any files that are already opened. Enabling the filter without a reboot is a little more dangerous. Depending on when you actually decide to enable it, the machine could be in a bad state.
Milong [MS] (Expert):
Q: Where is the FBWF configuration settings kept?
A: It’s kept in a file at OSVOLUME\fbwf.cfg. The file is binary and access is block by fbwf. During configuration changes, fbwf can bypass itself and modify the file.
Shayna [MS] (Moderator):
Q: What are the advantages to using FBWF over EWF?
A: Like EWF, FBWF prevents writes to one or more protected volumes and caches all writes to protected volumes in an overlay cache on a volatile store. But because FBWF operates at the file level rather than the sector level, it provides several features not found in EWF: 1) File and Directory Management Transparency, 2) Selective Write Through, 3) Selective Commits and Restores, 4) Improved Overlay Memory Use, and 5) Single Partition
Milong [MS] (Expert):
Q: When you configure FBWF, do you also load the "regular" EWF component?
A: FBWF will normally be used without EWF on a system. You do however have the option to use both EWF and FBWF on the same system protecting different volumes.
Milong [MS] (Expert):
Q: The help file lists several items that are supported by EWF but not FBWF: File locks, quotas, file compression and encryption, fileID in NTFS, etc. Does this mean that you can't use it on the Windows volume?
A: You can use FBWF on a windows volume. There are some advanced NTFS features that are not available when FBWF is protecting the volume but it does allow windows to run properly. You have to use a second unprotected partition or use the write-through list for files which require these advance features.
Milong [MS] (Expert):
Q: Is there a list for these NTFS features not available when FBWF is enabled?
A: Please take a look at this link http://msdn2.microsoft.com/en-us/library/aa940813.aspx
Milong [MS] (Expert):
Q: Do you suggest using the registry filter and still the FBWF on the files that store the registry?
A: FBWF should be protecting the registry hives. Use Registry Filter if your scenarios require TSCAL persistence or Domain secret key persistence. See http://msdn2.microsoft.com/en-us/library/aa940857.aspx. You can also use registry filter for your own custom keys, see http://blogs.msdn.com/embedded/archive/2006/11/19/registry-filter-tips.aspx.
Milong [MS] (Expert):
Q: Not sure how this would work with the FBWF on would it commit the file writes, which would then go to the registry filter?
A: Registry Filter and FBWF will work correctly together. Basically, registry filter saves the keys to be persisted on a file. This file will be saved bypassing fbwf write filtering. It can bypass FBWF because the file is in the exclusion list.
USB Boot Questions
Shayna [MS] (Moderator):
Q: What is USB Boot?
A: New Embedded Enabling Feature introduced in FP2007. It allows a user to build a Windows XPe image that boots from a USB flash drive (UFD), a.k.a., USB thumb drive, USB key, etc. The build process is straightforward using Target Designer, and preparing the UFD for boot is just as easy using ufdprep.exe. Given the wide availability of external USB ports on PC boards and the rapidly falling cost of USB devices, USB boot media are a cost-effective alternative to compact flash.
Shayna [MS] (Moderator):
Q: If I boot from USB, does it mean there must be nothing else on the Drive?
A: Target the runtime with all selected components to the USB drive then boot. It's the same as booting from IDE or Flash.
josepha_MSFT (Expert):
Q: I noticed that USB Boot does not support HORM, are, there any additional restrictions?
A: The USB Boot driver has the following restrictions: It does not support 1) Hibernation, 2) Paging, and 3) Crash Dump. HORM does is not supported because this feature requires Hibernation. Other than these three restrictions, the USB Boot devise is symmetric to an ATAPI boot device.
End of Chat
Shayna [MS] (Moderator):
Thank you for joining us today for our chat with the Windows XP Embedded team.
A special thank you to the product group members for hosting today. If you have further questions, we’d certainly welcome you to post in the forum: http://forums.microsoft.com/EmbeddedWindows/default.aspx?SiteID=47 or the newsgroup: microsoft.public.windowsxp.embedded. And don’t forget to check out our blog: http://blogs.msdn.com/embedded.
We hope to see you again for a future chat!
Top of page