NyxOS, rebuilt from scratch in C# — a freestanding 64-bit kernel that boots on bare metal
Part of the NyxOS family — the same OS, rebuilt from zero in a different language each time. This is the C# cut, compiled ahead-of-time by bflat with the Zero stdlib — no BCL, no GC in use. A [UnmanagedCallersOnly(EntryPoint = "kmain")] method becomes the kernel entry; a Multiboot stub enters long mode and calls it. The banner comes from a u8 string literal (static data — no allocation).
Why C#: ahead-of-time native compilation (bflat / NativeAOT) makes a managed language run with no runtime under it. Proven in the wild by Cosmos.
Needs bflat (+ libc++1), nasm, gcc, ld, grub-mkrescue, and qemu.
make # -> nyxos-csharp.iso (64-bit ELF booted via GRUB)
make run # boot the ISO in QEMUboot64.asm— Multiboot header + the 32-bit → long-mode trampoline that callskmainkernel.cs— the freestanding C# kernel (VGA console)stubs.c— the two Zero-runtime platform hooks (SystemNative_Malloc/Abort)linker64.ld/grub.cfg/Makefile— link, package, boot
Early — it boots and paints the screen. Next up: a GDT/IDT, interrupts, and a VGA Console type.
