Skip to comments.Windows cooperating with Linux, honest!
Posted on 01/17/2005 12:05:20 PM PST by ShadowAce
We are delirious with joy, or maybe it is just that we've spent too long staring at the screen. . . . Whatever, we just found the coolest hack that you just have to check out!
We're playing with Debian Linux running cooperatively with Windows. Yes, you might go back and re-read that sentence. This fascinating system is called coLinux and it allows the Linux kernel to run as a program or service under Windows 2000 or XP without using a commercial PC virtualization system such as User Mode Linux or VMware.
Specifically, coLinux - a port of the 2.6 kernel - is "special driver software on the host operating system [that executes] the coLinux kernel in a privileged mode [known as ring 0 or supervisor mode]," says coLinux development team leader and project originator Dan Aloni.
Aloni goes on: "By constantly switching the machine's state between the host operating system state and the coLinux kernel state, coLinux is given full control of the physical machine's [Memory Management Unit] (such as paging and protection) in its own specially allocated address space, and is able to act just like a native kernel, achieving almost the same performance and functionality that can be expected from a regular Linux which could have ran on the same machine stand-alone."
To share hardware with the host operating system, coLinux does not access I/O devices directly. Aloni says coLinux "interfaces with emulated devices provided by the coLinux drivers in the host operating system. . . . All real hardware interrupts are transparently forwarded to the host operating system, so this way the host operating system's control of the real hardware is not being disturbed and thus it continues to run smoothly." p> The final crucial point is that, "since coLinux uses the same binary format for user-space executables as native Linux, coLinux can load and run an existing unmodified Linux distribution concurrently with the host operating system."
In other words, coLinux is really Linux and thus becomes a remarkably effective platform for learning how Linux works and for running those cool Linux-only applications under Windows.
You can find coLinux at www.colinux.org. Download the installer from the coLinux project's Sourceforge site, and run the install program.
The installation process is simple, but avoid installing coLinux under the "Program Files" subdirectory (or for that matter any other subdirectory with a long name), otherwise you'll need to know the subdirectory's short name when you get around to configuring the system.
Once you have coLinux installed you'll need a Linux distribution root image - an image of an installed distro that's stored in a file. You can download a distro root image file - we used the Debian version.
The root image files in this library have an extension of bz2, as they are compressed with bzip2. You can decompress these files with bzip2 or TUGZip.
You'll need to create a swap file which you can download as a bzip2 compressed root image - choose a version that is the same size as the amount of RAM you plan to allocate for coLinux to run.
You are now ready to edit the configuration file so that the coLinux loader knows where its disk devices are (really Windows files), which swap device to use (again, it's a Windows file), which kernel to use, how much memory to use (by default it is a miserly 64M bytes), and how networking is set up.
To get networking working you have three choices: You can use network address translation, enable Windows Connection Sharing or set up a bridged network connection. We recommend using the Windows Connection Sharing configuration just to get started.
If you have set up everything right, then open a command window in the coLinux subdirectory and enter the command:
colinux-daemon.exe -c d:\progra1\coLinux\colinux.default.xml
You should see the coLinux system initialize and whatever distribution you selected should load. A window titled "Cooperative Linux Console" should open and the rest of the boot process will be displayed until finally you see "colinux login:" to which the answer - if this is the first time you've run coLinux - should be "root" without a password.
If you know Linux, enjoy. If you don't, then next week we'll delve deeper . . . you can shut down your coLinux with "shutdown -h now."
This looks very cool in terms of allowing people to play with Linux, take advantage of their hard drive's speed and capacity, and still not have to remove Windows or re-partition the drive.
Next step - Linux core, Windows as a service.
That would be cool, though the only thing I do on Windows these days is play a few logic games and develop in Access. Now that OOo is coming out with 2.0, it will also have a DB frontend. Hopefully, I can even get away from Access soon.
Need no Windows on Internet machine, too risky.
Running Xandros V3 here, does very well.
I already have a Linux system that runs in Windows, called (what else) WinLinux.
What makes this on different?
What makes this ONE different?
And it's free.
Can you get it on CD?
Downloading per modem is mighty slow, and time consuming, for me.
Go here for the download page.
Heh--I just noticed the Root FS packages that are also required. Pretty hefty.
It's not meant as a safety measure. This is a tool to allow you to explore Linux on your Windows machine before you take the plunge of re-partitioning your HDD.
I noticed those too.
It would take me a couple of hours to download everything.
I guess I'll wait until a CD is available.
Windows may be cooperating. Microsoft won't. Expect the next must-apply Win patch set to -- oops, accidentally -- make coLinux fail.
Can't let the captives off the reservation for too long. They might decide they like what they see out there.
Dagnabit! That's heresy!
I have a question: I try to defragment but the analysis is "cancelled because an error occurred in file".
Any helpful advice from those with computer knowledge?
BTW:I searched for the file but couldn't find it. Win XP
Well, as it's occurring in your Recylced folder, try emptying your Recycle Bin and then defrag.
Recycle is empty. I then hit defrag, but it does its "analysis" first. It stops at 97% analysis. Sign comes up that scan has been cancelled because an error occurred in the file that supposedly no longer exists.
I don't know what to do next.
I used this a long time ago. Its pretty cool but I'd still rather use vmware or Qemu.
It's a full Linux kernel running in memory space of WinXP. It gives to Windows the full set of kernel services Linux provides. I'd guess it can even be restricted to run "almost just linux" with a few Windows services now and then. The disadvantage, of course, may be having already payed for (extremly expensive) Windows and not using it enough.
If well marketed this could mean an increase of development of native (commercial, closed, etc) Linux apps, since they would run in already deployed Windows systems without changes and without emulation.
In any case it looks like a good thing for companies looking to get into the business, even if a bit risky.
And my favorite disto is Ubuntu.
I'll have to make sure I write that down if I try this.
Is everything this hard? Or worse?
Thanks for this article SA.
My question to you is: Is this easier for most people than putting a Knoppix CD in and booting to Knoppix?
While the co-Linux exe is a small file you still need the image, which makes this hard for dial up users.
Or am I mistaken?
Yeah - why would you want to run Linux under Windows ? A waste of a good operating system.
Again, in your rush to denigrate Linux, you miss the obvious. That command you complained about is a windows command--not Linux.
No, it's not easier. However the benefits are that you get a larger storage capacity from your hard drive, you get the speed improvement of your hard drive over your CD drive, and it's permanent.
The Knoppix, though, it MUCH easier to start up for the end user for the first time. Once you get past the first time, though, it can just be an icon sitting on your desktop that you can run--without having to reboot.
That is the command recommended to install this version of linux. Without linux, commands of that difficulty are not normally required just to install something.
So where are these linux guys from? Looks like Japan? Great, another foreign competitor that gives what was our Unix away for free.
Is everything this hard? Or worse?
No, you could put that in a shortcut or .bat file.
CoLinux was written by an Israeli student.
You then select which Linux distro you want to run. Note: There are a few things that have to be done to the Linux distro before it can run under CoLinux.
My point is it's in no way helping our software sales here in America. Simply another trojan used to move us over to foreign freeware.
No, because you still need the Linux distribution.
bump for later..
Plus you still need to run Windows also.
FYI, most aren't from the US.
Not if things keep going to their plan, you won't need any US software, ever again. At least not any you have to pay for.
Red Hat is the Linux market share leader at about 50%. Red Hat is American.
I doubt it's 50%, and it's definitely dropping. Why wouldn't it, when they give it away for free? The Chinese rename it Red Flag, in case you didn't know. What do you think is bound to be #1 in China and Asia, Red Hat they have to pay for, or a free copy labled "Red Flag" instead?
Is CoLinux supposed to be able to run XWindows? Got to the command line. Guess I can practice shell scripts or something. But I really haven't had time to play any more with it.
I don't really know. Since I never boot up into Windows, I haven't installed it.
I'll let you know then.
Much easier to run Linux in a virtual machine. Though running as a service does have a certain geek factor to it.