Запись образа операционной системы
Для запуска системы на одноплатном компьютере необходимо подготовить носитель с записанным на него валидным образом системы (os.img). Самые распространенные носители - microSD, eMMC, SPI-Flash + SD/eMMC/NVMe.
Для контроля процесса запуска системы можно подключиться к плате по UART и просматривать логи загрузки в консоли. Консоль подключена к 3-контактному разъёму TTL Debug UART, который расположен рядом с портом питания Type-C. Подключите к нему любой USB-UART преобразователь (например, на базе микросхем CP2102 или СР340) и откройте соединение на скорости 1500000 бод/с.
Далее рассмотрим подробнее способы записи образа и запуска системы для каждого носителя.
Этапы и приоритеты загрузки
На разных этапах загрузки операционной системы действуют свои приоритеты. Рассмотрим их поэтапно.
-
При включении питания ROM-код, записанный производителем в процессор RK3566, последовательно ищет загрузчик в нескольких типах постоянной памяти. По умолчанию порядок проверки следующий:
- SPI-Flash
- Встроенная eMMC память
- Карта памяти microSD
На каждом шаге ROM-код SoC проверяет, есть ли на носителе валидный загрузочный образ (SPL). Если загрузчик найден, загрузка выполняется с этого носителя, источники с более низким приоритетом уже не рассматриваются. Если загрузчик не найден или носитель физически отсутствует/отключён, выполнение переходит к следующему устройству в списке.
-
Первичный загрузчик (SPL) найден и запущен. После инициализации необходимой периферии SPL передаёт управление основному загрузчику U-Boot: он пытается запустить FIT-образ U-Boot с того же носителя, с которого был запущен сам SPL.
-
После запуска и инициализации U-Boot сканирует доступные носители в поисках сценария загрузки ядра (
boot.scr/extlinux.conf/EFI). Порядок сканирования следующий:- SD
- eMMC
- NVMe
- USB
- сеть
-
После загрузки ядра необходимо смонтировать корневую файловую систему (rootfs). Если в сценарии загрузки для файловой системы указана метка, например
root=PARTLABEL=rootfs, ядро выберет первый найденный раздел среди подключённых устройств с указанной меткой. Если на плате присутствует несколько носителей с валидной rootfs и меткойrootfs(например, SD-карта и NVMe-диск), корневая файловая система может быть загружена с NVMe, даже если ядро и DTB были загружены с SD-карты.
Таким образом, при выборе носителя для записи образа ОС важно учитывать описанные приоритеты загрузки: если планируется запуск системы с менее приоритетного устройства, предварительно необходимо удалить первичный и основной загрузчики со всех носителей, имеющих более высокий приоритет на соответствующем этапе загрузки.
Подключение платы к ПК в режиме Maskrom
Для работы с платой на ПК необходимо подключать её к ПК в режиме Maskrom. Для этого:
- Отключите питание от платы. Выньте microSD карту из разъема.
- Подключите плату к ПК кабелем USB-A (male-to-male) с поддержкой передачи данных. На плате для подключения необходимо использовать левый верхний USB-разъем, как показано на картинке. Для стабильной работы рекомендуется подключать плату напрямую к ПК без использования USB-хабов.

- Зажмите кнопку
Bootна плате и подайте питание, подключив источник питания в USB Type-C разъем платы. Через 2-3 секунды после подачи питания отпустите кнопкуBoot. ПК должен распознать подключение нового устройства. Теперь можно переходить непосредственно к работе с устройством.
Предварительная подготовка при работе с ПК
Для работы с устройством на ПК необходимо подготовить для работы некоторые инструменты.
- Windows
- Linux
Для работы с eMMC памятью напрямую с ПК на ОС Windows используется утилита RKDevTool и инструменты DriverAssitant и MiniLoader. Весь пакет инструментов доступен по ссылке. Скачанный пакет рекомендуется расположить так, чтобы в пути до него не было кириллических символов, иначе могут возникнуть ошибки при запуске.
Предварительно для работы с устройством необходимо установить драйвер:
- Зайдите в папку DriverAssitant.
- Запустите файл
DriverInstall.exe. Откроется окно установки драйверов. - В открывшемся окне нажмите кнопку
Install Driver.

- После завершения установки появится еще одно всплывающее окно, сообщающее об успешной установке. Теперь оба окна можно закрыть.

- Перейдите в папку RKDevTool и запустите
RKDevTool.exe. Откроется окно приложения. - Подключите устройство к ПК в режиме Maskrom. При успешном подключении внизу отобразится подключенное в режиме MASKROM устройство.

