Mark Harmstone, WinBtrfs projekti autor, on vabastanud Moxnox 1.0 operatsioonisüsteemi, mida arendatakse alates 2022. aastast hobina. Moxnox esitleb end Windows NT-le orienteeritud operatsioonisüsteemina, mis tagab ühilduvuse POSIX-standarditega, kasutab Btrfs failisüsteemi ja on saavutanud isehaldamise taseme. Projekt sisaldab umbes 130 000 rida C++ koodi ja levitatakse GPL (tuum ja põhiprogrammid), LGPL (raamatukogud) ja MIT (moodulid) litsentside alusel. Toetatakse ehitusi x86-64-v3 ja ARMv8.1 arhitektuuridele (toimib ka Raspberry Pi 5 plaadil).
Süsteemikutse ja madalama taseme liidesed tuumas on rakendatud Windows NT mudeli kohaselt, kuid tuuma struktuur ja seotud komponendid erinevad Windows NT-st. Pakutakse võimalust käivitada GNU keskkonna komponente ja Unixitaoliste süsteemide jaoks kirjutatud programme. Täitmisfailide formaadina kasutatakse PE-d, raamatukogudel on laiend dll ja programmide puhul exe.
Toetatud riistvaraseadmed:
- Blokiseadmed: NVMe, SATA, SDHCI (SD-kaardid), virtio-block ja USB-mälupulgad.
- Võrgukaardid: virtio-net, RTL8168, RTL8125.
- Sisendseadmed: virtio-input, USB HID, PS/2 liidesega klaviatuurid ja hiired.
- Graafika: virtio-gpu, GOP framebuffer, VBE, VGA-konsol.
- Konsol: virtio-console, sekvenaalne port x86, PL011 ARM.
- USB: XHCI.
Praegu on Moxnox's rakendatud 642 funktsiooni umbes 1200-st, mis on kirjeldatud POSIX 2024 standardis, kuid seda piisab selliste projektide töötamiseks nagu gcc, bash, mesa, openssh, openssl, perl, python ja rust. Süsteemiraamatukogu on moodustatud gnulib funktsioonidest, matemaatilistest ja krüptograafilistest funktsioonidest musl, regulaarsete väljendite töötlemise funktsioonidest tre ja printf-tüüpi funktsioonidest mingw. Toetatakse isehaldust, mis võimaldab Moxnox-i kokku panna Moxnox-põhises keskkonnas. Windowsi programmide käitamine ei ole praegu toetatud, kuid tulevikus plaanitakse nende käitamiseks kasutada Win32 API rakendust Wine.

Moxnoxile portitud programmide hulka kuuluvad:
- bash
- binutils
- bison
- bzip2
- cairo
- cmake
- coreutils
- curl
- diffutils
- expat
- file
- findutils
- flex
- freetype
- gawk
- gcc (ainult amd64 jaoks)
- git
- gmp
- gperf
- grep
- gzip
- harfbuzz
- hexyl
- jsoncpp
- less
- libarchive
- libiconv
- libpng
- librhash
- libuv
- llvm
- m4
- tee
- mako
- markupsafe
- mesa
- mpc
- mpfr
- nano
- ncurses
- netcat
- ninja
- openssh
- openssl
- patch
- perl
- pixman
- python
- pyyaml
- readline
- ripgrep
- rust
- sed
- tar
- vim-is.
- wget
- xz
- zlib
- zstd
Arenduse praegusel etapil toetatakse ainult töö tegemist konsoolirežiimis, kuid tulevikus plaanitakse rakendada ka graafilist liidest. Samuti puudub veel mitme kasutaja keskkonna, turvamehhanismide, ajavööndite, klaviatuuripaigutuste, lokaalide ja muude kui UTF-8 kodeeringute tugi.
Kinnitust leidnud, et projekt ei sisalda märkimisväärset koodi, mis on genereeritud AI-tööriistade poolt, mille ülesanne oli ainult rutiinset tööd teostada, nagu autotoolide reeglite tõlkimine CMake'i, ioctl-kutseste asendamine tcgetwinsize funktsiooniga programmide portimisel, testide kirjutamine ja koodivigade leidmine.
Allikas: opennet.ru
