Как держать Armbian обновляемым#
Опасение, что апгрейд apt «потеряет dts» и сломает eMMC, в основном беспочвенно, а реальное ограничение уже, чем кажется. Эта страница разделяет два этих вопроса.
Экспериментально в одном месте. Всё про то, почему ядро на hold, подтверждено и задокументировано. Путь с hold (переход на более новое ядро с сохранением встроенного Ethernet) пока не проверен на Zero — он помечен ниже. Сделай полный бэкап перед тем, как это тестировать.
Оверлей 40 МГц уже защищён от апгрейдов#
Кэп клока eMMC — это user-оверлей — overlay-user/sovol-zero-emmc-40mhz.dtbo, включённый через user_overlays= в armbianEnv.txt (смотри оверлей). Пакеты ядра никогда не трогают overlay-user/, так что он переживает каждый апгрейд ядра через apt by design. Защищать нечего, и нет причины держать linux-dtb на hold «чтобы спасти dts» — это заблуждение.
Хрупкий метод, который он заменяет, — как раз тот, которого надо избегать: закинуть вендорский sun50i-h616-sovol-emmc.dtb в /dtb/allwinner/ и навести на него fdtfile=. Этот файл поставляется ядром, так что апгрейд linux-dtb его перезаписывает, и кэп клока молча откатывается. Используй user-оверлей, а не пропатченный in-tree dtb.
Для чего на самом деле нужен hold: встроенный Ethernet#
Единственное, что реально ломается на более новом ядре, — это встроенный Ethernet, и только он. Он работает из коробки только на ядре 6.12.68 (Armbian 26.2.1); 6.18+ либо совсем теряет интерфейс, либо натыкается на гонку probe у PHY. Полная диагностика со ссылками на upstream-issue — на странице troubleshooting.
Так что hold — это hold пары пакетов ядра, а не заморозка всей системы:
apt-mark hold linux-image-current-sunxi64 linux-dtb-current-sunxi64Когда на hold только эти два, apt update && apt full-upgrade обновляет всё остальное как обычно — userspace, зависимости Klipper, security-фиксы. Ты на поддерживаемой, обновляемой системе; запинено только ядро, и только из-за регрессии Ethernet.
Никогда не делай
apt full-upgradeбез hold на месте. Без него первый же апгрейд заменяет ядро на месте и уносит с собой встроенный Ethernet — без восстановления живого rootfs, если только ты не можешь перепрошить eMMC. Сначала поставь hold.
WiFi-hold был ложной тревогой#
Если ты на более старом образе, который запинил ядро ещё и из-за WiFi SDIO-регрессии (файл /etc/apt/preferences.d/sovobian-kernel-hold), этот пин отозван: сбой SDIO -110 не воспроизвёлся на здоровом железе и был прослежен до убитого БП встроенного радио, а не до регрессии ядра (armbian/build#10164). Удалить этот файл preferences — правильно; он независим от Ethernet-hold ядра выше и не связан с ним. (Если твоё встроенное радио и правда мертво, это аппаратный отказ со своим фиксом, а не то, что решается пином ядра.)
Уход с hold#
Фиксы Ethernet вмёржены upstream — dts-фикс отсутствующего интерфейса (#10155), фикс гонки probe у PHY (#10242) и два dts-фикса WiFi CB1 (#10240, #10241). Все четыре в main armbian/build, помечены на релиз Q3 2026 — больше не только в nightly. Два пути вперёд, когда захочешь более новое ядро:
- Дождись stable-релиза. Когда выйдет stable-релиз Armbian Q3 2026 с этими фиксами,
apt-mark unhold linux-image-current-sunxi64 linux-dtb-current-sunxi64и апгрейдись как обычно. Перед снятием hold проверь ссылки на PR выше на тег релиза. - Перейди на 6.18 сейчас с локальным обходом (экспериментально — пока не проверено на Zero). Загрузи модуль
pwm_sunxi_enhanceпораньше, чтобы PHYac300выиграл гонку probe: добавь его в/etc/modules-load.d/и/etc/initramfs-tools/modules, пересобери initramfs, затем перейди на ядро 6.18 (armbian-configумеет переключать ветку ядра). Это задокументированный обход гонки probe, но «Ethernet вернулся на Zero» не подтверждено — трактуй это как тест, который надо гонять с бэкапом и путём отката, а не как рецепт.
Пока не сделаешь одно из этого, трактуй «нет сети после apt full-upgrade» как известную регрессию Ethernet, а не как сломанное железо.