Full featured WEC7 OS Design builds in 5-10 minutes
With the exponential growth of Windows Embedded Compact 7 kernel images unfortunately also the build time grows exponentially. I have always used VMWare Workstation to keep my Windows CE build environments separate (as side-by-side installations are not supported). Unfortunately, with WEC7 it felt like being back in Windows CE 3.0 days... In those days it was not the size of the kernel causing clean sysgen's to take over 40 minutes to build but it was slow hardware. I've always been able to keep build times below 25 minutes using VMWare and fast hardware, but with WEC7 this proved impossible. On my Core I5 2.6 Ghz with 16 MB DDR3 memory and a 7200 rpm SATA3 disk a WEC7 build inside a VM running Win7 took over 50 minutes!
To speed up the builds I have now invested in a separate laptop, configured specifically to build WEC7 kernels. It's an ASUS N55SF with an Intel® Core™ i7 2670QM/2630QM Processor, 6M cache, 4 cores/8 threads, 3.1 GHz and 8 GB DDR3 memory.
As you may know, processor speed is only one part of the equation with the other big factor being disk speed. I therefore invested in one of the fastest SSD's available at the moment: the OCZ Vertex 4: SATA 3, 6 GB/s, 2.5" SSD with a max of 120k IOPS and 550 MB/s read and 475 MB/s write speed. I chose the 512 GB version as it is the fastest and with the huge kernels and installation size of WEC7 you simply need the space.
Even with this hardware running a VMWare Win7 image a build still took 25 minutes; quite an improvement from the >50 minute builds on my Core I5 with 7200 rpm SATA 3 disk but still too long. I then decided to ditch VMWare and try a native install with the OS on the SSD, together with VS2K5 and WEC7 Platform Builder.
After speeding up the build system using the method described in this blog post, my builds are now 9 minutes for a reasonably feature rich WEC7 kernel (and <5 minutes for small headless kernels). Finally we're back in the 21st century again! It sure took some time and money to speed up WEC7 builds but if you are building a lot of kernels the investment will pay itself off after a couple of weeks!
Here's the full specification (of all components relating to build speed):
- Intel® Core™ i7-2670QM Processor (6M Cache, up to 3.10 GHz)
- DDR3 1333 MHz SDRAM
- 512 GB OCZ Vertex 4: SATA 3, 6 GB/s, 2.5" SSD
- OS: Windows 7 64 bit
Room for improvement here if you go for a desktop system.
Room for improvement here if you go for a desktop system.
The Patriot Wildfire is the fastest according to passmark.com but the OCZ Vetex 4 is unbeatable in price/performance.
Unfortunately side-by-side installation of Windows CE 6.0 and WEC7 is not supported, but I'd love to see how fast a CE 6.0 kernel will build on this machine... Under a minute?
Conclusion:
When building kernels with WEC7 it's worth to fork out some cash to speed up the builds if you are building lots of kernels (or if you just don't want to drink so much coffee on a day ;)
PS: All build times are Debug OS Designs, with shell and built with blddemo clean -q