Live data from Hacker News

.NET framework ported to NetBSD

github.com

11–20 of 39 posts

Re: .NET framework ported to NetBSD

#11
post #3

NetBSD is a very portable BSD-licensed operating system. This is CoreCLR, the open source .NET framework from Microsoft. Why is this important? Programs for NetBSD can be run in a stripped down NetBSD kernel and libc (a unikernel) called rumpkernel, which can be run on any platform, including on bare metal. It is also extremely minimal - an operating system image for nethack was a mere 4MB. Rump can also run on any a…

How is the rump kernel any different than a unikernel?

Not a whole lot, tbh,

The idea is to run directly on the hypervisor/hardware, and they both do that.

In actuality they're pretty far from each-other but conceptually they are the same.

Here is the rumprun unikernel:

https://github.com/rumpkernel/rumprun

Re: .NET framework ported to NetBSD

#12
post #3

NetBSD is a very portable BSD-licensed operating system. This is CoreCLR, the open source .NET framework from Microsoft. Why is this important? Programs for NetBSD can be run in a stripped down NetBSD kernel and libc (a unikernel) called rumpkernel, which can be run on any platform, including on bare metal. It is also extremely minimal - an operating system image for nethack was a mere 4MB. Rump can also run on any a…

How is the rump kernel any different than a unikernel?

The rump kernel can be used as the basis of a unikernel (see: Rumprun). But, the rump kernel theoretically has applications beyond just use in a unikernel, by providing a common, documented API on one end and hypercall interface on the other which (in theory) enables robust driver and application portability even when used in "traditional" userland / full-OS environment.

So, in short, a rump kernel is a building block that can be used to build a unikernel, but the rump kernel can also be used in other contexts as well.

Re: .NET framework ported to NetBSD

#13
post #3

NetBSD is a very portable BSD-licensed operating system. This is CoreCLR, the open source .NET framework from Microsoft. Why is this important? Programs for NetBSD can be run in a stripped down NetBSD kernel and libc (a unikernel) called rumpkernel, which can be run on any platform, including on bare metal. It is also extremely minimal - an operating system image for nethack was a mere 4MB. Rump can also run on any a…

Also worth mentioning that only supported arch right now is arm64. Don't get too excited about running a .NET rump kernel on your evbarm toaster.

Re: .NET framework ported to NetBSD

#16
post #12

Earlier quoted context omitted.

How is the rump kernel any different than a unikernel?

The rump kernel can be used as the basis of a unikernel (see: Rumprun). But, the rump kernel theoretically has applications beyond just use in a unikernel, by providing a common, documented API on one end and hypercall interface on the other which (in theory) enables robust driver and application portability even when used in "traditional" userland / full-OS environment. So, in short, a rump kernel is a building bloc…

Correct.

links with some more information on a conceptual level: http://wiki.rumpkernel.org/Repo#the-big-picture http://wiki.rumpkernel.org/Info:-FAQ

Re: .NET framework ported to NetBSD

#18
I've been reading around to try to get a clearer picture of what is going on under the hood in Microsoft land. Essentially, I'm curious what it would take to build an OS like Inferno, but that provides the CLR as a VM for CIL instead of Limbo.

1. Am I correct in thinking that this is sort of what NetBSD has done?

2. Does this mean that through Roslyn + RyuJIT, NetBSD gets to run programs written in C#, F#, and other visual-* languages?

3. How close to support for things like WPF/UWP does this get NetBSD?

Re: .NET framework ported to NetBSD

#19
From a former contributer's point of view, it's fun checking the commits it took to make this happen. From what I can tell, some of the work I put in to get CoreCLR work on FreeBSD (which again built on others work to make it run on Linux and OSX), now makes it happy to run on NetBSD too.

This is why I like open-source. If my toaster one day runs .NET, I'll be able to say I helped make it happen ;)

Re: .NET framework ported to NetBSD

#20
post #18

I've been reading around to try to get a clearer picture of what is going on under the hood in Microsoft land. Essentially, I'm curious what it would take to build an OS like Inferno, but that provides the CLR as a VM for CIL instead of Limbo. 1. Am I correct in thinking that this is sort of what NetBSD has done? 2. Does this mean that through Roslyn + RyuJIT, NetBSD gets to run programs written in C#, F#, and other…

1. No? NetBSD is a classic UNIX system. With rumpkernel though. http://rumpkernel.org I guess you could build a system like that with rumprun maybe…

2. Yes. But running those languages was possible even before that, thanks to Mono. CoreCLR is just the new, shiny, lightweight and MS official thing.

3. Hahahahaha nope. WPF and UWP are proprietary. I don't think there are any alternative implementations of them. Mono has an implementation of good old WinForms though :D

Post reply on HN