Теперь устройство готово к работе.
Для работы с eMMC памятью напрямую с ПК на ОС Linux используется утилита rkdeveloptool. Для использования утилиты её нужно предварительно скомпилировать:
- Установить необходимые пакеты
sudo apt-get install libudev-dev libusb-1.0-0-dev dh-autoreconf - Клонировать репозиторий rkdeveloptool
git clone https://github.com/rockchip-linux/rkdeveloptool.git
cd rkdeveloptool - Запустить конфигурационные скрипты
./autogen.sh
./configure - Запустить компиляцию
make - Переместить готовую утилиту в
/usr/binдля запуска из консолиsudo mv rkdeveloptool /usr/bin
Справка по использованию утилиты:
rkdeveloptool -h
Чтобы подготовить плату к записи или очистке eMMC памяти, необходимо сначала записать в неё загрузчик. Можно воспользоваться загрузчиком MiniLoaderAll.bin, который идет в комплекте с инструментами для Windows. Для этого нужно скачать архив и оттуда скопировать файл MiniLoaderAll.bin из папки MiniLoader.
Запись на microSD карту
- Windows
- Linux
Для записи образа на microSD карту можно использовать программу balenaEtcher:

- Запустите программу.
- Нажмите кнопку
Flash from fileи в открывшемся окне выберите образ, который необходимо записать (os.img). - Нажмите кнопку
Select targetи выберите вашу microSD карту из списка доступных. - Нажмите кнопку
Flash!. Начнется процесс записи образа, это может занять некоторое время. При запуске Windows может спросить разрешение на внесение изменений программой balenaEtcher - необходимо согласиться. - По окончании записи программа balenaEtcher пришлет уведомление
Flash Complete, а на главном окне в случае успешной загрузки помимо этого будет отображаться надпись1 Successful target. Теперь microSD карта готова к работе.
Для записи образа на microSD карту можно воспользоваться программой balenaEtcher (см. инструкцию для Windows) или выполнить в терминале команду dd:
sudo dd if=path/to/image/os.img of=/dev/sdX status=progress
sudo sync
Здесь:
path/to/image/os.img- полный или относительный путь до нужного образа./dev/sdX- здесь нужно указать весь диск целевой microSD (не отдельный раздел!). Название устройства карты можно найти в списке устройств, воспользовавшись командойlsblkпосле подключения карты к ПК. На некоторых системах карта определяется как/dev/mmcblk0— тогда именно это устройство и нужно использовать в командеdd.
Работа с EMMC памятью
Запись
- В системе на плате
- Windows
- Linux
Если в наличии есть microSD карта с записанным валидным образом дистрибутива, можно запустить систему на плате с карты, загрузить нужный дистрибутив в систему и записать его на eMMC. Для этого:
- Вставьте подготовленную ранее microSD карту в плату ELTAY RM66 и подайте питание на плату. Дождитесь окончания загрузки системы.
- Подключитесь к плате по UART (через USB-UART преобразователь) или по SSH, чтобы получить доступ к командной строке системы.
- Скачайте нужный образ ОС в систему. Некоторые варианты скачивания:
- скачать образ из сети Интернет.
- подключиться к плате напрямую, например, с помощью программы fileZilla, и скопировать нужный образ с ПК в систему на плате.
- если система на карте поддерживает работу с USB-Flash накопителями, можно перенести нужный образ с ПК в систему на плате через промежуточный накопитель.
- Определите имена устройств - исходного (microSD карта) и целевого (eMMC). Для отображения устройств можно использовать команду
Указанный размер дисков, а так же наличие загрузочных разделов (разделы
lsblk -o NAME,SIZE,MODEL,TYPEmmcblk0bootбывают у eMMC) помогут отличить eMMC от microSD. - Запишите образ на eMMC, используя команду
dd:Здесь:sudo dd if=/путь/до/os.img of=/dev/<устройство_eMMC> status=progress
sudo syncif=/путь/до/os.img- полный путь в системе до нужного образа.of=/dev/<устройство_eMMC>- устройство, соответствующее eMMC. Например,/dev/mmcblk0.status=progress- показывать прогресс записи.
- Выключите плату командой
или
sudo shutdown nowи отключите питание.sudo poweroff - Выньте microSD карту и снова подайте питание на плату. Система должна загрузиться с eMMC.
Для записи образа в eMMC память:
- Подготовьте образ операционной системы с расширением
.img. Если образ был заархивирован, его необходимо распаковать перед записью. - Подключите плату к ПК в режиме Maskrom после предварительной подготовки.
- Перейдите в папку RKDevTool и запустите
RKDevTool.exe. - Сначала нужно загрузить конфигурацию, подходящую для работы с eMMC памятью. Для этого в открывшемся окне программы наведите курсор на выделенную на картинке ниже область и нажмите правую кнопку мыши. Откроется контекстное меню. Выберите предпоследний пункт меню, как показано на картинке ниже.

