перейти к содержанию
Платы NVMe Battery Board и Adapter Board от HackerGadgets для uConsole на тёмном фоне, надпись NVMe Upgrade Kit, Boot from SSD

uConsole с диском NVMe: Upgrade Kit от HackerGadgets, установка и загрузка с SSD

Карты microSD хватает для первого входа, но когда uConsole становится рабочим инструментом (компиляция, контейнеры, большие словари, записи с SDR), ожидание карты начинает раздражать. Upgrade Kit от HackerGadgets выводит из модуля CM4/CM5 шину PCIe и размещает внутри корпуса диск M.2 NVMe. Ниже: что купить, как собрать, что настроить в EEPROM и config.txt, как перенести систему с карты и на чём люди спотыкаются.

Что понадобится

Комплект - это две платы от HackerGadgets. Мы продаём их по отдельности, потому что у части людей одна из них уже есть.

  • Плата Adapter (Upgrade Kit) заменяет штатную плату, на которой стоит вычислительный модуль. Она выводит PCIe, а с CM5 ещё и USB 3.0; на ней есть разъём PWM-вентилятора, порт CSI для камеры и разъём батарейки RTC. Без неё диску просто некуда подключиться.
  • Плата NVMe Battery Board заменяет штатный батарейный модуль. У неё слот M.2 (2230-2280), держатели на два элемента 18650 (в других вариантах 21700 или LiPo-сборка) и защита от переполюсовки элементов. Встаёт под оригинальную заднюю крышку без переделок корпуса. Шлейфы для соединения плат идут в комплекте.
  • Диск M.2 NVMe размером 2230-2280. На форуме ClockworkPi дольше всех без проблем работает WD SN740 256 ГБ (CM5, PCIe gen 2, 471 МБ/с чтения, месяцы работы). Один пользователь мучился с Samsung 980, пока не поменял способ переноса системы. Выбирай экономичные диски gen 3 без радиатора.
  • Вычислительный модуль: CM4 или CM5. У обоих есть PCIe x1, но USB 3.0 и PWM-вентилятор работают только с CM5.
  • Рабочая система на карте: Bookworm или Trixie от Рекса. С карты ты запускаешь uConsole, настраиваешь EEPROM и копируешь систему на диск. Как записать образ на карту, описано в руководстве: Какая система для uConsole CM5 и как записать её на карту microSD (2026).
Плата Adapter для uConsole из Upgrade Kit HackerGadgets, вид сверху с разъёмом PCIe
NVMe Battery Board для uConsole с держателем на два элемента 18650 и слотом M.2

Сборка по шагам

Инструменты: маленькая крестовая отвёртка и спокойные пятнадцать минут. Перед разборкой выключи uConsole и вынь элементы питания.

  1. Сними заднюю крышку и вынь штатный батарейный модуль.
  2. Сними вычислительный модуль со штатной платы-адаптера. Он держится на двух разъёмах board-to-board, поэтому поднимай его равномерно с обеих сторон. Открути плату, на её место прикрути Adapter Board, затем прижми модуль к новым разъёмам, пока он не сядет ровно.
  3. Вставь диск M.2 в слот на NVMe Battery Board и закрепи винтом на стойке, соответствующей его длине.
  4. Соедини обе платы шлейфом PCIe из комплекта. Следи за стороной контактов: шлейф, вставленный наоборот, - самая частая причина, по которой диск «не существует». На форуме эта ошибка всплывает регулярно.
  5. Установи NVMe Battery Board на место батарейного модуля, вставь элементы по маркировке и закрой крышку. Если элемент вставлен наоборот, загорится предупреждающий светодиод, и ничего не нагреется.

Настройки перед первой загрузкой с NVMe

Загрузи uConsole с карты и сделай три вещи.

1. config.txt (файл /boot/firmware/config.txt). В образах Рекса в секции [pi5] уже есть dtparam=pciex1 и dtparam=pciex1_gen=3, а в секции [pi4] только dtparam=pciex1. Gen 3 по шлейфу бывает нестабилен (белый экран, зависания), форум единодушно советует опуститься до dtparam=pciex1_gen=2. Диск всё равно во много раз быстрее карты. В старых образах Kali встречалось dtparam=pciex1=off: замени на dtparam=pciex1.

