Разработчик под ником Poseidon-fan переписал ядро Linux 0.11 1991 года на современном Rust. Проект называется linux-0.11-rs и лежит на GitHub. Он сохраняет оригинальную семантику — то есть делает то же самое, но выражает это иначе: сильная типизация, чёткие границы модулей, идиоматические абстракции. Ядро загружается на эмулированном i386 в QEMU, запускает полный init → shell → coreutils стек и умеет собирать загрузочный образ одной командой.
Что есть внутри? Процессы, виртуальная память с demand paging и CoW fork, файловая система Minix v1, ATA-драйвер, консоль VGA и PS/2, последовательная консоль 8250, TTY-слой, сигналы и полная таблица системных вызовов Linux 0.11. Пользовательская библиотека user_lib повторяет публичное API std::{fs, io, path, env, process, time} — программы на Rust выглядят как обычный код, а не как вызовы syscall. В состав входит 80+ coreutils и собственный шелл sh, поддерживающий пайпы, управляющие конструкции, функции, glob, подстановку команд и арифметики, а также интерактивный редактор строки с автодополнением по Tab и историей команд.
Сборка образа — один скрипт: tools/build-disk.sh компилирует все пользовательские программы, раскладывает их в файловую систему в стиле Unix и пакует результат в загрузочный образ диска. Отдельно лежат утилиты mbrkit и miniximg — самостоятельные крейты на crates.io для работы с MBR и образами Minix v1. В репозитории есть готовый devcontainer — клонируешь, открываешь в VS Code, жмёшь "Reopen in Container" и запускаешь make run. Без контейнера понадобятся rust nightly, qemu-system-i386, x86_64-linux-gnu-* тулчейн и локальные инструменты, которые ставит tools/install-tools.sh.
Тесты запускаются под QEMU: эмулятор грузит ядро, а скрипты .ktest управляют последовательной консолью. Есть наборы тестов для оболочки и базовых сценариев. Структура репозитория: kernel/ — само ядро, user_lib/ — библиотека, user_program/ — coreutils и sh, ktest/ — раннер тестов, mbrkit/ и miniximg/ — утилиты для образов, rootfs/ — шаблон файловой системы, tools/ — скрипты разработчика, tutorial/ — черновик пошагового руководства (в разработке), .devcontainer/ — окружение.
Проект ссылается на yuan-xy/Linux-0.11 как на важный референс и черпал вдохновение из rcore-os/rCore-Tutorial-v3. Лицензия указана в репозитории.