Re: from coLinux co CoFreeBSD.

From: John Nielsen <lists_at_jnielsen.net>
Date: Sun, 03 Dec 2023 19:26:58 UTC
> On Dec 3, 2023, at 12:00 PM, Mario Marietto <marietto2008@gmail.com> wrote:
> 
> maybe someone of you know the old project called "coLinux" :
> Cooperative Linux is the first working free and open source method for optimally running Linux on Microsoft Windows natively. More generally, Cooperative Linux (short-named coLinux) is a port of the Linux kernel that allows it to run cooperatively alongside another operating system on a single machine. For instance, it allows one to freely run Linux on Windows 2000/XP/Vista/7, without using a commercial PC virtualization software such as VMware, in a way which is much more optimal than using any general purpose PC virtualization software. In its current condition, it allows us to run the KNOPPIX Japanese Edition on Windows.
> 
> 
> 
> CoLinux is very old and not maintained for a lot of time and I'm not interested in resurrecting it (and I don't have the competences to do it),BUT I'm interested to gather some information about a similar project that I have in mind. What about if,instead of having a Linux kernel which can run Windows cooperatively,we have a Linux kernel that can run more Linux distributions (maybe only 2 as a starting point,as CoLinux already does) at the same time,without using virtualization software ? Is the technology behind Colinux the same that's under the lxc or docker containers or the WSL2 subsystem ? What are the differences ?
> 
> I don't use WSL2,I don't use Windows so much. I like Linux and FreeBSD. So,an even nicer idea is to create a coLinux variant that allows the Linux kernel to cooperate with FreeBSD. This is even nicer than making a cooperation between 2 Linuxes.
> 

I’m not familiar with coLinux but at this point I’m not sure what problems it would solve that aren’t solved by virtualization and/or containerization. All mainstream CPUs have had virtualization support for multiple generations. That, coupled with improvements in para-virtualized drivers and hardware plus features like PCI pass-through make it possible to virtualize any workload with negligible performance impact.

You can run Windows, BSD or Linux under bhyve on FreeBSD or KVM on Linux. If you’re starting with Windows, WSL2 is worth exploring as it also lets you run Linux software at native speed.

If you’re interested in the middle ground between native and fully virtualized, you may want to read up on and try rump kernels in NetBSD or virtual kernels in DragonflyBSD.

JN