Из Linux принудительно вырежут поддержку десятков процессоров
Ядро Linux и все обновляемые дистрибутивы на его основе лишатся поддержки целого ряда процессоров на архитектуре ARM. Это весьма перспективная архитектура, но существует она не один десяток лет, и многие CPU на ее основе давно морально устарели. Удалению подлежит поддержка лишь старых итераций ARM – новые ее релизы, как и современные процессоры, этой участи избежали.
Старое оставить в прошлом
Один из ключевых контрибуторов Linux Арнд Бергман (Arnd Bergmann) разработал масштабный план по исключению из ядра Linux поддержки устаревших версий архитектуры ARM и всех процессоров на их основе. С ним он обратился к сообществу раработчиков Linux. Также он озвучил идею по удалению такой поддержки еще и из GCC или GNU Compiler Collection – сборника компиляторов от проекта GNU, поддерживающих различные языки программирования, аппаратные архитектуры и операционные системы.
К моменту выпуска материала процесс удаления поддержки старых ARM-процессоров и старых же версий ARM из ядра Linux и GCC находился на самой ранней стадии. Фактически, идея пока обсуждается сообществом, и финальное решение по ней еще не принято. Но инициатор Арнд Бергман, отвечающий за пакеты с ядром в дистрибутиве SUSE, предлагает не решать этот вопрос годами, а оперативно принять его предложение и начать очищение ядра с версии 6.12. Появление стабильного билда Linux 6.12 запланировано на декабрь 2024 г.
Кто под ударом
Бергман предлагает провести очень крупномасштабную чистку ядра Linux и компиляторов из набора GCC. Он хочет вырезать из них в первую очередь поддержку архитектур ARMv3 (семейство ARM6) и ARMv4 (ARM 11), появившихся еще в конце XX века. Впрочем ARMv3 уже не поддерживается в GCC, начиная с версии 9, а самой актуальной версией этого набора компиляторов к на момент выпуска материала была 14.1, датированная маем 2024 г.
Несмотря на древность обеих архитектур, процессоры, основанные на них, все еще используются, хотя и не повсеместно. Издание OpenNet приводит в пример чипы StrongARM и FA526.
«Под нож» также пойдут архитектуры ARMv4T, ARM922T, ARMv5, ранние модификации ARMv6 и ARMv7-M. От некоторых из них Бергман предлагает отказаться сразу, и начать он хочет непосредственно с ARMv4, но в ее случае он предлагает вырезать ее сначала из компиляторов и только через несколько лет из ядра Linux.
Другой пример – ARMv7-M, развитие которой было прекращено в 2017 г. Избавить от нее ядро Linux Бергман предлагает в 2027 г.
В начале 2023 г. ядро Linux уже предлагалось освободить от поддержки старых версий ARM. Как пишет портал Phoronix, авторы идеи подсчитали, что это сделает его намного легче – из него будет исключено около 154 тыс. строк программного кода. Скольких строчек ядро лишится в случае принятия предложения Бергмана, неизвестно.
Старые чипы Intel тоже никому не нравятся
Бергман весьма регулярно подбрасывает сообществу разработчиков Linux идеи по исключению из состава ядра поддержки тех или иных старых процессоров. Меньше всего ему хочется видеть в ядре код, отвечающий за работу именно с процессорами ARM – CNews писал, что в начале 2021 г. он предложил отключить поддержку нескольких десятков морально устаревших чипов на этой архитектуре.
Но и процессорам на архитектуре х86 периодически достается, причем чаще всего под ударом оказывается продукция Intel. Например, в конце 2023 г. из разрабатывавшегося на тот момент Linux 6.7 был полностью и бесповоротно удален код, отвечавший за поддержку процессоров Intel Itanium на базе архитектуры IA-64. Сделано это было с подачи создателя Linux Линуса Торвальдса (Linus Torvalds) – в 2021 г. он назвал эти процессоры «мертвыми».
Невзлюбил Торвальдс и чипы Intel семейства i486. Как сообщал CNews, в октябре 2022 г. он предложил удалить из ядра Linux весь связанный с ними код.
Чипы серии i486 – знаковые для Intel, она выпускала их на протяжении 28 лет и за этот период создала более 40 их модификаций. Но они давно устарели, как и предшествующие им процессоры i386, поддержку которых исключили из Linux еще раньше, в конце 2012 г.