Mark Harmstone, avtor projekta WinBtrfs, je izdal operacijski sistem Moxnox 1.0, ki ga razvija kot hobi od leta 2022. Moxnox je predstavljen kot ustvarjen z mislijo na Windows NT je operacijski sistem, ki zagotavlja združljivost s standardi POSIX, uporablja datotečni sistem Btrfs in je samostojen. Projekt obsega približno 130 vrstic kode C++ in je licenciran pod licencami GPL (jedro in osnovni programi), LGPL (knjižnice) in MIT (moduli). Podpira gradnje za arhitekturi x86-64-v3 in ARMv8.1 (lahko deluje na plošči Raspberry Pi 5).
Sistemski klici in nizkonivojski vmesniki v jedru so implementirani v sliki Windows NT, vendar se struktura jedra in pripadajoče komponente razlikujejo od Windows NT. Omogoča zagon komponent okolja GNU in programov, napisanih za sisteme, podobne Unixu. Oblika izvedljive datoteke je PE, knjižnice imajo končnico .dll, programi pa končnico .exe.
Podprte strojne naprave:
- Blokovne naprave: NVMe, SATA, SDHCI (SD kartice), virtio-block in USB pogoni.
- Omrežne kartice: virtio-net, RTL8168, RTL8125.
- Vhodne naprave: virtio-input, USB HID, tipkovnice in miške z vmesnikom PS/2.
- Grafika: virtio-gpu, GOP framebuffer, VBE, VGA konzola.
- Konzola: virtio-konzola, serijska vrata x86, PL011 ARM.
- USB: XHCI.
Moxnox trenutno implementira 642 funkcij od približno 1200, opisanih v standardu POSIX 2024, vendar je to dovolj za projekte, kot so gcc, bash, mesa, openssh, openssl, perl, python in rust. Sistemska knjižnica je sestavljena iz funkcij gnulib, matematičnih in kriptografskih funkcij iz musl, funkcij regularnih izrazov iz tre in funkcij, podobnih funkciji printf, iz mingw. Podprto je samoprevajanje, kar omogoča prevajanje Moxnoxa iz okolja, ki temelji na Moxnoxu. Zagon Windows-programi še niso podprti, vendar nameravajo v prihodnosti za njihov zagon uporabiti implementacijo Win32 API-ja iz programa Wine.

Med programi, prenesenimi za Moxnox:
- bash
- binutils
- bizon
- bzip2
- Kairo
- cmake
- coreutils
- curl
- diffutils
- expat
- datoteka
- findutils
- flex
- Prosto pisanje
- buljenje
- gcc (samo amd64)
- git
- GMP
- gperf
- grep
- gzip
- harfbuzz
- heksil
- jsoncpp
- manj
- libarchive
- libiconv
- libpng
- knjižnica
- libuv
- llvm
- m4
- Znamka
- mako
- markupsafe
- Mesa
- mpc
- mpfr
- nano
- ncurses
- netcat
- ninja
- openssh
- openssl
- obliž
- perl
- Pixman
- python
- pyyaml
- čitalnica
- ripgrep
- rje
- žeja
- katran
- vim
- wget
- xz
- zlib
- zstd
V tej fazi razvoja je podprt le konzolni način, v prihodnosti pa je načrtovan tudi grafični vmesnik. Trenutno manjka tudi podpora za večuporabniška okolja, varnostne mehanizme, časovne pasove, razporeditve tipkovnice, lokalne nastavitve in kodiranja, ki niso UTF-8.
Projekt naj ne bi vseboval pomembne kode, ki bi jo ustvarila orodja umetne inteligence, temveč bi se uporabljala le za rutinsko delo, kot so prevajanje pravil autotools v CMake, zamenjava klicev ioctl s funkcijo tcgetwinsize pri prenosu programov, pisanje testov in iskanje napak v kodi.
Vir: opennet.ru
