firmware icon indicating copy to clipboard operation
firmware copied to clipboard

Изменить работу команды firstboot

Open p0i5k opened this issue 2 years ago • 6 comments

Сейчас команда firstboot выполняет форматирование раздела rootfs_data. Добавить:

  • подготовку файла /etc/profiler.yaml для текущей платы данного производителя
  • настройку пинов в /etc/majestic.yaml
  • /etc/fw_env.config

p0i5k avatar Jun 20 '22 09:06 p0i5k

Получается, поскольку firstboot выполняется на камере, исходные данные для формирования конфига профайлера тоже должны быть на камере. И на ней же будет содаваться конфиг профайлера. Мы из большого мешка будем копировать часть данных в маленький, плодя сущности и отъедая место? Рабочий конфиг под конкретное железо надо строить на этапе сборки прошивки, вне камеры, и сохранять в прошивку только его, а не тащить на камеру данные, которые к этой конретной железяке не относятся. Сейчас, например, в профайлере указаны все варианты gpio для всех процов всех вендоров, но когда прошивка уже на камере, ей нет дела до разных иных моделей. Эти данные просто занимают полезное место. Надо наоборот выносить все универсальное из готовой прошивки на этап сборки, а не переносить сборку на камеру.

themactep avatar Jun 20 '22 10:06 themactep

Прошивка универсальна для процессора, а не производителя камеры. Поэтому в ней есть драйвера и для десятка сенсоров. Копирование - это плата за универсальность и установку в один клик.

p0i5k avatar Jun 20 '22 10:06 p0i5k

О том и речь. Зачем тащить в камеру профайлер и базу по всеми GPIO по всем процам? Что мешает сформировать конфиг с пинами для конкретного процессора и записать его в /rom? И не будет нужды создавать его заново всякий раз при запуске firstboot.

themactep avatar Jun 20 '22 10:06 themactep

Формирование конфига для конкретного процессора вынесено в https://github.com/OpenIPC/firmware/issues/240 Мы не знаем на плату какого производителя будет установлена прошивка.

p0i5k avatar Jun 20 '22 10:06 p0i5k

Если в firmware есть база данных по производителям плат (например, как у XM имя модели) с их детальной конфигурацией, то можно в env записывать отдельным параметром только имя и брать настройки после firstboot

widgetii avatar Jun 20 '22 13:06 widgetii

Да, coupler сейчас уже устанавливается переменную manufacturer. Там, где OpenIPC уже установлен или установлен вручную, надо будет прописать его вручную. Только тогда увеличится длина команды для чтения параметров на manufacturer=${fw_print manufacturer}

p0i5k avatar Jun 20 '22 14:06 p0i5k