Двухлетний жизненный цикл версий ядра Linux LTS не позволяет выпускать актуальные обновления для устройств под Android, то есть не покрывает жизненный цикл устройства
Отныне срок поддержки версий Linux с долговременной поддержкой (LTS) увеличен с двух до шести лет. Новость объявил Ильян Мальчев (Ilyan Malchev) из Google, выступая на конференции Linaro Connect. Объявление сделано с разрешения одного из главных разработчиков ядра и мейнтейнера стабильной ветки Грега Кроа-Хартмана (Greg Kroah-Hartman), пишет The Register.
Google стремится к тому, что каждое устройство под Android должно на протяжении своего жизненного цикла обновиться на новые версии Android как минимум четыре раза. Но сейчас наблюдается противоположная ситуация — хорошо, если смартфон обновится на новую версию Android хотя бы один раз.
Сам Мальчев работает в Google над проектом Treble — более удобной системой обновления смартфонов на новые версии Android, и короткий жизненный цикл версий ядра Linux LTS мешает разработчикам (см. слайд из презентации вверху). Часто бывает так, что смартфон под Android перестаёт обновляться и навсегда остаётся на старой версии ОС.
Мальчев сказал, что производители устройств сейчас вынуждены выбирать, с какой версией ядра Linux они будут работать, но при этом они понимают, что у версий LTS остался всего год поддержки, а иногда и меньше. Таким образом, двухлетний срок поддержки LTS не покрывает жизненный цикл устройства.
Новый шестилетний жизненный цикл приводит поддержку версий ядра Linux LTS в соответствие с выпуском обновлений для устройств под Android
Шестилетний срок поддержки LTS должен решить проблему с обновлениями Android. К тому же, он позволит выпускать действительно стабильные релизы, после исправления всех багов, о которых Линус Торвальдс писал 1 октября в рассылке для разработчиков. Он говорил о некоторых проблемах с версией 4.14 LTS, которая оказалась не так востребована, как версия 4.9. Например, в 4.14 rc3 исправляются «серьёзные базовые проблемы», которых Линус не хотел бы видеть на этой стадии. Три изменения в rc3 имеют большую степень важности.
С нынешним восьминедельным циклом выпуска новых версия ядра Linux версии LTS будут выходить каждые девять месяцев. Новая политика шестилетней поддержки распространяется на LTS начиная с версии 4.4. Именно это ядро Google просит разработчиков устройств устанавливать в устройства под Android O.
Комментарии (13)
SupRo
04.10.2017 11:30+1У меня андроид 7.1.2 на ядре 3.18. это ветка из 14 года. Android Oreo вроде тоже на этой ветке? Почему Google выпускает новые версии андроида не на свежих релизах ядер linux?
sriver
04.10.2017 12:23У меня на Galaxy s8 ядро 4.4.16, при том что версия Android 7.0
Я так понимаю, что Google не особо то заставляет производителей использовать старое ядроSupRo
04.10.2017 12:50Но он является примером, на PIXEL с прошивкой 8.0, например ядро 3.18.52(судя по обзорам). Может вместо растягивания поддержки древних ядер и траты на это ресурсов, имеет смысл выпускать хотя бы свои телефоны на более свежих версиях ядер?
encyclopedist
04.10.2017 23:12Если производитель SoC или какой периферии поставляет драйвера только для 3.18, то тут Гуглу или производителю телефона уже никуда не деться.
Buzzzzer
04.10.2017 17:25У меня Galaxy S7Edge, ядро 3.18.14, Android 7.0
Так что похоже Samsung новую версию ядра с новыми телефонами поставляет
Zverienish
04.10.2017 12:25+1Возможно много самопила в ядре и весь остальной пласт ПО сильно привязан к ABI ядра. Может еще разработчики оборудования и драйверов к ним грузом висят.
immaculate
То, что увеличивается срок поддержки LTS никоим образом не влияет на наличие обновлений для Android. Производители забрасывают поддержку своих телефонов в первые месяцы после их выхода, а сам новое ядро не поставишь. И ни одному производителю телефонов не нужно устройство, работающее годами. Все равно костылей понаставят, чтобы пользоваться телефоном было невозможно.
Недавно выбирал телефон в подарок, был удивлен, что все дешевые телефоны, кроме Xiaomi, до сих пор имеют 512-1024 Мб RAM и 4-8 Гб ROM. То есть они начнут тормозить буквально после покупки, а еще через пару месяцев приложения перестанут обновляться из-за нехватки ROM.
Zombieff
Некоторые производители (я смотрю на тебя, Samsung) выпускают десятки моделей, по несколько вариантов одной модели с разным железом и разными прошивками, и даже с одинаковым железом и разными прошивками для разных стран. Никаких ресурсов не хватит на поддержку всего этого зоопарка.
Брали бы пример с Apple — выпускают по 1-2 модели (в этом году исключение), поддерживают лет по 5.
Zverienish
Тут проблема не в количестве аппаратов, а в самой системе ОС для мобильных устройств, нет унифицированного понятия загрузчика, нет общедоступных драйверов под все устройства и разные ядра, плюс вообще заблокирован загрузчик. Те же компьютеры и не страдают этой проблемой, там цикл поддержки очень большой, при том очень часто можно обновиться самому на более старшую систему.
Zombieff
С устройствами на ARM всё сложнее, чем с IBM PC. Чего стоит одна только разметка дисков. В самой памяти может не быть таблицы разделов! Информация об их расположении может храниться в загрузчике, в случае Linux может вообще быть захардкоженной в драйвере ядра.
Одно из обсуждений на эту тему. Оно от 2011 года, но с тех пор не особо что-то поменялось в лучшую сторону. Поправьте, если ошибаюсь. (Да, есть виды памяти и с таблицей разделов GPT, это есть по ссылке, но тем не менее)
А ещё среди мобильных устройств даже варианты ARM довольно сильно друг от друга отличаются, поэтому и Android, и iOS используют компиляцию приложений в байт-код с последующим выполнением в виртуальной машине.