
Энтузиаст под ником cakehonolulu совершил необычный технический подвиг, успешно портировав операционную систему Linux на игровую консоль Atari Jaguar, выпущенную еще в 1993 году. Разработчику удалось запустить ядро Linux версии 7.2.0-rc1+ совместно с минималистичным окружением на базе BusyBox не в эмуляторе, а непосредственно на реальном «железе», используя специализированный картридж.
Сложности архитектуры Atari Jaguar
Реализация проекта потребовала серьезной инженерной подготовки из-за жестких аппаратных ограничений консоли:
- Объем оперативной памяти составляет всего 2 МБ;
- Максимальный объем ПЗУ на игровом картридже — 6 МБ;
- Центральный процессор Motorola 68000 лишен модуля управления памятью (MMU).
Ввиду отсутствия MMU, классические методы загрузки Linux оказались неприменимы. Разработчик применил режим NOMMU для архитектуры m68k/uClinux, перейдя на плоскую модель памяти.
Оптимизация ядра
Чтобы вписать ядро в узкие рамки системы, была применена схема разделения ресурсов. Неизменяемые секции кода (например, .text и .rodata) исполняются непосредственно из ПЗУ (технология XIP — Execute In Place), в то время как изменяемые данные (.data и .bss) загружаются в оперативную память. Для обеспечения отладочного вывода на этапе загрузки был задействован DSP-чип Jerry с последовательными линиями TXD/RXD, а для полноценной работы на реальной консоли — специальный драйвер для чипа Tom.
Особенности пользовательского окружения
В отсутствие MMU традиционные ELF-файлы использовать не удалось, поэтому систему перевели на формат FLAT-бинарников. Среда BusyBox запускается в упрощенном режиме напрямую в качестве оболочки (shell). Стандартная схема установки ссылок на апплеты была исключена для экономии драгоценных килобайтов ОЗУ. Кроме того, через систему Buildroot потребовалась тонкая настройка библиотеки uClibc с использованием алгоритма выделения памяти malloc-simple.
Результаты эксперимента
Несмотря на то, что подобный порт не превращает Atari Jaguar в полноценный персональный компьютер, проект демонстрирует невероятную гибкость ядра Linux и жизнеспособность архитектуры m68k даже спустя десятилетия. Исходный код модифицированного ядра уже доступен для ознакомления в репозитории cakehonolulu/linux_jag.






