INMYS WIKI

Инженерами для инженеров

Инструменты пользователя

Инструменты сайта


boards:nms-sm-rk3568:burndeb

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
boards:nms-sm-rk3568:burndeb [2024/10/29 07:56] – удалено - внешнее изменение (Дата неизвестна) 127.0.0.1boards:nms-sm-rk3568:burndeb [2024/10/29 07:56] (текущий) – ↷ Страница перемещена и переименована из boards:nms-sm-rk3568:burndeb:start в boards:nms-sm-rk3568:burndeb Семёнов Алексей
Строка 1: Строка 1:
 +===== Установка 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** <code>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}
 +
 +</code>
 +  - Залить образ на установочную USB-флешку <code>
 +sudo dd if=debian-12.1.0-arm64-netinst.iso of=/dev/sdX bs=1M conv=notrunc; sync
 +</code>
 +  - Подготовить загрузочную MicroSD-карту для SOM. Папка __burn_microsd__ из [[https://disk.yandex.ru/d/-6d2pzcdp3jLOA|Вспомогательных файлов]]<code>
 +cd burn_microsd
 +sudo ./burn_sd.sh /dev/sdX
 +</code>
 +  - После прошивки, доложить vmlinuz и initrd.gz в первую партицию MicroSD<code>
 +sudo mount /dev/sdX1 /mnt/d5/
 +sudo cp ${work_dir}/vmlinuz /mnt/d5/
 +sudo cp ${work_dir}/initrd.gz /mnt/d5/
 +</code>
 +
 +=== Установка ===
 +  - Загрузиться с подготовленной 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, изменить размер партиции и положить их обратно.<code>mount /dev/mmcblk0p1 /mnt/
 +cp -rf /mnt/ /media/; sync
 +umount /mnt/
 +gdisk /dev/mmcblk0# d 1 n "32768 +16M" w
 +</code>
 +  - Порядок работы с gdisk представлен на скрине ниже {{ :boards:nms-sm-rk3568:burndeb:gdisk_cmd.png? |}}
 +  - После изменения партиции, нужно создать файловую систему на ней. <code>mkfs.ext4 /dev/mmcblk0p1</code>
 +  - Затем вернуть файлы <code>mount /dev/mmcblk0p1 /mnt
 +cp /media/mnt/* /mnt/</code>
 +  - Далее требуется добавить dtb и extlinux.conf<code>cp /root/rk3568-inmys-smarc-evm.dtb /mnt
 +mkdir /mnt/extlinux
 +cp /root/extlinux.conf /mnt/extlinux/</code>
 +  - Затем записать в начало emmc idblock.itb и uboot.bin<code>dd if=/root/idblock.bin of=/dev/mmcblk0 seek=64
 +dd if=/root/uboot.itb of=/dev/mmcblk0 seek=16384
 +sync
 +umount /mnt
 +</code>
 +  - В завершение нужно поменять UUID и тип сгенерированной партиции mmcblk0p1 в /etc/fstab. Узнать UUID можно командой :<code>lblk -f</code>{{ :boards:nms-sm-rk3568:burndeb:part_uuid.png?700 |}} <code>
 +mount /dev/mmcblk0p2 /mnt
 +nano /mnt/etc/fstab
 +sync
 +umount /mnt
 +
 +</code>
 +
 +{{ :boards:nms-sm-rk3568:burndeb:fstab.png?700 |}}
 +
 +После всех операций нужно извлечь загрузочную флешку и перезагрузить плату. Загрузится Debian
 +{{ :boards:nms-sm-rk3568:burndeb:debian.png?700 |}}