MCom-03 (СКИФ) ALT Linux

Обзор

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.

Примечания к выпуску

2022.09

Важно

Ядро Linux данной сборки несовместимо с загрузчиком U-Boot предыдущих версий. Для корректной работы требуется перепрошивка QSPI и eMMC/SD-карты модуля.

Образ флеш-памяти QSPI0 и ядро Linux бинарно идентичны Buildroot 2022.09. Список изменений в компонентах см. https://dist.elvees.com/mcom03/docs/linux-sdk/latest/release-notes.html#release-2022-09.

Сборка ALT Linux не содержит GStreamer-компонентов.

2022.06

Важно

Ядро Linux данной сборки несовместимо с загрузчиком U-Boot предыдущих версий. Для корректной работы требуется перепрошивка QSPI и eMMC/SD-карты модуля.

Образ флеш-памяти QSPI0 и ядро Linux бинарно идентичны Buildroot 2022.06. Список изменений в компонентах см. https://dist.elvees.com/mcom03/docs/linux-sdk/latest/release-notes.html#release-2022-06.

Сборка ALT Linux не содержит GStreamer-компонентов.

2022.03

Важно

Ядро Linux данной сборки несовместимо с загрузчиком U-Boot предыдущих версий. Для корректной работы требуется перепрошивка QSPI и eMMC/SD-карты модуля.

Общие изменения:

  • Вместо образа SD-карты теперь распространяется архив корневой файловой системы. Преимущества: отсутствует неразмеченная область на SD-карте после прошивки, прошивка выполняется быстрее в разы (не записывается неиспользуемая область файловой системы на SD-карту). Для прошивки используется утилита tar2dev, утилита распространяется в составе сборки ОС. Обновлена глава Прошивка SD-карты.

  • Исправлена ошибка при установке пакетов (заменены неверные версии /usr/lib/libdrm.so.2 и modetest):

    /usr/lib/libdrm.so.2: /lib64/libm.so.6: version /'GLIBC_2.29/' not found
      (required by /usr/lib/libdrm.so.2)
    
  • Разделы boot и root объединены в один.

Изменения в ядре Linux:

  • Улучшена поддержка runtime power management: ядро выключает частоты DSP, VPU если блоки не используются пользовательскими процессами.

  • Улучшена поддержка pinctrl: пады прерывания HDMI теперь настраиваются в ядре (вместо U-Boot).

  • Исправлена ошибка переполнения чтения температуры в драйвере PVT mr75202.

  • Добавлена поддержка I2C4.

  • Добавлена поддержка DSI-дисплеев совместимых с ROCK Pi N10: Raspberry Pi 7" DSI, Raspberry Pi Waveshare 4.3" DSI.

  • Увеличен таймаут обнаружения PCIe-устройств.

  • ТрастФон-Э: Управление HDMI перенесено на I2C4.

  • В mcom03_defconfig включена поддержка Docker, systemd, UBI/SquashFS, GPIO LED.

Изменения в инициализаторе DDR ddrinit:

  • Повышена частота LPDDR4 с 1066 до 2133 MT/s.

  • Добавлена поддержка низких частот до 66 MT/s.

Состав сборки

Файлы сборки MCom-03 ALT Linux размещены на сайте https://dist.elvees.com/mcom03/altlinux/2022.06. Состав сборки:

  • mcom03-altlinux-rootfs-....tar.gz — архив корневой файловой системы для модуля ROCK Pi N10 с установленным ELV-MC03-SMARC r1.1, в extlinux.conf настроено монтирование rootfs с eMMC;

  • mcom03-rockpi-sbl-....bin — образ QSPI0 для модуля ELV-MC03-SMARC r1.1;

  • mcom03-trustphonepm-sbl-....bin — образ QSPI0 для модуля ТрастФон_ПМ r1.0.

  • tar2dev — утилита для распаковки архива корневой файловой системы на блочное устройство.

Примечание

Возможен запуск образов SD-карты на других модулях на базе MCom-03: после прошивки SD-карты необходимо изменить устройство для загрузки корневой файловой системы (параметр ядра root в файле extlinux.conf).

Корневая файловая система

