Установка и обновление ПО и прошивки
Пакеты
Установка ПО на RMC осуществляется пакетным менеджером opkg. Пакет с ПО собирается Buildroot или в момент сборки всей прошивки, или индивидуально пользователем. После сборки и копирования на узел, пакет устанввливается утилитой opkg.
Версия прошивки
Версия ПО указывается в формате <Год>W<Неделя в году>, например - 2019W09 или по дате <Год>.<Месяц>.<День>, например - 21.02.16
Новые версии прошивок и ПО выкладываться на : 1. //filer/filer/imx/<версия ПО> 2. https://git.rsc-tech.ru/Embedded/rsc-imx28-nmc, в разделе CI/CD→Pipelines 3. Из докер репозитория доступного на http://imx287-rmc.repo.service.consul:6896/<версия прошивки>/
Ручная установка
- Cкопировать пакет или пакеты на RMC в папку /tmp или /data
- Установить пакеты
opkg install <package_name>.ipk
или
opkg install --force-reinstall <package_name>.ipk
Автомтическая установка
Установка с SD карты
Структура данных
ВАЖНО! SD** карта должна содержать файловую систему FAT
Структра каталога на SD карте:
+--\
| +-- packages
| +-- *.ipk
| +-- Packages
| +-- Packages.gz
| +-- disable.ph.trigger
Наименование | Описание |
---|---|
\ | Корень раздела SD карты; |
packages | Каталог в корне раздела SD содержащий все пакеты которые будут установленны на RMC. Так же с каталоге содержатся файлы с описание пакетов - Packages и Packages.gz, данные файлы тербуются для корректной работы пактного манаджера OPKG; |
*.ipk | Пакеты которые будут установленны на RMC; |
Packages | Файл содержащий описание устанавливаемых пакетов; |
Packages.gz | Сархивированная версия файла Packages; |
disable.ph.trigger | Наличие данного файла запрещает использования функционала ProcHot. |
Процедура обновления
- Установить RMC на вычислительный узел
- Вставить SD карту в слот RMC
- Подать питание на блок питания узла
- RMC автоматически установит все пакеты из каталога Packages
ВАЖНО! В случае потери питания, достаточно еще раз включить RMC с установленной SD картой. Система сама закончит установку требуемых пакетов.
Время обновления ПО составляет около 5 мин.
- После завершения процесса тестирования RMC, SD карту нужно вытащить из SD слота RMC.
Установка из каталога /data/packages
- Скопировать пакеты (.ipk) и описание пакетов (Packages) в каталог /data/update
- Установить пакеты запустив приложение update_opkg.sh или перезагрузив RMC
ВАЖНО! Так как данный каталог не перезапивывается при перепрошивке узла, то в случае перепрошивке возможна установка старых пакетов из данного каталога.
На данный момент старайтесь удалть содержимое данного каталога когда она уже было установленно, и пользуйтесь ручной установкой или установкой из репозитория.
Установка из репозитория
На данный момент это основной способ установки ПО на RMC. Репозиторий разворачивается в докер контейнере и находится по адресу http://imx287-rmc.repo.service.consul:6896/. Репозиторий содержит последнии версии прошивки, ПО. и прошивки u-boot.
└── /
├── 2017W47 // Версия релиза
│ ├── R1.2 // Версия набора ПО, соответствует версии железа LLMC
│ │ ├── Packages // Описание пакетов, создается автоматически инструментами OPKG
│ │ ├── Packages.gz // Архивированный файл
│ │ └── nmc-powerboard-tools_1.0.0_arm.ipk // Пакеты в данном наборе
│ ├── T2.2 // Версия набора ПО, соответствует версии железа LLMC
│ │ ├── Packages
│ │ ├── Packages.gz
│ │ ├── ...
│ │ └── rsc-ipmitool_2.0.4_arm.ipk
│ ├── T3.2 // Версия набора ПО, соответствует версии железа LLMC
│ │ ├── Packages
│ │ ├── Packages.gz
│ │ ├── cpputest_1.0.1_arm.ipk
│ │ ├── ...
│ │ └── rsc-ipmitool_2.0.4_arm.ipk
│ ├── base // Набор ПО не зависящий от версии LLMC
│ │ ├── Packages
│ │ ├── Packages.gz
│ │ ├── librsc-cypress-drv_3.0.1_arm.ipk
│ │ ├── ...
│ │ └── rsc-discovery_1.3.0_arm.ipk
│ ├── cypress // Версии прошивок для Cypress LLMC
| | ├── tornado-2.2-PBC-20210120_4.26.cyacd
│ │ ├── tornado-2.2-PBC-20210120_4.26.hex
│ │ └── ...
│ ├── firmware // Базовая прошивка RMC
│ | ├── firmware.info // Файл с версией прошивки
│ | └── imx287-20171128-29.tgz // Архив с прошивкой, версия прошивки так же закодирована в названии данного архива
│ └── uboot/
│ ├── uboot.info
│ └── rmc-20210204-05.tgz
└── manifest
└── release_manifest.json // Манифест с описанием порядка установки прошивки
- При доступном репозитории, после перезагрузки RMC ПО автоматически обновляется до новой версии
- Для принудительного обновления прошвки RMC вызывается скрипт - update_firmware.sh
- Для принудительного обновления ПО RMC вызывается скрипт - update_opkg.sh