72 Кб ОЗУ против современной ОС. Linux запустили на Sega MegaDrive 1988 года

Старому железу помог необычный трюк с игровым картриджем.


ma73trk2a7pnhdcbu22nejgwqrmn4ixu.jpg

Даже техника конца 1980-х получила шанс запустить современную операционную систему: разработчики представили первый выпуск проекта LinuxMD, который переносит Linux на игровую приставку Sega MegaDrive 1988 года. Ядро выполняется на основном процессоре Motorola 68000 с частотой 7,6 МГц, хотя сама консоль располагает лишь 72 КБ оперативной памяти.

Главное ограничение удалось обойти с помощью картриджа Mega EverDrive Core, а совместимость с версией Pro разработчик пока не проверял. Внутри такого устройства находится отдельная система на базе FPGA со своей памятью, поэтому Linux использует 4 МБ ОЗУ картриджа, но продолжает работать на процессоре приставки. Доступ к памяти организовали через переключение её банков, похожее на механизм, который ранее применяли в Super Street Fighter II.

Картридж также связал приставку с SD-картой и предоставил ядру таймер высокого разрешения. Благодаря протоколу обмена Mega EverDrive Linux может читать файлы с накопителя, вставленного в картридж. Поскольку Motorola 68000 не поддерживает аппаратное управление виртуальной памятью, ядро собрали в режиме NOMMU, рассчитанном на системы без такого блока.

В состав порта вошли ядро Linux 7.2-rc1, загрузчик U-Boot 2026.01 и минимальная корневая файловая система с базовыми утилитами. Для проверки без реальной приставки разработчикам пришлось создать собственную версию QEMU : обычные эмуляторы воспроизводят Sega MegaDrive, но не поддерживают особенности картриджей EverDrive.

Эмулятор пока не ограничивает скорость процессора, поэтому Linux в нём работает заметно быстрее, чем на оригинальном Motorola 68000. Первая версия проекта уже доступна на GitHub . LinuxMD наглядно показал, насколько далеко можно раздвинуть возможности старого оборудования при грамотной работе с его ограничениями.