MCom-03 (СКИФ) ALT Linux 2021.12¶
Обзор¶
MCom-03 ALT Linux — сборка операционной системы ALT Linux с поддержкой модулей на базе микросхемы 1892ВА018 (aka СКИФ, aka MCom-03). При включении питания модуля запускается рабочее окружение Xfce с выводом на HDMI-монитор. Управление ОС выполняется через терминал или через мышь, клавитуатуру, подключенные к модулю.
Пользователи ОС:
пользователь elvees, пароль elvees,
суперпользователь: root, пароль elvees.
Поддерживаемые модули:
ROCK Pi N10 с установленным ELV-MC03-SMARC r1.1,
ТрастФон_ОПН r1.0 с установленным ТрастФон_ПМ r1.0.
Изменения в сборке¶
Добавлена поддержка ROCK Pi N10 с установленным ELV-MC03-SMARC r1.1.
Изменения для ТрастФон:
Добавлена поддержка DSI-дисплей AUO B101UAN01 с контроллером тачскрина FT560;
Улучшена стабильность системы.
Состав сборки¶
Сборка MCom-03 ALT Linux состоит из бинарных образов:
mcom03-altlinux-rockpi-sdcard-*.img.bz2
— образ SD-карты для модуля ROCK Pi N10 с установленным ELV-MC03-SMARC r1.1, вextlinux.conf
настроено монтирование rootfs с eMMC;mcom03-altlinux-sdcard-*.img.bz2
— образ SD-карты для модуля ТрастФон_ОПН с установленным ТрастФон_ПМ, вextlinux.conf
настроено монтирование rootfs с SD-карты;mcom03-rockpi-sbl-mips-boot-order.bin
— образ QSPI0 для модуля ELV-MC03-SMARC r1.1;mcom03-trustphonepm-sbl-mips-*.bin
— образ QSPI0 для модуля ТрастФон_ПМ r1.0.
Примечание
Возможен запуск образов SD-карты на других модулях на базе MCom-03: после
прошивки SD-карты необходимо изменить устройство для загрузки корневой файловой системы
(параметр ядра root
в файле extlinux.conf
).
Образы размещены на сайте https://dist.elvees.com/mcom03/altlinux/2021.12.
Состав образа SD-карты¶
Образ SD-карты состоит из GPT-разделов boot (FAT32) и root (EXT4).
Раздел boot содержит файлы:
extlinux/extlinux.conf
— конфигурационный файл схемы U-Boot Generic Distro,alt/Image
— образ ядра Linux,*.dtb
-файлы для поддерживаемых модулей и комбинаций с подключенными устройствами (CSI-камера, DSI-дисплей и т.д.).
Раздел root содержит корневую файловую систему (rootfs) ALT Linux. Корневая файловая система разработана следующим образом:
Установлен ALT Linux P9 из образа slinux-9.1-aarch64.tar.xz (при установке созданы пользователи, настроен часовой пояс и т.д.).
Добавлены файлы:
/usr/bin/modetest
— стандартное приложение вывода шаблона на HDMI-монитор./usr/bin/mcom03-demo-video.sh
— скрипт вывода видеофайла на HDMI-монитор без X-сервера./usr/sbin/mcom03-pixclk-pll-restart.sh
— скрипт перезапуска PLL3 подсистемы Media MCom-03./usr/sbin/mcom03-hdmi-setup.sh
— скрипт-обёртка перезапуска PLL3, скрипт опрашивает подтверждения стабильности вывода видео на HDMI-монитор (подробнее см. Поддержка HDMI)./usr/sbin/devmem
— бинарная утилита-аналог утилиты devmem из BusyBox./usr/share/pixmaps/gradient.png
— изображение для проверки стабильности вывода на HDMI-монитор.
Из стандартных репозиториев ALT Linux установлены дополнительные пакеты (mpv).
Установлен пакет МойОфис
myoffice-standard-documents-2020.03.1.25.0-0.aarch64.rpm
.На рабочем столе созданы ярлыки для запуска приложений Firefox, mpv, МойОфис,
mcom03-hdmi-setup.sh
.
Исходные коды¶
Репозитории с исходными кодам базовых компонентов доступны на https://github.com/elvees.
Версии базовых компонентов сборки, из которых собраны бинарные образы для ТрастФон_ПМ:
arm-trusted-firmware — 8e077abde8f6853c541e2c7af29eadb8e42ad26b,
ddrinit — 94a039995f15b323dc2f2e6b20ee07398a0ab7ee,
linux — 9aa6609417e3fd2addec90e180ff69d0b3faee17,
mcom03-sbl — 800e6fc2b68b7d277f06e93bd861f77146c12765,
uboot — 39b104348133f1f1cfdd246e6226c6d025452d98.
Исходные коды для mcom03-rockpi-sbl-mips-boot-order.bin
не определены.
Поддержка HDMI¶
При включении/сбросе СнК видео на HDMI может не выводиться или выводиться испорченным.
Для перезапуска HDMI требуется перезапуск процессора или перенастройка PLL СнК. Перенастройка PLL
выполняется скриптом mcom03-hdmi-setup.sh
(установлен в ОС).
Поддержка DDR¶
LPDDR4 533 МГц (1066 MT/s), из-за ограничений ПО в Linux доступно суммарно 2 ГБ.
Обзор загрузки ОС (boot flow)¶
MCom-03 запускается в режиме QSPI0 XIP. Память QSPI0 содержит образы SBL, ddrinit, TF-A, U-Boot.
SD-карта содержит ядро, DTB, extlinux.conf
, подробнее см. Состав образа SD-карты.
U-Boot поддерживает загрузку Linux по схеме Generic Distro с использованием файла
extlinux.conf
:
U-Boot перебирает источники загрузки SDMMC0, SDMMC1, USB (порядок может отличаться в зависимости от используемой версии U-Boot),
U-Boot запускает ядро в соответствии с первым обнаруженным
extlinux.conf
(копирует DTB и ядро в ОЗУ, передаёт управление ядру).
Последовательность загрузки приведена на диаграмме:
Последовательность загрузки Linux (в скобках указан источник исполнения)¶
Поддержка ELV-MC03-SMARC r1.1¶
В ОС Linux поддерживаются следующие интерфейсы и компоненты модуля:
HDMI, поддерживается только видео, см. Поддержка HDMI,
eMMC (SDMMC0),
I2C0,
I2C1,
I2C2,
I2C3,
GBE0,
GBE0,
MIPI DSI,
SATA (SATA-контроллер подключен к контроллеру PCIe0 MCom-03),
SDIO (SDMMC1),
Serial I2C EEPROM (I2C2),
SER0,
SER1 (UART0),
SER2,
SER3,
USB0, USB1, USB2, USB4, USB5 поддерживается USB 2.0 (USB1 с поддержкой хаба),
USB3 поддерживается USB 3.0 (USB0).
Примечание:
Наименования интерфейсов приведены в соответствии с спецификацией SMARC 2.1.
В скобках указаны контроллеры MCom-03.
Прошивка eMMC¶
Память eMMC доступна как стандартное блочное устройство Linux /dev/mmcblk0p2
. eMMC может
прошиваться тем же образом, что и SD-карта.
Для прошивки достаточно:
загрузить Linux с карты памяти SD;
скопировать образ для прошивки eMMC на SD-карту;
прошить eMMC командой
dd
(см. howto-flash-sd);обновить корневую файловую систему в
extlinux.conf
на eMMC.
Поддержка ROCK Pi N10¶
В ОС Linux поддерживаются следующие интерфейсы и компоненты модуля:
Ethernet (1 Гб/с),
HDMI, поддерживается только видео, см. Поддержка HDMI,
I2C0,
I2C1,
I2C2,
I2C3,
microSD,
UART2 (подключен к SER1 SMARC-модуля),
USB 2.0 (2 порта),
USB 3.0 (1 порт).
Запуск ОС¶
Для запуска ОС необходимо:
Установить джампер режима Boot 0 (QSPI0).
Подключить переходник USB-to-UART к UART2 модуля (пример подключения), подключить переходник к ПК.
Подключить HDMI-дисплей к модулю.
Подключить блок питания USB type C.
На ПК открыть терминал, залогиниться (пользователь/пароль — см. intro).
Если на HDMI-дисплей не выводится видео, выполнить перезапуск HDMI, см. Поддержка HDMI.
Инструкции (how-to)¶
Прошивка SD-карты¶
Прошивка SD-карты выполняется на ПК:
Определить имя устройства SD-карты на ПК (извлечь SD-карту из считывателя карт ПЭВМ, считать список устройств командой
ls -la /dev/sd*
, установить SD-карту в ПК, повторно считать список устройств, обнаружить новое устройство/dev/sdX
).Записать образ на SD-карту:
sudo dd if=mcom03-altlinux-sdcard-...img of=/dev/sdX bs=4M && sync
Для загрузки с SD-карты в
extlinux.conf
SD-карты требуется изменить путь до корневой файловой системы:root=/dev/sda2
— на модуле ТрастФон_ПМ,root=/dev/mmcblk1p2
— на модуле ELV-MC03-SMARC.
Прошивка QSPI-памяти¶
Прошивка QSPI-памяти выполняется с ПК. Python-пакет утилит для прошивки QSPI-памятей mcom03-flash-tools и инструкция по прошивке расположены по адресу https://github.com/elvees/mcom03-flash-tools.
Образы прошивок для QSPI-памятей соответствующих модулей перечислены в Состав сборки.