Your SlideShare is downloading. ×
0
Windows Embedded & Optimizing Windows For Car PCs By Silvio Fiorito
Windows Embedded & Optimizing Windows For Car PCs By Silvio Fiorito
Windows Embedded & Optimizing Windows For Car PCs By Silvio Fiorito
Windows Embedded & Optimizing Windows For Car PCs By Silvio Fiorito
Windows Embedded & Optimizing Windows For Car PCs By Silvio Fiorito
Windows Embedded & Optimizing Windows For Car PCs By Silvio Fiorito
Windows Embedded & Optimizing Windows For Car PCs By Silvio Fiorito
Windows Embedded & Optimizing Windows For Car PCs By Silvio Fiorito
Windows Embedded & Optimizing Windows For Car PCs By Silvio Fiorito
Windows Embedded & Optimizing Windows For Car PCs By Silvio Fiorito
Windows Embedded & Optimizing Windows For Car PCs By Silvio Fiorito
Windows Embedded & Optimizing Windows For Car PCs By Silvio Fiorito
Windows Embedded & Optimizing Windows For Car PCs By Silvio Fiorito
Windows Embedded & Optimizing Windows For Car PCs By Silvio Fiorito
Windows Embedded & Optimizing Windows For Car PCs By Silvio Fiorito
Windows Embedded & Optimizing Windows For Car PCs By Silvio Fiorito
Windows Embedded & Optimizing Windows For Car PCs By Silvio Fiorito
Windows Embedded & Optimizing Windows For Car PCs By Silvio Fiorito
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Windows Embedded & Optimizing Windows For Car PCs By Silvio Fiorito

3,723

Published on

Presentation on using Windows Embedded to optimize Windows for the Car PC from the mp3Car 1st annual AFK Fest.

