Вектор развития системы PerfscaleLinux избавляется от наследия ARM

Поддержание актуальности одного из самых сложных программных проектов в мире требует постоянного баланса между совместимостью и прогрессом. Арнд Бергман, курирующий ARM-подсистему ядра Linux, инициировал новый этап очистки кода, целью которого является удаление поддержки платформ, которые давно перестали быть востребованными.
Процесс деградации поддержки будет реализован поэтапно: сначала целевые платформы получат статус устаревших (deprecated), что станет сигналом для оставшихся пользователей, а затем их код будет полностью вырезан из дерева ядра. Окончательная точка в этой ревизии должна быть поставлена к началу 2027 года. Стоит отметить, что это не первая попытка провести подобную «инвентаризацию» — аналогичные инициативы предпринимались еще в 2024 году, однако тогда процесс был приостановлен. В этот раз разработчики намерены довести дело до конца, синхронизировав финальный этап с выходом очередной LTS-версии ядра, что обеспечит стабильный переход для корпоративного сектора.
Список кандидатов на удаление включает в себя широкий спектр устаревших технологий. В первую очередь под удар попадают платформы, которые так и не были переведены на механизм Device Tree — современный стандарт описания оборудования, который позволил уйти от громоздких статических файлов описания каждой отдельной платы. Также из состава ядра исключат поддержку ранних процессоров ARMv6 (включая ARM1136r0), систем на кристалле (SoC) серий OMAP24xx и i.MX31, а также расширение iWMMXt и старый интерфейс OABI.
Особое внимание уделено микроконтроллерам Cortex-M3, M4 и M7: их поддержка в основном ядре Linux также будет прекращена. Кроме того, режим big-endian для ARMv7 будет переведен в категорию BROKEN. В терминологии разработки ядра это означает, что код может формально присутствовать, но полноценное тестирование данной конфигурации прекращается, и ее стабильность более не гарантируется.

Логика этого решения продиктована не столько физическим возрастом железа, сколько отсутствием живого сообщества вокруг него. Когда платформа перестает иметь активных пользователей и разработчиков, готовых тестировать новые версии ядра и исправлять ошибки, она превращается в «мертвый код». Поддержка таких систем неоправданно раздувает объем исходного кода и создает дополнительные сложности при модернизации современных подсистем ядра, так как любые изменения должны проверяться на совместимость с этим наследием.
Для подавляющего большинства современных пользователей эти изменения пройдут абсолютно незаметно. Речь идет о глубоко специализированных встроенных устройствах и старых платах, которые либо давно сняты с производства, либо работают на сильно модифицированных, «замороженных» версиях ядра. Современная экосистема ARM — от актуальных одноплатных компьютеров и смартфонов до мощных серверных процессоров — никак не затронута данной чисткой, так как базируется на совершенно иных стандартах реализации.

