Дану медіаприставку було придбано наприкінці 2019 року. З того часу вона використовується мною під Armbian для віддаленої роботи в консолі, трансляції в локальну мережу телеканалів з ефіру DVB-T2, моніторингу й керуванню блоком безперебійного живлення, керуванням пристроями Ubiquiti через UISP, запущеним в Docker і багатьох інших задач. Отже, настав час оновити Armbian.
Характеристики медіаприставки:
Модель: Dealdig BOXD6
Процесор: Amlogic S912, 8 ядер ARM Cortex-A53, частота до 2 ГГц
GPU: ARM Mali-T820 MP3 до 750 МГц
Операційна система: Android 7.1
Оперативна пам’ять: 3 Гб DDR4
Внутрішня пам’ять: 32 Гб EMMC
Wi-Fi: IEEE 802.11a/b/g/n/ac – 2.4G+5.8G+ac
Ethernet: 1 Гбіт/с
Bluetooth: 4.0
Оновлювати Armbian будемо до версії, заснованої на Ubuntu Jammy (22.04), у мінімальній конфігурації.
Образи Armbian знаходяться за посиланням. Обираємо образ з s912 у назві файлу (на момент прочитання статті пряме посилання може бути недійсним).
Записуємо на SD-карту будь-яким зручним для вас способом. Наприклад, так:
dd if=Armbian_image.img of=/dev/SD_card bs=1M status=progress
Armbian_image та SD_card потрібно замінити на реальні.
Або використовуйте програму Balena Etcher.
Після успішного запису образу Armbian витягуємо й знову вставляємо SD-карту. Наразі нам потрібно відредагувати конфігураційні файли в розділі /boot . Цей розділ використовує файлову систему FAT, тому доступний як під Linux, так і під Windows.
Редагуємо extlinux/extlinux.conf.bak:
serhiyko@laptop:/media/serhiyko/BOOT$ nano extlinux/extlinux.conf.bak
Змінюємо тільки значення fdt на відповідне для нашої медіаприставки. Загалом, відредагований файл повинен виглядати приблизно так:
label Armbian
kernel /zImage
initrd /uInitrd
fdt /dtb/amlogic/meson-gxm-gt1-ultimate.dtb
append root=UUID=6a01ace5-fe13-45cb-bff6-334303581c78 rootflags=data=writeback rw rootfstype=ext4 console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 loglevel=1 voutmode=hdmi disablehpd=false overscan=100 sdrmode=auto
Наприкінці зберігаємо файл під новим ім’ям extlinux/extlinux.conf :
serhiyko@laptop:/media/serhiyko/BOOT$ ls -l extlinux
total 1
-rw-r–r– 1 serhiyko serhiyko 385 Dec 22 10:07 extlinux.conf
-rw-r–r– 1 serhiyko serhiyko 388 Dec 21 12:16 extlinux.conf.bak
У розділі /boot також знаходиться конфігураційний файл uEnv.txt :
LINUX=/zImage
INITRD=/uInitrd
FDT=/dtb/amlogic/meson-gxm-gt1-ultimate.dtb
APPEND=root=UUID=6a01ace5-fe13-45cb-bff6-334303581c78 rootflags=data=writeback rw rootfstype=ext4 console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1
Я також змінив значення fdt на /dtb/amlogic/meson-gxm-gt1-ultimate.dtb , але, схоже, це не має значення, якщо ви не будете переміщувати образ на флешпам’ять eMMC (файл emmc_autoscript.cmd читає цей файл).
Наступним кроком нам потрібно обрати завантажувач:
serhiyko@laptop:/media/serhiyko/BOOT$ cp u-boot-s905x-s912.bin u-boot.ext
Переконуємося, що u-boot.ext – це дійсно u-boot-s905x-s912.bin :
serhiyko@laptop:/media/serhiyko/BOOT$ ls -l u-boot-s905x-s912.bin u-boot.ext
-rwxr-xr-x 1 serhiyko serhiyko 650183 Dec 22 09:59 u-boot.ext
-rwxr-xr-x 1 serhiyko serhiyko 650183 Dec 21 12:16 u-boot-s905x-s912.bin
Власне, це все, що потрібно для запуску Armbian на медіаприставці Dealdig BOXD6 / Beelink GT1 Ultimate.
Розмонтовуємо SD-карту, витягаємо й вставляємо її в медіаприставку. Після цього подаємо живлення на медіаприставку.
За замовчуванням користувач root має пароль 1234 . IP-адреса отримується по dhcp. Дивіться її на своєму роутері.
Якщо ви оновили на медіаприставці прошивку Android, то завантаження з SD-карти деактивується і його потрібно активувати наново. Робиться це наступним чином: вимикаємо живлення приставки, вставляємо в неї SD-карту з записаним образом прошивки. Натискаємо Reset (отвір в нижній частині приставки) і вставляємо штекер живлення в гніздо медіаприставки. Чекаємо, поки не з’явиться завантаження Linux, після чого можна відпустити кнопку Reset (або тримаємо кнопку Reset приблизно 5 секунд). Чекаємо на закінчення завантаження.
PS. За замовчуванням, ядро не підтримує телевізійні тюнери та радіо. Перезібране мною ядро версії 6.0.14 з їх підтримкою можна завантажити за посиланням.