Presentation on using Windows Embedded to optimize Windows for the Car PC from the mp3Car 1st annual AFK Fest.

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
3,723
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Windows Embedded & Optimizing Windows for Car PCs<br />MP3Car Meet: August 22, 2009<br />
  • 2. Overview<br />Intro<br />Windows Embedded<br />Using Windows EmbeddedFeatures on XP/Vista/Win7<br />Tips & Techniques for Testing & Deploying Images<br />Questions<br />
  • 3. Intro<br />Silvio Fioritosilvio.fiorito@granturing.comhttp://blog.granturing.com<br />MP3Car forum member since May 2004<br />Interests mainly in Windows Embedded, flash/USB booting, OS optimization, & software development<br />Posted EWF, HORM, & MinLogon guides in December 2004<br />Worked with MP3Car on custom Windows Embedded Project<br />Chapter in Car PC Hacks on “Embedding Windows”<br />
  • 4. Windows Embedded - Background<br />Formerly called XP Embedded<br />Released 2001<br />Based on XP but with additional embedded features<br />Currently based on XP SP3<br />“Componentized” version of XP<br />Over 12,000 components<br />Embedded team worked alongside other Microsoft OS & services teams<br />Includes “macro” components (i.e. Internet Explorer) as well as low level components such as drivers<br />Each component has dependencies, defines registry entries, files, settings, etc.<br />Private portal for customers to get component updates, security patches, etc.<br />Available through embedded distributors, MSDNAA, & MSDN Embedded<br />Not yet part of BizSpark, or for hobbyists….I’ve tried!<br />
  • 5. Windows Embedded - Architecture<br />Component Database<br />Runs in most SQL 2005+ databases<br />Can be local or remote<br />Component Database Manager<br />Import new components<br />Component Designer<br />Create new components<br />Target Designer<br />Create images<br />Component Repositories<br />File share which holds the actual binaries<br />Local or remote, but alwaysreferenced by share name<br />Target Device<br />Can be a virtual machine, same dev machine,or typically other physical hardware<br />
  • 6. Windows Embedded – Developing Images<br />Identify target hardware using theTarget Analyzer Probe (TAP)<br />Best to use a WinPE disc<br />Enumerates the base hardwaredevices:<br />CPU<br />Chipset<br />Audio Devices<br />USB, etc.<br />Create a custom component forhardware<br />Have multiple components fordifferent hardware platforms<br />Identify software dependencies<br />What are you planning to run onthe image<br />OS or 3rd-party<br />Beware of 3rd party apps with nodocumentation<br />Think about DLLs, COM objects,WMI, networking<br />
  • 7. Windows Embedded – Developing Images<br />If you have an installer tryunpacking and analyzing installsteps<br />Orca - http://msdn.microsoft.com/en-us/library/aa370557%28VS.85%29.aspx<br />Windows Installer XML (WiX) -http://sourceforge.net/projects/wix/<br />Find file system changes, registrysettings, etc.<br />Installer is not always enough,what about runtime dependencies<br />Process Monitor - http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx<br />Not always full-proof, it’s an iterative process<br />If all else fails, have setup tool run during device’s first boot process<br />Not “clean”, increases first boot time, potentially more dependencies for install program, leaves temp files<br />
  • 8. Windows Embedded – Custom Components<br />Reusable components with all binaries, settings, and dependencies…just drop into image<br />Loaded into component database, shared with other developers<br />Can be versioned, auto upgrade images<br />Common steps:<br />Bundle files<br />Define registry settings<br />Define dependencies to other embedded components<br />Create settings to be defined at build time<br />Good way to make easy images<br />Think about any activation or licensing issues for your components<br />
  • 9. Windows Embedded – Target Designer<br />
  • 10. Windows Embedded – Deployment<br />Build output is a base XP OS, just files<br />xcopy build to target device and boot up<br />First Boot Agent (FBA)<br />Configures hardware devices, loads drivers, executes custom actions<br />FBReseal: sysprep for Embedded<br />Capture image then redeploy to SAME hardware devices<br />Runs through a minimal FBA again<br />
  • 11. Windows Embedded – Pros & Cons<br />Ultimate control over your image<br />From miniscule OS for specialized devices…<br />… to full blown XP with embedded enabling features (EWF, HORM, FBWF, etc.)<br />Highly reliable, high-performance OS when done right<br />However….<br />Development time can be much higher<br />Lots of dev and testing time for custom components, especially for 3rd-party<br />$995 for tools, $90/device<br />What’s the future of Windows Embedded?<br />Skipped Vista, next version based on Windows 7<br />Hopefully better dev tools, and easier experiencing customizing images<br />
  • 12. Windows Embedded - Alternatives<br />nLite (for XP): modifies XP installation by removing components from install<br />XP installation uses commands to set registry settings, place files, etc.<br />Can be almost as effective as Windows Embedded, but takes just as much testing time<br />Need to run through a full install every time you update<br />vLite (for Vista): modifies installation image<br />Important difference between XP and Vista installations<br />Vista uses installer images (think OS image)<br />Much easier deployment, can support multiple architectures<br />Great products for hobbyists, free and large community<br />Not for commercial products, potential licensing issues<br />
  • 13. Optimizing Windows<br />UI Hacks for an OEM look<br />Boot.ini: /noguiboot<br />Custom boot logo<br />C:Windowsoot.bmp 8-bit 640x480 BMP<br />AND set it as the desktop background!<br />Hide startup and shutdown statusmessages<br />Hide balloon tips<br />Hide desktop icons and taskbar<br />Replace Explorer with custom shell<br />Performance & Reliability<br />Auto restart on BSOD!!!<br />Don’t write full memory dump<br />Disable unnecessary services(i.e. print spooler…)<br />On Vista & Win7:<br />delay load services<br />hybrid sleep<br />Image from Gizmodo http://gizmodo.com/5322825/hey-look-another-blue-screen-of-death<br />
  • 14. Optimizing Windows<br />Enhanced Write Filter (EWF): filters writes to configured volumes<br />In memory or on hidden partition<br />Necessary for certain flash drives (USB or CF)<br />Useful for flash devices with slow write speeds<br />Easy to setup, need to carefully consider what volumes you protect (i.e. don’t write protect your media drive!)<br />File Based Write Filter (FBWF): filters writes to specific paths<br />Again, useful for certain types of flash devices<br />Alternative to EWF, protect all files except your front end config, or media folders<br />Hibernate Once, Resume Many (HORM): works in concert with EWF, create a static hibernation state<br />Set your image up and hibernate<br />From then on, just turn your CarPC off, when you restart it will resume from hibernation<br />Even if you get a BSOD or total power failure, XP won’t know the difference<br />Hybrid sleep on Vista + Win7<br />MinLogon: bypasses XP logon process and runs OS as local system account<br />Extremely fast boot up process<br />Can introduce compatibility issues<br />
  • 15. Flash Devices for CarPCs<br /><ul><li>Why flash?
  • 16. Small, low power/heat
  • 17. Shock resistant
  • 18. No spin up time (instantaneous resume from standby)
  • 19. Typically, very fast boot up times
  • 20. Compact Flash
  • 21. At the time, smallest fastest flash devices available
  • 22. Required “embedded” CF drives which supported fixed-mode to act like regular HDDs
  • 23. Consumer drives are all removable, no ACPI standby or hibernate
  • 24. Embedded USB flash devices
  • 25. M-Systems uDOC (later bought by SanDisk)
  • 26. Amazingly fast and small, sat on internal USB header
  • 27. Required motherboard with Hi-Speed USB Booting
  • 28. Offered custom component for Windows Embedded
  • 29. Required EWF
  • 30. Worked on XP….
  • 31. USB Booting hacks
  • 32. Spearheaded by Dietmar from 911cd.net forums
  • 33. Tutorials on http://www.winusb.de
  • 34. Registry hacks to change boot order of USB drivers
  • 35. Can be problem when any USB drivers are updated
  • 36. SSDs are the best bang for the buck
  • 37. No hacks needed
  • 38. Great price/performance
  • 39. No EWF required
  • 40. Win7 has SSD optimizations built-in</li></li></ul><li>Virtual Hard Drives<br />New to Windows 7<br />File-based hard drive that you can boot from, same as Virtual PC and Hyper-V<br />Requires Windows 7 bootmgrand custom BCD entries<br />To install to a VHD:<br />Insert Win7 install disk, type “Shift-F10” to get command prompt<br />Use DISKPART to create vdisk and attach<br />Then install to new VHD HDD<br />OR<br />Use VHD from your VM (Virtual PC or Hyper-V)<br />Copy to your CarPC<br />Boot with WinPE and manually edit boot entries using bcdedit<br />Small performance impact to HDD access, no hibernation support, otherwise works just as a normal install<br />Think of it: service your CarPC software in a VM, copy VHD to your WinPE USB disk, attach to your CarPC and boot up, copy a single file to the CarPC HDD to update!<br />
  • 41. Questions<br />Links:<br />http://blog.granturing.com<br />http://blogs.msdn.com/mikehall/<br />http://blogs.msdn.com/embedded/<br />http://www.mp3car.com/vbulletin/operating-system-optimization/<br />http://km-dev.blogspot.com/<br />Hacks:<br />VHD: http://technet.microsoft.com/en-us/library/dd440865%28WS.10%29.aspx<br />Utilities: http://www.mediasignage.com/html/digital_screen1.html<br />Registry docs on TechNet: http://technet.microsoft.com/en-us/library/cc778196%28WS.10%29.aspx<br />
  • 42. Some Tips for Easy Deploying & Testing<br />Get yourself a WinPE disk!<br />Windows Automated Installation Kit: http://technet.microsoft.com/en-us/library/dd349343%28WS.10%29.aspx<br />USB, CD, or HDD<br />Can be used for all Windows OSes<br />ImageX: file-based disk images<br />Used for Vista & Win7 installs<br />Works for XP as well<br />Capture image, deploy to any other disk<br />Use network share or place on large enough USB WinPE drive<br />Typically used along with Sysprep<br />Use virtualization!!<br />Especially useful for Vista & Win7: no hacks to transfer from hardware architectures<br />Use differencing disks to test out new settings<br />Keep master image and update, test, as needed<br />Put it all together:<br />Build your CarPC image in a VM<br />Install front end, software, drivers, etc.<br />Be careful with chipset drivers though…<br />Test your image<br />Capture with WinPE and ImageX<br />Apply image to physical hardware<br />Validate<br />

×