- Откроется окно выбора конфигурационного файла. Перейдите в папку MiniLoader и выберите файл
rk356x_linux_emmc.cfg. Нажмите кнопкуОткрыть.

После загрузки конфигурации появится окно подтверждения загрузки. Закройте его. В основном окне останутся две строки - загрузчик и ядро Linux. Так же в одном из столбцов будет указано, что запись производится в EMMC.
6. Для выбора файла загрузчика в строке Loader нажмите на кнопку, обозначенную цифрой 1 на картинке ниже. Откроется окно выбора файла. Перейдите в папку MiniLoader и выберите файл MiniLoaderAll.bin. Нажмите кнопку Открыть.

- Для выбора образа операционной системы в строке
linuxнажмите на кнопку, обозначенную цифрой2на картинке выше. Откроется окно выбора файла. Выберите подготовленный образ ОС, который необходимо записать. Нажмите кнопкуОткрыть. - Для записи файлов необходимо выбрать опцию
Force write to address, обозначенную цифрой1на картинке ниже, и нажать кнопку запуска загрузки, обозначенную цифрой2.

- После запуска загрузки в пустом окне появятся логи загрузки. В них отображается тип записываемой памяти - EMMC, а так же название записываемого образа и прогресс записи в процентах. Если название образа слишком длинное, прогресс записи может быть вытеснен из области видимости.
При окончании загрузки устройство выходит из Maskrom режима, происходит автоматический запуск загруженной операционной системы.

При использовании загрузчика MiniLoaderAll.bin работа с eMMC памятью возможна только при отсутствии на плате SPI-Flash. Если микросхема SPI-Flash установлена на плату, все нижеперечисленные команды будут применяться именно к Flash памяти, а не к eMMC.
-
Подключить плату к ПК в режиме Maskrom после предварительной подготовки.
-
Проверить, что устройство появилось в системе
rkdeveloptool ldКоманда должна найти устройство, подключенное в режиме Maskrom. Пример вывода:
DevNo=1 Vid=0x2207,Pid=0x350a,LocationID=101 Maskrom -
Записать загрузчик
sudo rkdeveloptool db путь/до/MiniLoaderAll.binЗдесь
путь/до/MiniLoaderAll.bin- полный путь до файла загрузчика.
В случае успешной загрузки в терминале отобразится надписьDownloading bootloader succeeded. -
Записать образ операционной системы в eMMC память
sudo rkdeveloptool wl 0 путь/до/os.imgЗдесь:
0- это номер логического блока (LBA), с которого начнется запись образа. В данном случае запись начнется с первого сектора пользовательской области eMMC.путь/до/os.img- полный путь до нужного образа.
В случае успешной записи в терминале отобразится надпись
Write LBA from file (100%) -
Перезагрузить устройство
sudo rkdeveloptool rd
Очистка
- В системе на плате
- Windows
- Linux
Для очистки памяти eMMC можно воспользоваться командой
sudo dd if=/dev/zero of=/dev/<устройство_eMMC> bs=1M count=1000 status=progress
sudo sync
Здесь:
if=/dev/zero- поток нулей, который затрет данные на eMMC.of=/dev/<устройство_eMMC>- устройство, соответствующее eMMC. Например,/dev/mmcblk0.bs=1M- размер блока ввода/вывода (1 MiB).count=1000- количество блоков для записи. Рассчитывается для конкретной eMMC, будет записаноbs*countбайт.status=progress- показывать прогресс записи.
Если система загружена с eMMC, не рекомендуется использовать данный способ очистки для полного стирания eMMC памяти.
Для очистки eMMC памяти:
- Подключите плату к ПК в режиме Maskrom после проведения предварительной подготовки.
- Перейдите в папку RKDevTool и запустите
RKDevTool.exe. - В открывшемся окне перейдите на вкладку расширенных функций, нажав кнопку, выделенную на картинке ниже.

- Для доступа к eMMC памяти сначала нужно временно записать загрузчик. Для этого на вкладке расширенных функций нажмите кнопку, обозначенную цифрой
1на картинке ниже. В открывшемся окне зайдите в папку MiniLoader и выберите файлMiniLoaderAll.bin. НажмитеОткрыть. После выбора файла запишите загрузчик, нажав кнопку, обозначенную цифрой2.