Корневая файловая система mcom03-altlinux-rootfs-....tar.gz ALT Linux разработана следующим образом:

  • Установлен ALT Linux P9 из образа slinux-9.1-aarch64.tar.xz (при установке созданы пользователи, настроен часовой пояс и т.д.).

  • Добавлены файлы:

    • /boot/extlinux/extlinux.conf — конфигурационный файл схемы U-Boot GenericDistro.

    • /boot/Image — образ ядра Linux.

    • /boot/elvees/*.dtb — файлы для поддерживаемых модулей и комбинаций с подключенными устройствами (CSI-камера, DSI-дисплей и т.д.).

    • /lib/modules/* — модуля ядра Linux.

    • /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.

Исходные коды

Репозитории с исходными кодам базовых компонентов (arm-trusted-firmware, ddrinit, mcom03-sbl, U-Boot, Linux) доступны на https://github.com/elvees.

Версии базовых компонентов, из которых собраны бинарные образы, перечислены в файле git-info.json в директории образов Buildroot (версия Buildroot приведена в release-notes).

Поддержка HDMI

При включении/сбросе СнК видео на HDMI может не выводиться или выводиться испорченным. Для перезапуска HDMI требуется перезапуск процессора или перенастройка PLL СнК. Перенастройка PLL выполняется скриптом mcom03-hdmi-setup.sh (установлен в ОС).

Инструкции

Запуск ОС на ROCK Pi N10

Для запуска ОС необходимо:

  1. Установить джампер режима Boot 0 (QSPI0).

  2. Подключить переходник USB-to-UART к UART2 модуля (пример подключения), подключить переходник к ПК.

  3. Подключить HDMI-дисплей к модулю.

  4. Подключить блок питания USB type C.

  5. На ПК открыть терминал, залогиниться (пользователь/пароль — см. intro).

  6. Если на HDMI-дисплей не выводится видео, выполнить перезапуск HDMI, см. Поддержка HDMI.

Прошивка SD-карты

Прошивка SD-карты выполняется на ПК или на устройстве (при условии загрузки c eMMC):

  1. Определить имя устройства SD-карты на ПК (извлечь SD-карту из считывателя карт ПЭВМ, считать список устройств командой ls -la /dev/sd*, установить SD-карту в ПК, повторно считать список устройств, обнаружить новое устройство /dev/sdX).

  2. Записать архив корневой файловой системы на SD-карту с помощью утилиты tar2dev (утилита входит в состав сборки, см. firmware):

    sudo ./tar2dev mcom03-altlinux-rootfs-....tar.gz /dev/sdX
    
  3. Для загрузки с SD-карты в extlinux.conf SD-карты требуется изменить путь до корневой файловой системы:

    • root=/dev/sda1 — на модуле ТрастФон_ПМ,

    • root=/dev/mmcblk1p1 — на модуле ELV-MC03-SMARC.

Утилита tar2dev поддерживает опции и переменные для конфигурации файловой системы при записи на блочное устройство. Пример создания SD-карты с установкой раздела root, fdt в extlinux.conf и имени хоста устройства:

ROOT=/dev/mmcblk1p1 FDT=board.dtb tar2dev -n newhostname rootfs.tar.gz /dev/sdX

Подробнее см. tar2dev -h.

Прошивка eMMC

Память eMMC на ELV-MC03-SMARC доступна как стандартное блочное устройство Linux /dev/mmcblk0p2. eMMC может прошиваться тем же образом, что и SD-карта.

Для прошивки достаточно:

  • загрузить Linux с карты памяти SD;

  • скопировать rootfs.tar.gz для прошивки eMMC и tar2dev на SD-карту;

  • прошить eMMC утилитой tar2dev (см. howto-flash-sd);

  • обновить корневую файловую систему в extlinux.conf на eMMC.

Прошивка QSPI-памяти

Прошивка QSPI-памяти выполняется с ПК. Python-пакет утилит для прошивки QSPI-памятей mcom03-flash-tools и инструкция по прошивке расположены по адресу https://github.com/elvees/mcom03-flash-tools.

Образы прошивок для QSPI-памятей соответствующих модулей перечислены в Состав сборки.