Mark Harmstone, author of the WinBtrfs project, has released version 1.0 of the Moxnox operating system, which has been developed since 2022 as a hobby. Moxnox is presented as an operating system created with an eye towards Windows NT, offering compatibility with POSIX standards, utilizing the Btrfs file system, and achieving self-hosting capability. The project consists of approximately 130,000 lines of C++ code and is distributed under the GPL (kernel and core utilities), LGPL (libraries), and MIT (modules) licenses. It supports builds for x86-64-v3 and ARMv8.1 architectures (can run on a Raspberry Pi 5).
System calls and low-level interfaces in the kernel are implemented in the likeness of Windows NT, but the kernel structure and associated components are distinct from Windows NT. It provides the ability to run GNU environment components and programs written for Unix-like systems. The executable file format used is PE, libraries have a .dll extension, and programs have a .exe extension.
Supported hardware devices:
- Block devices: NVMe, SATA, SDHCI (SD cards), virtio-block, and USB drives.
- Network cards: virtio-net, RTL8168, RTL8125.
- Input devices: virtio-input, USB HID, PS/2 interface keyboards and mice.
- Graphics: virtio-gpu, GOP framebuffer, VBE, VGA console.
- Console: virtio-console, x86 serial port, PL011 ARM.
- USB: XHCI.
Currently, Moxnox implements 642 functions out of approximately 1200 described in the POSIX 2024 standard, which is sufficient for running projects like gcc, bash, mesa, openssh, openssl, perl, python, and rust. The system library is composed of functions from gnulib, mathematical and cryptographic functions from musl, regular expression functions from tre, and printf-like functions from mingw. Self-hosting is supported, allowing Moxnox to be compiled from a Moxnox-based environment. Running Windows programs is not yet supported, but in the future, they intend to implement the Win32 API from Wine for this purpose.

Among the programs ported to Moxnox are:
- bash
- binutils
- bison
- bzip2
- cairo
- cmake
- coreutils
- curl
- diffutils
- expat
- file
- findutils
- flex
- freetype
- gawk
- gcc (only for amd64)
- git
- gmp
- gperf
- grep
- gzip
- harfbuzz
- hexyl
- jsoncpp
- less
- libarchive
- libiconv
- libpng
- librhash
- libuv
- llvm
- m4
- make
- mako
- markupsafe
- mesa
- mpc
- mpfr
- nano
- ncurses
- netcat
- ninja
- openssh
- openssl
- patch
- perl
- pixman
- python
- pyyaml
- readline
- ripgrep
- rust
- sed
- tar
- vim
- wget
- xz
- zlib
- zstd
At this stage of development, only console mode is supported, but there are plans to implement a graphical interface in the future. Additionally, support for multi-user environments, security mechanisms, time zones, keyboard layouts, locales, and encodings other than UTF-8 is currently lacking.
It is claimed that the project contains no significant code generated through AI tools, which were used only for routine tasks such as translating autotools rules into CMake, replacing ioctl calls with the tcgetwinsize function when porting programs, writing tests, and debugging the code.
Source: opennet.ru
