Drew DeVault, autor środowiska użytkownika Sway, klienta pocztowego Aerc, platformy współpracy SourceHut oraz języka programowania Hare, ogłosił, że udało mu się napisać własną implementację klonu UNIX w zaledwie 27 dni. Autor nazwał swój system operacyjny Bunnix.
System jest monolitycznym systemem operacyjnym typu Unix-like, napisanym w Hare z niewielkimi wstawkami w języku C.
W przestrzeni użytkownika zebrano następujące narzędzia:
- dash (/bin/sh)
- gzip
- less (pager)
- lok (/bin/awk)
- lolcat
- mandoc (strony man)
- sbase (core utils)1
- tcc (kompilator C)
- Vim 5.7
Aby zademonstrować możliwości systemu, zebrano również gry Doom i Colossal Cave Adventure.
System można uruchomić za pomocą QEmu lub zapisać na pamięci USB. Praca z samym USB nie jest wspierana, dlatego na rzeczywistym sprzęcie należy używać PS2/klawiatury. W jądrze wspierane są sterowniki:
- PCI,
- urządzenia AHCI,
- tabele partycji GPT i MBR,
- klawiatura PS/2,
- porty szeregowe platformy,
- Zegary CMOS,
- framebuffer,
- system plików ext4 i memfs (przez lwext4).
Funkcje jądra obejmują:
- wirtualny system plików,
- /dev, /dev/kbd и /dev/fb0,
- porty szeregowe i VideoTTY,
- terminal sterujący /dev/tty,
- emulator terminala,
- termios,
- około 40 wywołań systemowych (clock_gettime, poll, openat, fork, exec, Pipe, dup, dup2, ioctl itd.)
Autor stworzył ten projekt z własnego zainteresowania i nie zamierza go rozwijać dalej. Interesowało go, jak łatwo można napisać jądro i portować oprogramowanie zewnętrzne przy użyciu nowoczesnych narzędzi. Jak mówi programista, portowanie oprogramowania zewnętrznego było stosunkowo łatwe, ponieważ jego libc była oparta na musl libc, co umożliwiło łatwe dostosowanie mechanizmów libc do działania na Bunnix.
Źródło: linux.org.ru
