Look at what this guy made: http://www.erikveen.dds.nl/qemupuppy/
He says, "The tricky part is trying to have the OS on your USB memory stick to be able to boot both natively and in a virtual machine. But it can be done. And that's what makes QEMU-Puppy unique."
I needed that for my operating systems course and I came up with these instructions to get started programming in a linux environment quickly:
1. Download it here: http://sourceforge.net/projects/qemupuppy/files/QEMU-Puppy/QEMU-Puppy%20...
2. Follow these instructions: http://www.erikveen.dds.nl/qemupuppy/#3.1.0
3. Replace the empty devx_217.sfs on the USB drive with the full original version. Otherwise you won't be able to compile stuff. http://www.filewatcher.com/m/devx_217.sfs.69132288.0.0.html
4. Put the executable for explore2fs on the USB drive so that you can access your virtual hard disk "pup_save.3fs" from Windows. http://www.chrysocome.net/explore2fs
5. Run "puppy.exe" inside Windows OR boot to the USB stick to get started! You can then use the "geany" IDE to write the C++ programs for this course, and by opening "pup_save.3fs" with explore2fs in Windows, you can easily pull your source code back out onto Windows.
Here's the problem: QEMU-Puppy hasn't been updated since 2007 and there is no equivilent replacement. Why don't some peoples here at portableapps.com adopt this concept? It would be the best portable linux. And with Explore2fs, it becomes much easier to get files out of the virtual machine and onto Windows. Too bad it's so difficult getting files in.
I actually had a package of Damn Small Linux ready in PA.c Format a few years ago with QEMU (and could have adapted Puppy). At the time, none of this mini Linux installs distributed the associated source code for all the GPL components as required by the GPL. So packaging and distribution would have been a nightmare since we'd have to figure out which version of every tool they included and then hunt down the sources for each one. I'm not sure if that situation has changed or not.
Sometimes, the impossible can become possible, if you're awesome!
Well whenever or if ever we get a portable Linux, it needs to have both options - to boot natively or in a virtual machine so that you get the same computer either way and your changes are preserved between sessions either way.