I think there is potentially more mileage in taking the 'familiar' linux distribution targetting one of the devices and extracting the hardware map that would match a CE image (if indeed the mapping was comprehensive enough to support the CE image) and attempting to produce some kind of 'VMWare' type solution that worked on native execution of ARM instructions and exceptions to handle a virtualisation of the hardware maps.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=65540\"][{POST_SNAPBACK}][/a][/div]
There's certainly merit to this approach. Though I doubt you'd need the step of extracting a CE hardware virtualization target from Familiar. CE "out of the box" provides "reference" BSPs that support a fairly generic hardware platform.
If you have enough of the CE kernel and driver code (and that's a mighty big "if") it would be possible to stub out the low level operations with calls to virtualization services that implement the operations with Linux system facilities.
The biggest problem with tricks like that is that running two operating systems requires two operating systems worth of resources. Storage and CPU aren't such a big deal but RAM becomes a major issue. I use both coLinux and vmWare
extensively and they are truly wonderful
if you have enough RAM. An SL-C750 or newer might have enough RAM to pull this off, but I think it would be a tight squeeze.
Going the other way (virtualizing Linux on CE) seems like more of a stretch given that the CE kernel is
way less sophisticated and featurefull than the Linux kernel. I could
maybe see getting uCLinux (no MMU/virtual memory) running that way, but a full kernel just seems like too much of a stretch. coLinux barely pulls that trick off on a full blown NT kernel (it still can't effectively virtualize the framebuffer, serial ports, USB, etc.). I'm pretty sure that vmWare "cheats" and takes advantage of virtualization features in the X86 architecture.
It makes for an interesting roundtable discussion, but I can't see anyone committing the level of effort needed to take projects like this to completion. For most folks, 95% percent of their application software needs can be met by one platform alone (CE for some folks, Linux for others). In most cases they'd get a better ROI on their time investment by writing (or porting) the 5% of stuff they're missing on their preferred platform PDA software is really not hard to write (at least not for people with the expertise to create virtualization software). OS hacking is fun (I've been known to do it for a living ) but app software gives more bang for the buck.