- После записи загрузчика в окне логов появятся соответствующие надписи. Теперь в окне выбора типа памяти выделите пункт
2. EMMC, как показано на картинке ниже, и нажмите кнопкуSwitch storage, обозначенную цифрой1. Далее для очистки eMMC памяти нажмите кнопкуErase All, обозначенную цифрой2.

В процессе очистки памяти в окне логов будет отображаться текущий прогресс. На картинке ниже показаны логи после завершения очистки.

При использовании загрузчика MiniLoaderAll.bin работа с eMMC памятью возможна только при отсутствии на плате SPI-Flash. Если микросхема SPI-Flash установлена на плату, все нижеперечисленные команды будут применяться именно к Flash памяти, а не к eMMC.
Для очистки eMMC памяти:
- Подключить плату к ПК в режиме Maskrom после проведения предварительной подготовки.
- Проверить, что устройство появилось в системе
Команда должна найти устройство, подключенное в режиме Maskrom. Пример вывода:
rkdeveloptool ldDevNo=1 Vid=0x2207,Pid=0x350a,LocationID=101 Maskrom - Сгенерировать пустой образ
zero.imgdd if=/dev/zero of=./zero.img bs=1M count=64 - Записать загрузчик
Здесь
sudo rkdeveloptool db путь/до/MiniLoaderAll.binпуть/до/MiniLoaderAll.bin- полный путь до файла загрузчика.
В случае успешной загрузки в терминале отобразится надписьDownloading bootloader succeeded. - Очистить eMMC память, записав в неё пустой образ
sudo rkdeveloptool wl 0 zero.img - Перезагрузить устройство
sudo rkdeveloptool rd
Работа с SPI Flash памятью
Наличие SPI Flash памяти на плате ELTAY RM66 зависит от конкретной комплектации. Рекомендуется предварительно проверить наличие микросхемы на плате.
SPI Flash на модуле используется только для хранения загрузчика (SPL/U-Boot и сопутствующих данных конфигурации). Ядро операционной системы и корневая файловая система в типовой конфигурации размещаются на другом носителе. Загрузчик из SPI Flash инициализирует SoC и периферию, после чего передаёт управление ядру, расположенному на выбранном загрузочном устройстве.
Для организации загрузки платы из SPI Flash необходим специальный вариант загрузчика, адаптированный для работы из данного типа памяти. В случае SoC семейства Rockchip RK3566/RK3568 загрузчик должен соответствовать требованиям загрузочной цепочки Rockchip и включать:
- начальный загрузчик IDBLoader (инициализация DDR и ранний SPL);
- основной образ U-Boot в формате FIT (U-Boot + ARM Trusted Firmware + DTB), размещённый по ожидаемым Rockchip смещениям для SPI Flash внутри единого бинарного файла.
Загрузчик из SPI Flash может передавать управление системе, размещённой на одном из следующих носителей:
- microSD-карта
- eMMC
- NVMe SSD (M.2)
- опционально: USB-накопитель или сетевой загрузчик (PXE), если это предусмотрено конкретной сборкой U-Boot.
Конкретный порядок опроса доступных носителей (приоритет источников загрузки ядра и rootfs) определяется конфигурацией SPL/U-Boot, записанного в SPI Flash.
Загрузчик для SPI Flash памяти для платы ELTAY RM66
SPI Flash загрузчик, адаптированный для платы ELTAY RM66, можно скачать здесь.
Образ SPI-загрузчика имеет разметку и смещения, специфичные для SPI Flash, и предназначен только для записи в SPI NOR. Использование этого файла как загрузчика на eMMC/SD не приведёт к успешной загрузке.
Возможности предоставляемого загрузчика:
- поддерживает запуск из SPI Flash;
- после старта U-Boot последовательно выполняет поиск операционной системы на:
- SD-карте,
- встроенной памяти eMMC,
- NVMe-накопителе;
- включает поддержку NVMe на уровне U-Boot (возможность просмотра устройств NVMe и загрузки ядра непосредственно с NVMe-раздела);
- по умолчанию загрузчик использует device tree файл
rockchip/rk3566-eltay-rm66.dtb(путь записан в переменную U-Bootfdtfile). Если загружается сторонний дистрибутив с другим названием DTB, необходимо или разместить нужный DTB по пути/boot/rockchip/rk3566-eltay-rm66.dtbили в скрипте загрузки дистрибутива явно указать корректное имя DTB, тем самым переопределив переменнуюfdtfile.
Для использования загрузчика достаточно записать указанный бинарный образ в SPI Flash и подготовить на целевом носителе образ операционной системы с разделом ext4, содержащим каталог /boot и корректную инструкцию загрузки - extlinux.conf или boot.scr.
Запись
Перед записью нового загрузчика необходимо предварительно очистить SPI Flash память.
- В системе на плате
- Windows
- Linux
Если в наличии есть microSD карта с записанным валидным образом дистрибутива, можно запустить систему на плате с карты, загрузить нужный файл загрузчика в систему и записать его на SPI Flash память. Для этого:
-
Вставьте подготовленную ранее microSD карту в плату ELTAY RM66 и подайте питание на плату. Дождитесь окончания загрузки системы.
-
Подключитесь к плате по UART (через USB-UART преобразователь) или по SSH, чтобы получить доступ к командной строке системы.
-
Скачайте нужный файл загрузчика в систему. Некоторые варианты скачивания:
- скачать файл из сети Интернет.
- подключиться к плате напрямую, например, с помощью программы fileZilla, и скопировать нужный файл с ПК в систему на плате.
- если система на карте поддерживает работу с USB-Flash накопителями, можно перенести нужный файл с ПК в систему на плате через промежуточный накопитель.
-
Убедитесь, что SPI Flash память видна в системе
cat /proc/mtdВывод должен быть похож на следующий. Необходимо запомнить название устройства (
mtd0), оно понадобится далее.dev: size erasesize name
mtd0: 01000000 00001000 "norflash" -
Запишите файл загрузчика на SPI Flash память, используя команду
dd:sudo dd if=/путь/до/загрузчика of=/dev/<устройство_norflash> bs=4K status=progress
sudo syncЗдесь:
if=/путь/до/загрузчика- полный путь в системе до нужного файла.of=/dev/<устройство_norflash>- устройство, соответствующее SPI Flash. Например,/dev/mtd0.bs=4K- размер блока ввода/вывода.status=progress- показывать прогресс записи.
-
Выключите плату командой
sudo shutdown nowили
sudo poweroffи отключите питание.
-
Выньте microSD карту и снова подайте питание на плату. Система должна загрузиться с SPI Flash.
Для записи загрузчика в SPI Flash память:
- Подготовьте файл загрузчика.
- Подключите плату к ПК в режиме Maskrom после предварительной подготовки.
- Перейдите в папку RKDevTool и запустите
RKDevTool.exe. - Сначала нужно загрузить конфигурацию, подходящую для работы с SPI Flash памятью. Для этого в открывшемся окне программы наведите курсор на выделенную на картинке ниже область и нажмите правую кнопку мыши. Откроется контекстное меню. Выберите предпоследний пункт меню, как показано на картинке ниже.

