Не скажу за всех, но периодически вспоминать нюансы по сборке образа и тратить на это время бесит. Пусть будет туториал.
В руках у меня оказалась невзрачная черная коробочка — KM8p, сердцем которой бился восьми ядерный кристалл s912, с двумя гигабайтами оперативной памяти и восемью гигабайтами встроенного хранилища. Задача — вдохнуть в нее жизнь, установив легковесную графическую среду xfce, единственную, что под силу этой скромной оперативе.
Мой путь лежал через дистрибутив armbian, версию 26.02.0-trunk. Но это был не простой установочный образ, а целый лабиринт, полный не очевидных ловушек и правил, будто составленных загадочным архитектором.
Первый закон: Запрет на чужие земли.
Систему нельзя было разворачивать где попало. Только там, откуда она сама же и загрузилась — на том же самом блочном устройстве, где уже смонтирован корень '/'. Попытка нарушить это правило грозила погружением в хаос.
Второй закон: Чистота перед творением.
Перед каждым новым актом сборки требовалось ритуальное очищение. Следовало безжалостно стереть временные каталоги: ./cache, ./.tmp, ./output, ./userpatches. Будто стирая следы прошлых попыток, ты даешь пространству для новой магии.
Третий закон: Власть не для корня.
Собирать следовало не под всесильным root, а под основным, смертным пользователем. И файловая система для этого действа предписывалась только ext4 — проверенный временем фундамент.
Четвертый закон: Свобода от докера.
Мне не потребовался Docker. Вместо этого, в определенный момент, когда на экране начинал тикать обратный отсчет, от меня ждали лишь одного: вовремя нажать 'Enter', подтверждая свое присутствие и готовность.
Пятый закон: Табу на конфиги.
Соблазн добавить свои настройки в ./build/config/boards/ был велик, но туда путь был заказан. Там царил хаос динамических имен, завязанных на имена dts-файлов железа. Вмешательство сулило только конфуз.
Шестой закон: Смотри в суть.
Настоящие секреты таились глубже — в скриптах по адресу ./build/lib/functions/compilation/. Именно эти заклинания по частям собирали uboot, kernel и прочие кирпичики системы.
Седьмой закон, самый коварный: Образ-призрак.
Собранный по умолчанию образ armbian был подобен телу без души. На месте загрузчика uboot в нем зияли лишь нули. Залить такой образ на emmc и ждать загрузки было безумием. Он никогда бы не стартовал.
Но в безднах скриптов, среди тысячи строк кода, таился спасительный флаг — 'EXTENSION_BUILT_UBOOT=yes'. Его активация заставляла машину собрать и вшить загрузчик в образ. Правда, следовало на свой страх и риск проверить, есть ли в репозитории u-boot нужный dts-файл для моего процессора. Игра стоила свеч.
Финальный ритуал — команда великой сборки:
./compile.sh build BOARD=khadas-vim2 BRANCH=current BUILD_DESKTOP=yes \
BUILD_MINIMAL=no DESKTOP_APPGROUPS_SELECTED='browsers editors internet multimedia' \
DESKTOP_ENVIRONMENT=xfce DESKTOP_ENVIRONMENT_CONFIG_NAME=config_base \
KERNEL_CONFIGURE=no RELEASE=noble EXTENSION_BUILT_UBOOT=yes
И даже когда, после долгих часов компиляции, система наконец оживала, ее ждал последний штрих. Ethernet на KM8p в таком виде молчал. Чтобы пробудить проводную связь, требовалось принудительно сменить ее цифровое «платье» — Device Tree. В файле "/boot/armbianEnv.txt" нужно было вписать заклинание:
fdtfile=amlogic/meson-gxm-q201.dtb
Этот файл давал жизнь только проводам. За магию Wi-Fi предстояло охотиться отдельно, в дебрях даташитов и форумов.
Так, шаг за шагом, обходя ловушки и следуя странным правилам, капризный кристалл s912 оживал, превращаясь из черной коробочки в полноценный миниатюрный компьютер, готовый к работе.
p.s. Тут собраны нюансы для сборки своего образа на базе armbian, если кто то знает что то еще, можно дополнить. В качестве примера был ТВ бокс KM8p и его перевод на ubuntu для дальнейшей эксплуатации в качестве сервера, но это уже совсем другая история :)
Комментарии (6)

adeep
06.01.2026 23:09что-то EXTENSION_BUILT_UBOOT в первый раз вижу - uboot всегда собирается.
в законах ересь написана, разве что кроме запуска от рута

dombran Автор
06.01.2026 23:09В том то и проблема, в последней версии armbian во многих конфигах он собирается без загрузчика. Amlogic кристаллы так точно.

adeep
06.01.2026 23:09вы собираете khadas-vim2 - это официально поддерживаемый образ. он собирается с полным загрузчиком
https://github.com/armbian/build/blob/main/config/sources/families/meson-gxl.conf строки 22-25

digrobot
06.01.2026 23:09А смысл самому собирать? Есть готовый образ Ubuntu, записал на sd карту, загрузился с неё - все работает, и гораздо быстрее, чем с emmc, но можно и на emmc установить. Железо такое же meson-gxm-q201

dombran Автор
06.01.2026 23:09Для вышеуказанного красталла большинство образов без загрузчика. Не говорю уже отом что они собраны абы как.
achekalin
Какой-то ии текст.
Понимаю, что такое проще написать самому, но читать прямо трудно.