Найти тему
Smart home Russia

Linux (Armbian) на ТВ приставку S905X спустя 2 года [2022]

Прошло много времени с времени покупки ТВ приставки и 2 года с момента написания последней статьи. Решил пройти все заново и рассказать, что изменилось.

Translation to English is here. Также основной канал в telegram.

В своих прошлых статьях я устанавливал Armbian 20.05.6 и Armbian 20.10. В обоих случаях это был buster, версии были 5.7.2 и 5.9.0 соответственно. Обе версии запускались и работали, но только 5.7.2 устанавливалась на EMMC. Вот связанные публикации:

Переходим по ссылке прошивок для ARM-64 и с сожалением замечаем, что тема остановлена и новых прошивок/сборок/образов не выходило.

С одной стороны — это хорошо, ведь моя инструкция остается актуальной, а с другой стороны - плохо, ведь сегодня на дворе Armbian 22 и возможно за 2 года произошло что-то полезное. Я начал свои поиски и нашел ophub проект. На их страничке для нас просто рай, есть проекты Armbian, OpenWRT и пара проектов касательно ядра и Luci.

Этот момент для моей приставки стал новым витком экспериментов. Релизы Armbian лежат в соответствующем месте. Образы, которые я скачал - лежат на моем зеркале. На момент написания этой статьи мне подходили 4 образа:
Armbian_22.05.0_Aml_s905x_jammy_5.15.38_2022.05.11.2301.img.gz
Armbian_22.05.0_Aml_s905x_jammy_5.10.114_2022.05.11.2303.img.gz
Armbian_22.05.0_Aml_s905x_bullseye_5.10.114_2022.05.10.2024.img.gz
Armbian_22.05.0_Aml_s905x_bullseye_5.15.38_2022.05.10.2022.img.gz

Я скачал все версии, но пробовал(пока) только jammy. Выбор объясняется просто тем фактом, что у меня s905x чип, Jammy выбрал - потому что что-то новое, возможно позже перейду на bullseye. Образы нужно конечно же разархивировать и прошить на флешку. Я использовал 4GB диск, т.к. образ занимает после разворачивания именно столько. Второй момент - я использовал USB-диск. Записать образ очень просто, и я даже делал соответствующую инструкцию:

Создание загрузочной USB-flash c Linux
Smart home Russia7 ноября 2020

Начал я с ядра 5.15.38 и там меня ждал провал, инструкцию по его установке будет немного ниже. Как бы я не пытался запустить это образ - меня все время ждала неудача, я даже решил откатиться старой флешкой на образ 2-х летней давности, чтобы убедится в том, что все работает и все работало☺. Решил закончить с этим и попробовать для начала 5.10.114. Все заработало, поэтому инструкцию именно по этой версии я и пишу ниже:

1. Как я уже говорил, скачиваем наш необходимый образ. Внимание! То, что мне подошел Armb...5.10.114....img.gz образ еще ни о чем не говорит. Мы с другом купили одну и ту же приставку у одного и того же продавца и внутри они - правильно, разные. На моей приставке написано "X96" и сдается мне, что от нее мне прислали только корпус, поэтому версию чипа и ревизию платы смотреть обязательно. Если вам не подошла та или иная версия, то нужно или форумы читать или перебирать версии пока вы не найдете ваш чип. Если радиатор с чипа съемный, то лучше прямо на чипе прочитать.

2. Разархивируем образ на диск. Нам нужен файл с расширением img

3. Как я уже говорил выше, записываем образ на диск при помощи Balena Etcher, хотя можно использовать и другие методы

4. Диск после успешной верификации определится и Windows нам выдаст много ошибок его чтения и пожелает форматировать. Шлем его в пень и ждем пока откроется диск Boot. Если этого не произошло, то открываем его сами. Вообще, после прошивки диск выглядит в Windows так:

5. Открываем раздел boot

6. У нас будет много файлов, с расширением bin, название которых начинается с u-boot. Находим тот, который соответствует вашему чипу. В моем случае — это s905x, и я использовал файл u-boot-s905x-s912.bin, но не все так просто, есть табличка, которая подсказывает, что есть как минимум одна приставка с чипом s905x, которой нужен файл u-boot-p212.bin. Я надеюсь, что это просто шутка и кто-то ошибся при оформлении. Итак, файл u-boot-s905x-s912.bin переименовываем в u-boot.ext. Если все успешно и с файлом вы угадали, то приставка не будет циклично перезагружаться или висеть долгое время. Однако, как даже если файл выбран на 100% верный - приставка все равно может виснуть или перезагружаться.

7. Переходим в папку extlinux и там находим файл с названием extlinux.conf. Открываем его блокнотом и находим в нем строчку типа:
fdt /dtb/amlogic/meson-gxl-s905x-nexbox-a95x.dtb
Вот тут начинается вторая лотерея - найти правильный файл с конфигурацией. Тут только Гугл поможет вам. В моем случае я искал по ключевым словам
s905x и nexbox-a95x, притом если с чипом мы определилась раньше, то факт того что моя x96 на самом деле nexbox-a95x - я узнал, когда искал на 4pda прошивку для его восстановления. Если вы покупаете что-то не NoName на Ali, то это нормально, тут нечему удивляться. Еще один вариант - просто перебирать файлы из папки \dtb\amlogic. Некоторые из них сразу можно откинуть по чипу или имени.

Если все пункты выше были выполнены правильно, то вы увидите заветную командную строку с загрузкой Linux. На этом все.

ПС: я не пробовал устанавливать этот образ на EMMC сразу по 2 причинам. Во-первых, у меня даже прошлые версии перестали устанавливаться и нет проблем только с очень старыми образами возрастом 2++. Во-вторых, на страничке проекта указано, что они пока не могут починить проблему с приставками как моя (уже 2 года, так что нет надежды что кто-то что-то там вообще делает) и установка на EMMC - не работает. Но я нагуглил пару вариантов, о чем непременно расскажу далее в случае успеха.

Получилось установить и заставить работать с EMMC:

Подпишитесь, чтобы не пропускать следующий контент.
Нажмите лайк, если интересно, так я пойму какие публикации больше нужны моей публике.
Также публикации можно найти на других площадках: Instagram, telegram (RU, EN, DE), Medium, LiveJournal, YouTube.

Получилось установить Home Assistant в Docker на приставку: