Энтузиаст написал клон Unix примерно за месяц
Энтузиаст создал клон Unix за 27 дней. Он назвал свой проект Bunnix. Разработчик поделился установочным образом, который можно загрузить с помощью qemu или записать на USB-накопитель.
Энтузиаст полагает, что Bunnix будет работать на большинстве устройств AMD64 — сам он тестировал его на ThinkPad X220 и Starlabs Starbook Mk IV. Клон поддерживает legacy и EFI, однако в нём не предусмотрена поддержка USB, поэтому требуется клавиатура PS/2 или эмуляция PS/2 через BIOS.
Ядро однопользовательской системы Bunnix написано на Hare и включает некоторые компоненты C, в том числе lwext4 для поддержки файловой системы ext4 и libvterm для видеотерминала ядра.
Ядро поддерживает следующие драйверы:
PCI,
устройства AHCI,
таблицы разделов GPT и MBR,
клавиатуру PS/2,
последовательные порты платформы,
КМОП-часы,
фреймбуферы,
файловые системы ext4 и memfs.
Также поддерживаются следующие функции ядра: виртуальная файловая система, /dev, /dev/kbd и /dev/fb0, последовательные и VideoTTY, управляющий терминал /dev/tty, эмулятор терминала, termios, а также около 40 системных вызовов, включая clock_gettime, poll, openat, fork, exec, Pipe, dup, dup2, ioctl и т. д.
В Bunnix входит следующее стороннее программное обеспечение:
Colossal Cave Adventure;
dash (/bin/sh);
Doom;
gzip;
less;
lok (/bin/awk);
lolcat;
mandoc (справочные страницы);
sbase (основные утилиты)1;
tcc (компилятор C);
Vim 5.7.
Энтузиаст предупреждает, что система периодически выдаёт ошибки.
Часть кода Bunnix взята из более раннего проекта Helios. Сюда входят части ядра, которые отвечают за некоторые относительно общие настройки ЦП (GDT, IDT и т. д.). Некоторые драйверы, такие как AHCI, были адаптированы для системы.
Двумя наиболее сложными аспектами стали поддержка ext4 и виртуального терминала, для чего
Читать на habr.com