- Откроется окно выбора конфигурационного файла. Перейдите в папку MiniLoader и выберите файл
rk356x_linux_spiflash.cfg. Нажмите кнопкуОткрыть.

После загрузки конфигурации появится окно подтверждения загрузки. Закройте его. В основном окне останутся две строки - Loader и загрузчик для SPI Flash (uboot).
- Для выбора файла загрузчика, необходимого для текущей записи файлов, в строке
Loaderнажмите на кнопку, обозначенную цифрой1на картинке ниже. Откроется окно выбора файла. Перейдите в папку MiniLoader и выберите файлMiniLoaderAll.bin. Нажмите кнопкуОткрыть.

- Для выбора файла загрузчика для ОС в строке
ubootнажмите на кнопку, обозначенную цифрой2на картинке выше. Откроется окно выбора файла. Выберите подготовленный файл загрузчика, который необходимо записать. Нажмите кнопкуОткрыть. - Для записи файлов необходимо выбрать опцию
Force write to address, обозначенную цифрой1на картинке ниже, и нажать кнопку запуска загрузки, обозначенную цифрой2.

- После запуска загрузки в пустом окне появятся логи загрузки. В них отображается тип записываемой памяти - SPINOR, а так же название записываемого файла и прогресс записи в процентах.
При окончании загрузки устройство выходит из Maskrom режима, происходит автоматический запуск загруженного файла.

