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.
Примечания к выпуску¶
2023.03¶
Важно
Ядро Linux данной сборки несовместимо с загрузчиком U-Boot предыдущих версий. Для корректной работы требуется перепрошивка QSPI и eMMC/SD-карты модуля.
Образ флеш-памяти QSPI0 и ядро Linux бинарно идентичны Buildroot 2023.03. Список изменений в компонентах см. https://dist.elvees.com/mcom03/docs/linux-sdk/latest/release-notes.html#release-2023-03.
Сборка ALT Linux не содержит GStreamer-компонентов.
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/. Состав сборки:
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-монитор./usr/lib/systemd/system/alsa-restore.service.d/mfbsp-i2s.conf
,/var/lib/alsa/asound.state
— для автоматической настройки аудио-карт.
Из стандартных репозиториев 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¶
Для запуска ОС необходимо:
Установить джампер режима Boot 0 (QSPI0).
Подключить переходник USB-to-UART к UART2 модуля (пример подключения), подключить переходник к ПК.
Подключить HDMI-дисплей к модулю.
Подключить блок питания USB type C.
На ПК открыть терминал, залогиниться (пользователь/пароль — см. intro).
Если на HDMI-дисплей не выводится видео, выполнить перезапуск HDMI, см. Поддержка HDMI.
Прошивка SD-карты¶
Прошивка SD-карты выполняется на ПК или на устройстве (при условии загрузки c eMMC):
Определить имя устройства SD-карты на ПК (извлечь SD-карту из считывателя карт ПЭВМ, считать список устройств командой
ls -la /dev/sd*
, установить SD-карту в ПК, повторно считать список устройств, обнаружить новое устройство/dev/sdX
).Записать архив корневой файловой системы на SD-карту с помощью утилиты
tar2dev
(утилита входит в состав сборки, см. firmware):sudo ./tar2dev mcom03-altlinux-rootfs-....tar.gz /dev/sdX
Для загрузки с 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-памятей соответствующих модулей перечислены в Состав сборки.