MCom-03 (СКИФ) ALT Linux 2021.09¶
Обзор¶
MCom-03 ALT Linux — сборка операционной системы ALT Linux с поддержкой модулей на базе микросхемы 1892ВА018 (aka СКИФ, aka MCom-03). При включении питания модуля запускается рабочее окружение Xfce с выводом на HDMI-монитор. Управление ОС выполняется через терминал или через мышь, клавитуатуру, подключенные к модулю.
Пользователи ОС:
пользователь elvees, пароль elvees,
суперпользователь: root, пароль elvees.
Поддерживаемые модули:
IPCom BuB r1.3.0 (aka MCom-03 BuB),
NGFW-CB r1.0 с установленным SMARC-модулем ELV-MC03-SMARC r1.0.
Состав сборки¶
Сборка MCom-03 ALT Linux состоит из бинарных образов:
mcom03-altlinux-sdcard-2021-09-08.img.bz2
— образ SD-карты для модулей MCom03-BuB и NGFW-CB,mcom03-mcom03bub-sbl-mips-2021-09-08.bin
— образ QSPI0 для модуля MCom03-BuB c выводом видео на HDMI-мониторы разрешением FullHD,mcom03-mcom03bub-sbl-mips-1280x800-2021-09-14.bin
— образ QSPI0 для модуля MCom03-BuB c выводом видео на HDMI-мониторы разрешением 1280x800,mcom03-ngfwcb-sbl-mips-fullhd-2021-09-08.bin
— образ QSPI0 для модуля NGFW-CB с установленным SMARC-модулем.
Образы размещены на сайте http://dist.elvees.com/mcom03/altlinux/2021.09.
Состав образа SD-карты¶
Образ SD-карты состоит из GPT-разделов boot (FAT32) и root (EXT4).
Раздел boot содержит файлы:
extlinux/extlinux.conf
— конфигурационный файл схемы U-Boot Generic Distro.alt/Image
— образ ядра Linux.
Раздел 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/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
.
Исходные коды¶
Версии исходных кодов базовых компонентов поддержки MCom-03, из которых собраны бинарные образы:
Поддержка модуля MCom-03 BuB¶
Поддерживаются следующие интерфейсы модуля MCom-03 BuB:
Интерфейс |
Разъём модуля |
Примечание |
---|---|---|
HDMI |
XS20 |
Подробнее см. Поддержка HDMI. |
USB0 |
USB0 |
Подробнее см. Поддержка USB. Подключен к USB0 MCom-03. |
USB1 |
USB1 |
Подробнее см. Поддержка USB. Подключен к USB1 MCom-03. |
SD-карта |
XS11 |
Поддерживается Default Speed. SD-карта подключена к SDMMC0 MCom-03. |
QSPI0 |
QSPI0 |
Поддерживается только в U-Boot. |
UART0 |
XS33 |
Консоль MCom-03. |
DDR |
— |
LPDDR4 533 МГц (1066 MT/s), суммарно 8 ГБ. |
Примечание
Для поддержки Ethernet необходимо использовать USB2Ethernet-адаптер.
Поддержка модуля NGFW-CB¶
Поддерживаются следующие интерфейсы модуля NGFW-CB:
Интерфейс |
Разъём модуля |
Примечание |
---|---|---|
HDMI |
XS14 |
Подробнее см. Поддержка HDMI. |
USB |
XS12 |
Подробнее см. Поддержка USB. Подключен к USB1 MCom-03. На разъёме XS12 два USB-порта. |
SD-карта |
M.2 SIM |
Поддерживается Default Speed. Подключена к SDMMC1 MCom-03. |
QSPI0 |
— |
Поддерживается только в U-Boot, память установлена на SMARC-модуле. |
UART0 |
XS18 |
Консоль MCom-03. |
DDR |
— |
LPDDR4 533 МГц (1066 MT/s), суммарно 8 ГБ. |
Примечание
Для поддержки Ethernet необходимо использовать USB2Ethernet-адаптер.
Поддержка USB¶
USB 3.0 не поддерживается, подключение должно выполняться через удлинитель USB 2.0 или USB-хаб 2.0. Как следствие, в консоль Linux могут выводиться регулярные сообщения о неисправности USB-кабеля. Для отключения сообщений изменить уровень печатаемых ядром сообщений:
dmesg --console-level alert
Поддержка HDMI¶
При включении/сбросе СнК видео на HDMI может не выводиться или выводиться испорченным.
Для перезапуска HDMI требуется перезапуск процессора или перенастройка PLL СнК. Перенастройка PLL
выполняется скриптом mcom03-hdmi-setup.sh
(установлен в ОС).
В зависимости от требуемого выводимого разрешения модуль QSPI0 MCom-03 BuB должен быть прошит разными прошивками. Доступные прошивки QSPI0 перечислены в Состав сборки, инструкция по прошивке QSPI0 — в Прошивка QSPI-памяти.
Обзор загрузки ОС (boot flow)¶
MCom-03 запускается в режиме QSPI0 XIP. Память QSPI0 содержит образы SBL, ddrinit, TF-A, U-Boot.
SD-карта содержит образ ядра Linux, файл extlinux.conf
, rootfs (см. Состав образа SD-карты).
U-Boot поддерживает загрузку Linux по схеме Generic Distro с использованием файла
extlinux.conf
.
Для старта ядра Linux используются: образ ядра, DTB-файл и файл extlinux.conf
. DTB-файл встроен
в U-Boot, собирается и загружается вместе с U-Boot и передается ядру Linux при загрузке.
Последовательность загрузки приведена на диаграмме:
Последовательность загрузки Linux (в скобках указан источник исполнения)¶
Инструкции (how-to)¶
Запуск ОС на модуле MCom-03 BuB¶
Перевести переключатели BOOT0,1,2 на блоке SA1 в положение OFF.
Подключить USB2Ethernet-адаптер через удлинитель USB 2.0 и переходник Micro USB 3.0 к разъему USB0 (XS6) или USB1 (XS7) модуля.
Подключить HDMI-монитор через HDMI-кабель в разъем XS20 модуля.
Установить SD-карту в слот SD SDMMCO (XS11) модуля.
Подключить разъем UART0USB (XS33) модуля и USB-порт ПК посредством кабеля USB 2.0 TypeB.
Подключить блок питания в разъем PWR IN модуля. Модуль начнет загружаться.
На ПК открыть терминал UART модуля. Дождаться в консоли окончания загрузки Linux и залогиниться, логин: root, пароль elvees.
Дождаться появления на HDMI-мониторе рабочего стола Xfce.
Если изображение выводится на HDMI-монитор с артефактами или не выводится, то в консоли терминала UART необходимо выполнить команду
mcom03-hdmi-setup.sh
. Запустится приложение, перезапускающее вывод изображения на HDMI-монитор — при появлении стабильного изображения без артефактов на клавиатуре необходимо нажатьy
. В противном случае нажиматьn
до появления стабильной картинки на мониторе. Пример работы приложенияmcom03-hdmi-setup.sh
:[root@altlinux ~]# mcom03-hdmi-setup.sh Output image is good? [y/n] n Restarting PLL... Output image is good? [y/n] y [root@altlinux ~]#
Запуск ОС на модуле NGFW-CB¶
Перевести переключатели BOOT0,1,2 на блоке SA2 выставить в положение ON.
Подключить USB2Ethernet-адаптер через удлинитель USB 2.0 к разъему XS14 модуля.
Подключить HDMI-монитор через HDMI-кабель в разъем XS17 модуля.
Установить microSD-карту в внешний разъём слота M.2 SIM задней стороне модуля.
Подключить разъем CONSOLE (XS18) модуля и USB-порт ПК посредством кабеля USB 3.0 TypeC.
Подключить блок питания в разъем +12V (XS21) модуля.
Нажать кнопку POWER (SB1). Модуль начнет загружаться.
На ПК открыть терминал UART модуля. Дождаться в консоли окончания загрузки Linux и залогиниться, логин: root, пароль elvees.
Дождаться появления на HDMI-мониторе рабочего стола Xfce.
Если изображение выводится на экран с артефактами или не выводится вообще, то в консоли терминала UART необходимо выполнить команду
mcom03-hdmi-setup.sh
. Запустится приложение, перезапускающее вывод изображения на HDMI-монитор — при появлении стабильного изображения без артефактов на клавиатуре необходимо нажатьy
. В противном случае нажиматьn
до появления стабильной картинки на мониторе. Пример работы приложенияmcom03-hdmi-setup.sh
:[root@altlinux ~]# mcom03-hdmi-setup.sh Output image is good? [y/n] n Restarting PLL... Output image is good? [y/n] y [root@altlinux ~]#
Прошивка SD-карты¶
Прошивка SD-карты выполняется на ПК:
Определить имя устройства SD-карты на ПК (извлечь SD-карту из считывателя карт ПЭВМ, считать список устройств командой
ls -la /dev/sd*
, установить SD-карту в ПК, повторно считать список устройств, обнаружить новое устройство/dev/sdX
).Записать образ на SD-карту:
sudo dd if=mcom03-altlinux-sdcard-2021-09-08.img of=/dev/sdX bs=4M && sync
Прошивка QSPI-памяти¶
Прошивка QSPI-памяти выполняется с ПК. Python-пакет утилит для прошивки QSPI-памятей mcom03-flash-tools и инструкция по прошивке расположены по адресу https://github.com/elvees/mcom03-flash-tools.
Образы прошивок для QSPI-памятей соответствующих модулей (MCom-03 BuB, NGFW-CB) перечислены в Состав сборки.