Hacker News new | ask | show | jobs
by watmough 1150 days ago
Back in the day, and I mean like mid-late 90's, you could actually install the Linux kernel, files etc., straight onto a Windows FAT partition and boot into it.

Not exactly what was being asked for, but a weird old fact I'd forgotten about.

3 comments

Sometime in the early 2000s, when microarchitectural features for virtualization were rare, I used coLinux in a working capacity. It has a design was amazing at how well it worked given the constrained size of the code changes. In short, it ran a copy of Linux in supervisor mode in addition to Windows (this is the "driver mode"). At the same time. Both in supervisor mode. As a giant coroutines yielding to one another.

https://en.wikipedia.org/wiki/Cooperative_Linux http://www.colinux.org/publications/Reprint-Aloni-OLS2004.pd...

I was really quite fond of colinux, out of assorted VM tech, colinux, cygwin and WSL1 and 2 that have provided me with enough of an X11+xterm+ssh rig to get work done comfortably on a windows machine I think colinux and WSL1 have been the least friction overall.
A friend of mine has been using this setup for a very long time do be able to write music and work on the same station. I remember I was amazed at how solid the thing was.

Does anyone know if there's a relationship between colinux and how ms eventually ended up implementing wsl ?

Not so much. WSL1 was a too-audacious attempt to implement enough Linux-style system calls in Windows to run Linux software. Which it did surprisingly well, considering...but also, often strangely, and slowly.

I think the name is a bit ironic, since the whole idea is to avoid using any Linux code in Windows, but implementing system calls so that the non-Linux parts of a Linux distribution could pretend Windows was Linux. GNU/Windows-pretending-to-be-Linux, as it were.

WSL2 is virtualization-based, so it could be seen as more comparable to Docker's installation package as seen on non-Linux platforms, or Parallels: a somewhat elaborate attempt to improve the virtualization experience in interoperation with the host, e.g. setting up NAT, network file systems, or installing special drivers.

I don't think coLinux offers as much as it did, now that virtualization micro-architectural features are routinely available. At least one part of coLinux that took up quite a bit of its code was special drivers to interface with the host OS. This code would still be useful and has parallels in current approaches, but the decisive trick of toggling between two kernels running in supervisor mode has less room to be useful.

Also, you could only imagine the difficulty of identifying the origin of bugs in that set-up.

Reminds me of Wubi - I had a Pentium 4 box with a BIOS password that wouldn't clear, and this let me turn it into something 'useful'
There was a distribution called WinLinux that did this, iirc. Installed like a normal piece of windows software. Was my first foray into unices when I was a young kid. There were some fun games in that distro!