Для записи загрузчика в SPI Flash память:
-
Подготовить файл загрузчика.
-
Подключить плату к ПК в режиме Maskrom после предварительной подготовки.
-
Проверить, что устройство появилось в системе
rkdeveloptool ldКоманда должна найти устройство, подключенное в режиме Maskrom. Пример вывода:
DevNo=1 Vid=0x2207,Pid=0x350a,LocationID=101 Maskrom -
Записать загрузчик для получения доступа к SPI Flash памяти
sudo rkdeveloptool db путь/до/MiniLoaderAll.binЗдесь
путь/до/MiniLoaderAll.bin- полный путь до файла загрузчика.
В случае успешной загрузки в терминале отобразится надписьDownloading bootloader succeeded. -
Записать файл загрузчика для ОС в SPI Flash память
sudo rkdeveloptool wl 0 путь/до/загрузчикаЗдесь:
0- это номер логического блока (LBA), с которого начнется запись файла. В данном случае запись начнется с первого сектора памяти.путь/до/загрузчика- полный путь до нужного файла.
В случае успешной записи в терминале отобразится надпись
Write LBA from file (100%) -
Перезагрузить устройство
sudo rkdeveloptool rd
Очистка
- В системе на плате
- Windows
- Linux
Память SPI Flash можно очистить из системы, запущенной на устройстве, с помощью пакета mtd-utils (если он установлен или есть возможность его установить).
-
Установить нужный пакет
sudo apt install mtd-utils -
Убедиться, что SPI Flash память видна в системе
cat /proc/mtdВывод должен быть похож на следующий. Необходимо запомнить название устройства (
mtd0), оно понадобится далее.dev: size erasesize name
mtd0: 01000000 00001000 "norflash" -
Стереть SPI Flash память
sudo flash_erase /dev/mtd0 0 0Здесь:
/dev/mtd0- устройство, соответствующее SPI Flash из предыдущего пункта.0- смещение в памяти, с которого начинается очистка.0- количество блоков для очистки. Ноль в этом аргументе означает очистку всей памяти.
Можно обнулить только начало SPI Flash, чтобы сделать существующий загрузчик нерабочим. Это не полноценное стирание всей SPI Flash памяти, а только затирание её начала. Это позволит запустить начальный загрузчик из другого источника, но такой способ не подходит, если далее требуется записать новый загрузчик в память SPI Flash. Команда для обнуления начала памяти:
sudo dd if=/dev/zero of=/dev/mtd0 bs=4K count=256 status=progressЗдесь:
if=/dev/zero- поток нулей.of=/dev/mtd0- устройство из предыдущего пункта, соответствующее SPI Flash.bs=4K- размер блока ввода/вывода.count=256- количество блоков для записи.status=progress- показывать прогресс записи.
Для очистки SPI Flash памяти:
- Подключите плату к ПК в режиме Maskrom после проведения предварительной подготовки.
- Перейдите в папку RKDevTool и запустите
RKDevTool.exe. - В открывшемся окне перейдите на вкладку расширенных функций, нажав кнопку, выделенную на картинке ниже.

- Для доступа к SPI Flash памяти сначала нужно временно записать загрузчик. Для этого на вкладке расширенных функций нажмите кнопку, обозначенную цифрой
1на картинке ниже. В открывшемся окне зайдите в папку MiniLoader и выберите файлMiniLoaderAll.bin. НажмитеОткрыть. После выбора файла запишите загрузчик, нажав кнопку, обозначенную цифрой2.

- После записи загрузчика в окне логов появятся соответствующие надписи. Теперь в окне выбора типа памяти выделите пункт
5. SPINOR, как показано на картинке ниже, и нажмите кнопкуSwitch storage, обозначенную цифрой1. Далее для очистки SPI Flash памяти нажмите кнопкуErase All, обозначенную цифрой2.

В процессе очистки памяти в окне логов будет отображаться текущий прогресс. На картинке ниже показаны логи после завершения очистки.

