===== Установка Debian 12 на модуль NMS-SM-RK3568 =====
{{ :boards:nms-sm-rk3568:burndeb:rk3568_debian_kit.jpg?600 |}}
==== Варианты установки ====
- Использовать [[https://disk.yandex.ru/d/J2fn74Vj-hI9zA|готовый образ EMMC]] специально для модуля NMS-SM-RK3568. Он приготовлен из официального установщика Debian 12, и дополнен нужным U-boot и DTB. Рядом с образом есть readme.txt.
- Установить Debian на EMMC самостоятельно, пользуясь настоящей инструкцией.
==== Необходимое оборудование ====
* Отладочная плата NMS-SM-EVM
* Micro-SD (от 4 Гб), подготовленная для первичной загрузки ядра и initrd.
* USB-накопитель с официальным Debian-iso образом. [[https://cdimage.debian.org/debian-cd/current/arm64/iso-cd/|Скачать здесь]]
* Mini-USB кабель для консоли
* Ethernet Интерфейс #0 находится ближе к USB, интерфейс #1 ближе к углу платы
* [[https://disk.yandex.ru/d/-6d2pzcdp3jLOA|Вспомогательные файлы]]
//Опционально для работы с установщиком. Можно обойтись только консолью://
* HDMI монитор
* Клавиатура
==== Ручная установка ====
=== Подготовка загрузочных носителей ===
- Скачать [[https://cdimage.debian.org/debian-cd/current/arm64/iso-cd/|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__ из [[https://disk.yandex.ru/d/-6d2pzcdp3jLOA|Вспомогательных файлов]]
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//: {{ :boards:nms-sm-rk3568:burndeb:boot_menu.png?600 |}}
- В консоли и на HDMI появится установщик. Если начать установку через экран и клавиатуру, то консоль заблокруется (и наоборот: если начать установку из консоли, клавиатура работать не будет){{ :boards:nms-sm-rk3568:burndeb:deb_installer.png?700 |}}
- Пройти все шаги установщика, задав локацию, пользователей и тд.
- На этапе разметки выбрать **use entire disk** {{ :boards:nms-sm-rk3568:burndeb:partioning.png?600 |}}
- Далее выбрать **mmcblk0** {{ :boards:nms-sm-rk3568:burndeb:mmcblk0.png?600 |}}
- Согласиться с предложенными партициями. {{ :boards:nms-sm-rk3568:burndeb:partioning_approve.png?600 |}}
- В процессе установки будут предложены варианты установки 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 представлен на скрине ниже {{ :boards:nms-sm-rk3568:burndeb:gdisk_cmd.png? |}}
- После изменения партиции, нужно создать файловую систему на ней. mkfs.ext4 /dev/mmcblk0p1
- Затем вернуть файлы mount /dev/mmcblk0p1 /mnt
cp /media/mnt/* /mnt/
- Далее требуется добавить dtb и extlinux.confcp /root/rk3568-inmys-smarc-evm.dtb /mnt
mkdir /mnt/extlinux
cp /root/extlinux.conf /mnt/extlinux/
- Затем записать в начало emmc idblock.itb и uboot.bindd 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
{{ :boards:nms-sm-rk3568:burndeb:part_uuid.png?700 |}}
mount /dev/mmcblk0p2 /mnt
nano /mnt/etc/fstab
sync
umount /mnt
{{ :boards:nms-sm-rk3568:burndeb:fstab.png?700 |}}
После всех операций нужно извлечь загрузочную флешку и перезагрузить плату. Загрузится Debian
{{ :boards:nms-sm-rk3568:burndeb:debian.png?700 |}}