While helping a friend port his application from Windows to Linux, I quickly grew tired of switching my dual-boot Vista & Hardy Heron Thinkpad from one system to the other. While Cygwin helps, compiling hundreds of files and several hundred K lines of C++ is just too painful. The answer: Cooperative Linux.
An excellent installation guide can be found here. Running coLinux as a Windows service is described here.
A few notes:
XML config files are no longer supported and most references/examples are obsolete.
Winpcap networking is the simplest, most flexible and, if you use Wireshark, likely already installed. Possible drawbacks: must be connected to a network (even to bridge between host and guest OS); may not work with your wireless adapter (although a wireless version was recently introduced).
When installing as a Windows service, remember to add NPF (Winpcap) as a dependency in the registry at key HKLMSYSTEMCurrentControlSetServicesCooperative Linux (or whatever you called the service). The colinux-daemon –install-service command won’t do this for you.
The default “colinux-daemon –install-service –config @colinux.conf” without a service name works for me. By default the service name is “Cooperative Linux”. To start the service, either enter ‘net start “cooperative linux”‘ on a command line or use the Windows services applet. For additional images, use different service names. Make sure you never use the same image with two services! For some idea of what would happen, try to imagine two computers sharing a single hard drive.
I use Putty to ssh to the colinux guest, launched by a desktop shortcut to an appropriately configured putty profile, including ssh key.
Since I use Vi (a lot), I’m using a stable snapshot from here. Until quite recently a colinux bug prevented Vi from saving files under coFs. (Some nonsense about Fsync missing or not supported).
Since it already had coFs configured more or less the way I like, I’m using this image of Ubuntu 7.10 (gutsy). The current installer offers Ubuntu 6.06 (dapper) while 8.04 (hardy) is available somewhere (though I seem to have lost the link).