Для очистки SPI Flash памяти:
- Подключить плату к ПК в режиме Maskrom после проведения предварительной подготовки.
- Проверить, что устройство появилось в системе
Команда должна найти устройство, подключенное в режиме Maskrom. Пример вывода:
rkdeveloptool ldDevNo=1 Vid=0x2207,Pid=0x350a,LocationID=101 Maskrom - Сгенерировать пустой образ
zero.imgdd if=/dev/zero of=./zero.img bs=1M count=64 - Записать загрузчик
Здесь
sudo rkdeveloptool db путь/до/MiniLoaderAll.binпуть/до/MiniLoaderAll.bin- полный путь до файла загрузчика.
В случае успешной загрузки в терминале отобразится надписьDownloading bootloader succeeded. - Очистить SPI Flash память, записав в неё пустой образ
sudo rkdeveloptool wl 0 zero.img - Перезагрузить устройство
sudo rkdeveloptool rd
Работа с NVME диском
Диск NVMe SSD, подключённый к разъёму M.2 (PCIe), может использоваться как системный диск: на нём размещаются ядро операционной системы и корневая файловая система.
ROM-код SoC не может загружаться напрямую с NVMe, поэтому для запуска системы необходим загрузчик на другом носителе, который:
- инициализирует контроллер PCIe/NVMe;
- находит разделы на NVMe-диске;
- загружает ядро и
initramfsс NVMe; - передаёт управление ядру на NVMe.
В зависимости от конфигурации платы загрузчик может находиться на:
- SPI Flash
- eMMC
- microSD
При этом NVMe выступает именно как основной системный диск, а выбранный носитель (SPI/eMMC/SD) содержит только загрузчик (SPL/U-Boot и служебные данные), собранный с поддержкой NVMe.
Порядок, в котором загрузчик будет пробовать использовать носители для дальнейшей загрузки, задаётся конкретной сборкой SPL/U-Boot.
Для корректной работы системы, установленной на NVMe, необходимо, чтобы ни один более приоритетный носитель не содержал валидную ОС.
Для корректной загрузки ОС с NVMe образ должен удовлетворять нескольким условиям:
- образ должен быть дисковым образом целиком, а не просто архивацией rootfs.
- ядро должно иметь поддержку NVMe - драйвер NVMe должен быть встроен в ядро или доступен через
initramfs, а параметрroot=в конфигурации загрузки должен указывать на раздел NVMe (например,root=PARTLABEL=rootfsилиroot=/dev/nvme0n1p2). - конфигурация загрузчика должна быть согласована с разметкой диска - правильные пути к
Image/zImage, и DTB-файлу, корректное имя DTB.
Запись
- В системе на плате
- Windows
- Linux
Если в наличии есть microSD карта с записанным валидным образом дистрибутива, можно запустить систему на плате с карты, загрузить нужный дистрибутив в систему и записать его на NVMe диск. Для этого:
- Вставьте подготовленную ранее microSD карту в плату ELTAY RM66 и подайте питание на плату. Дождитесь окончания загрузки системы.
- Подключитесь к плате по UART (через USB-UART преобразователь) или по SSH, чтобы получить доступ к командной строке системы.
- Скачайте нужный образ ОС в систему. Некоторые варианты скачивания:
- скачать образ из сети Интернет.
- подключиться к плате напрямую, например, с помощью программы fileZilla, и скопировать нужный образ с ПК в систему на плате.
- если система на карте поддерживает работу с USB-Flash накопителями, можно перенести нужный образ с ПК в систему на плате через промежуточный накопитель.
- Убедитесь, что NVMe виден в системе:
Диск может определиться как, например,
lsblk/dev/nvme0n1. - Запишите образ на диск, используя команду
dd(образ должен быть предварительно разархивирован):Здесь:sudo dd if=/путь/до/os.img of=/dev/nvme0n1 bs=4M status=progress
sudo syncif=/путь/до/os.img- полный путь в системе до нужного образа.of=/dev/nvme0n1- устройство, соответствующее диску NVMe.bs=4M- размер блока ввода/вывода (4 MiB).status=progress- показывать прогресс записи.
- После окончания записи проверьте наличие разделов на диске. После записи на NVMe должны появиться как минимум два раздела (например,
/dev/nvme0n1p1,/dev/nvme0n1p2— загрузочный раздел и раздел с корневой файловой системой):sudo fdisk -l /dev/nvme0n1 - Выключите плату:
или
sudo shutdown nowи отключите питание.sudo poweroff - Выньте microSD карту и снова подайте питание на плату. Если загрузчик и образ ОС сконфигурированы правильно, система должна загрузиться с NVMe диска.
Для записи ОС на NVMe с использованием ПК необходимо иметь USB–M.2 адаптер или подключить диск в разъем M.2 материнской платы ПК.
- Подключите NVMe SSD к ПК.
- Подготовьте нужный образ ОС, предварительно разархивируйте его.
- Запишите образ ОС на диск с помощью программы Balena Etcher по инструкции для записи microSD карты, выбрав в программе свой подключенный диск.
подсказка
Рекомендуется заранее посмотреть название подключенного NVMe диска в диспетчере устройств, чтобы не перепутать его с системным диском ПК.
- После записи можно проверить содержимое диска через «Управление дисками» — должны появиться как минимум два раздела — загрузочный раздел и раздел с корневой файловой системой.
- Отключите диск от ПК и подключите к плате микрокомпьютера. Подайте питание на плату. Если загрузчик и образ ОС сконфигурированы правильно, система должна загрузиться с NVMe диска.
Для записи ОС на NVMe с использованием ПК необходимо иметь USB–M.2 адаптер или подключить диск в разъем M.2 материнской платы ПК.
- Подключите NVMe SSD к ПК.
- Подготовьте нужный образ ОС, предварительно разархивируйте его.
- Убедитесь, что NVMe виден в системе:
Диск может определиться как, например,
lsblk/dev/nvme0n1. - Запишите образ на диск, используя команду
dd:Здесь:sudo dd if=/путь/до/os.img of=/dev/nvme0n1 bs=4M status=progress
sudo syncif=/путь/до/os.img- полный путь в системе на ПК до нужного образа.of=/dev/nvme0n1- устройство, соответствующее диску NVMe.bs=4M- размер блока ввода/вывода (4 MiB).status=progress- показывать прогресс записи.
- После окончания записи проверьте наличие разделов на диске. После записи на NVMe должны появиться как минимум два раздела (например,
/dev/nvme0n1p1,/dev/nvme0n1p2— загрузочный раздел и раздел с корневой файловой системой):sudo fdisk -l /dev/nvme0n1 - Отключите диск от ПК и подключите к плате микрокомпьютера. Подайте питание на плату. Если загрузчик и образ ОС сконфигурированы правильно, система должна загрузиться с NVMe диска.
Очистка
- В системе на плате
- Windows
- Linux
Если в наличии есть microSD карта с валидным образом дистрибутива, можно запустить систему на плате с карты и очистить NVMe диск из этой системы.
- Вставьте подготовленную ранее microSD карту в плату ELTAY RM66 и подайте питание на плату. Дождитесь окончания загрузки системы.
- Подключитесь к плате по UART (через USB–UART преобразователь) или по SSH, чтобы получить доступ к командной строке.
- Убедитесь, что NVMe виден в системе и определите имя устройства:
NVMe может определиться, например, как
lsblk/dev/nvme0n1. - Очистите сигнатуры файловых систем и таблицу разделов на NVMe:
После выполнения команды диск будет восприниматься как «пустой» и готовый к повторной записи образа. Если утилита
sudo wipefs -a /dev/nvme0n1wipefsнедоступна (не установлен пакетutil-linux), можно «занулить» начало диска командой:Эта команда перезапишет нулями первые 256 МБ диска, удалив возможные служебные области и разметку.sudo dd if=/dev/zero of=/dev/nvme0n1 bs=4M count=64 status=progress
sudo sync - Проверьте, что на диске отсутствует таблица разделов:
В выводе не должно быть действующих разделов (
sudo fdisk -l /dev/nvme0n1/dev/nvme0n1p1,/dev/nvme0n1p2и т.п.).
Для очистки NVMe с использованием ПК необходимо иметь USB–M.2 адаптер или подключить диск в разъём M.2 материнской платы ПК. Все данные на диске будут удалены.
- Подключите NVMe SSD к ПК.
- Откройте «Управление дисками» и убедитесь, что NVMe диск виден в системе.
- Удалите все разделы на NVMe диске:
- щёлкните правой кнопкой по каждому разделу на нужном диске;
- выберите «Удалить том…» и подтвердите удаление.
После этого пространство диска должно отображаться как «Не распределена».
Для очистки NVMe с использованием ПК необходимо иметь USB–M.2 адаптер или подключить диск в разъём M.2 материнской платы ПК. Все данные на диске будут удалены.
- Подключите NVMe SSD к ПК под управлением Linux.
- Убедитесь, что NVMe виден в системе:
NVMe может определиться как
lsblk/dev/nvme0n1. Убедитесь, что выбрано именно это устройство, а не системный диск. - Очистите сигнатуры файловых систем и таблицу разделов:
После выполнения команды диск будет восприниматься как «пустой». Если утилита
sudo wipefs -a /dev/nvme0n1wipefsнедоступна (не установлен пакетutil-linux), можно «занулить» начало диска командой:Эта команда перезапишет нулями первые 256 МБ диска, удалив возможные служебные области и разметку.sudo dd if=/dev/zero of=/dev/nvme0n1 bs=4M count=64 status=progress
sudo sync - Проверьте, что на диске отсутствует таблица разделов:
В выводе не должно быть действующих разделов (
sudo fdisk -l /dev/nvme0n1/dev/nvme0n1p1,/dev/nvme0n1p2и т.п.).