2. EEPROM (CM5). sudo rpi-eeprom-update -a, перезагрузка, затем sudo rpi-eeprom-config -e и конфигурация, которую Рекс даёт для CM5 Lite, с одной дополнительной строкой: PCIE_PROBE=1.

[all]
BOOT_UART=1
POWER_OFF_ON_HALT=1
BOOT_ORDER=0xf461
PCIE_PROBE=1
SD_BOOT_MAX_RETRIES=2
SD_QUIRKS=1

BOOT_ORDER читается справа налево: SD-карта (1), NVMe (6), USB (4), f означает «заново». PCIE_PROBE=1 велит загрузчику искать диск и на плате, которая не является официальным HAT+, так это описывает документация Raspberry Pi. Для CM4 достаточно свежего загрузчика и BOOT_ORDER с цифрой 6.

3. Проверь, что диск виден. После перезагрузки ls -l /dev/nvme* должен показать /dev/nvme0n1, а lsblk - его объём. Если ничего нет, вернись к шлейфу из шага 4 сборки.

Перенос системы с карты на диск

Самый надёжный путь, подтверждённый несколькими пользователями форума ClockworkPi: скопировать рабочую систему с карты на диск утилитой SD Card Copier (меню «Стандартные»).

  1. Запусти SD Card Copier. Откуда: карта (mmcblk0). Куда: диск (nvme0n1). Оставь отмеченным «New Partition UUIDs».
  2. Старт. Копирование 7-8 ГБ системы занимает несколько минут, и утилита сразу растягивает раздел на весь диск.
  3. Полностью выключи uConsole (не перезагрузка), вынь карту, включи. Система стартует с NVMe.

Запись образа через Imager прямо на диск (через USB-бокс или с самой uConsole) тоже работает, но требует ручной правки config.txt на диске, и на форуме это чаще заканчивалось загрузкой «через раз». Копирование с рабочей карты обходит эти проблемы.

Известные проблемы

  • Диск пропадает после сборки корпуса. Шлейф PCIe сдвинулся или вставлен наоборот. Разбери и проверь оба конца.
  • Белый экран или зависания под нагрузкой. Опустись с gen 3 на gen 2 в config.txt.
  • uConsole выключается при sudo reboot вместо перезагрузки (описано для CM5 с загрузкой с NVMe). Помогает полный цикл питания. Тема на форуме связывает это с изменением поведения пинов в прошивке CM5; удобного программного исправления на сегодня нет.
  • Батарея. Диск и CM5 потребляют ток. HackerGadgets указывает для версии с двумя 18650 около 2,5 часа воспроизведения видео 1080p, для 21700 около 4,5 часа. Запасные элементы в рюкзаке закрывают вопрос.
  • Нагрев. CM5 в закрытом корпусе не троттлит (мы проверили это в тепловом тесте), но диск gen 3 при долгой записи добавляет своё. Диск без радиатора и gen 2 в config.txt закрывают тему.

Частые вопросы

Работает ли NVMe с CM4?

Да, по PCIe gen 2. С CM4 не работает то, что требует USB 3.0 (порты на AIO V2 тогда работают как USB 2.0), а вентилятор крутится с постоянной скоростью.

Нужно ли вынимать SD-карту?

При BOOT_ORDER=0xf461 загрузчик сначала пробует карту, так что со вставленной картой он загрузится с неё. Либо вынь карту, либо поставь 0xf416, то есть NVMe перед SD.

Какой диск купить?

M.2 2230 или 2242, gen 3, с низким энергопотреблением. С форума: WD SN740 без оговорок. Диски gen 4 с радиаторами греются и ничего не дают на линии gen 2.

Что дальше

Обе платы есть у нас: плата Adapter для uConsole (Upgrade Kit) и расширение NVMe для uConsole. Если заодно переходишь с CM4, Raspberry Pi CM5 8 GB Lite даёт USB 3.0 и PWM-вентилятор на той же плате-адаптере, а AIO V2 добавляет через неё Ethernet 1 Гбит/с, RTL-SDR, GPS и LoRa. Остальные дополнения - в коллекции ClockworkPi.

Следующая статья Какая система для uConsole CM5 и как записать её на карту microSD (2026)