Установка Debian 12 на модуль NMS-SM-RK3568

Варианты установки

Использовать готовый образ EMMC специально для модуля NMS-SM-RK3568. Он приготовлен из официального установщика Debian 12, и дополнен нужным U-boot и DTB. Рядом с образом есть readme.txt.

Установить Debian на EMMC самостоятельно, пользуясь настоящей инструкцией.

Необходимое оборудование

Отладочная плата NMS-SM-EVM

Micro-SD (от 4 Гб), подготовленная для первичной загрузки ядра и initrd.

USB-накопитель с официальным Debian-iso образом. Скачать здесь

Mini-USB кабель для консоли

Ethernet Интерфейс #0 находится ближе к USB, интерфейс #1 ближе к углу платы

Вспомогательные файлы

Опционально для работы с установщиком. Можно обойтись только консолью:

HDMI монитор

Клавиатура

Ручная установка

Подготовка загрузочных носителей

Скачать iso-образ и извлечь из него vmlinuz и initrd.gz

work_dir=`pwd`
wget https://cdimage.debian.org/debian-cd/current/arm64/iso-cd/
sudo losetup -f --show debian-12.1.0-arm64-netinst.iso #=> /dev/loopXX
sudo mount /dev/loopXX /mnt/d4
sudo cp /mnt/d4/install.a64/vmlinuz ${work_dir}
sudo cp /mnt/d4/install.a64/initrd.gz ${work_dir}

Залить образ на установочную USB-флешку

sudo dd if=debian-12.1.0-arm64-netinst.iso of=/dev/sdX bs=1M conv=notrunc; sync

Подготовить загрузочную MicroSD-карту для SOM. Папка burn_microsd из Вспомогательных файлов

cd burn_microsd
sudo ./burn_sd.sh /dev/sdX

После прошивки, доложить vmlinuz и initrd.gz в первую партицию MicroSD

sudo mount /dev/sdX1 /mnt/d5/
sudo cp ${work_dir}/vmlinuz /mnt/d5/
sudo cp ${work_dir}/initrd.gz /mnt/d5/

Установка

Загрузиться с подготовленной MicroSD. В Boot Menu выбрать вариант №2 deb12:

В консоли и на HDMI появится установщик. Если начать установку через экран и клавиатуру, то консоль заблокруется (и наоборот: если начать установку из консоли, клавиатура работать не будет)

Пройти все шаги установщика, задав локацию, пользователей и тд.

На этапе разметки выбрать use entire disk

Далее выбрать mmcblk0

Согласиться с предложенными партициями.

В процессе установки будут предложены варианты установки ssh и графической оболочки. Выбрать по предпочтениям. Установка с графической оболочкой может занимать до нескольких часов.

По окончании установки нужно добавить на EMMC U-boot, Idblock, Dtb файлы. Для этого нужно уменьшить партицию №1, чтобы сначала диска было свободных 16МБ. Все это можно проделать, загрузившись с MicroSD карты, и выбрав пункт #1 (main) в BootMenu. Загрузится минимальный линукс билдрутовой сборки.

Далее нужно сохранить файлы из mmcblk0p1, изменить размер партиции и положить их обратно.

mount /dev/mmcblk0p1 /mnt/
cp -rf /mnt/ /media/; sync
umount /mnt/
gdisk /dev/mmcblk0# d 1 n "32768 +16M" w

Порядок работы с gdisk представлен на скрине ниже

После изменения партиции, нужно создать файловую систему на ней.

mkfs.ext4 /dev/mmcblk0p1

Затем вернуть файлы

mount /dev/mmcblk0p1 /mnt
cp /media/mnt/* /mnt/

Далее требуется добавить dtb и extlinux.conf

cp /root/rk3568-inmys-smarc-evm.dtb /mnt
mkdir /mnt/extlinux
cp /root/extlinux.conf /mnt/extlinux/

Затем записать в начало emmc idblock.itb и uboot.bin

dd if=/root/idblock.bin of=/dev/mmcblk0 seek=64
dd if=/root/uboot.itb of=/dev/mmcblk0 seek=16384
sync
umount /mnt

В завершение нужно поменять UUID и тип сгенерированной партиции mmcblk0p1 в /etc/fstab. Узнать UUID можно командой :

lblk -f

mount /dev/mmcblk0p2 /mnt
nano /mnt/etc/fstab
sync
umount /mnt

После всех операций нужно извлечь загрузочную флешку и перезагрузить плату. Загрузится Debian