discussion_ru - p0i5k/openipc GitHub Wiki

Темы для дискуссий

Обновление системы

Ядро:

Image Name:   Linux-4.9.37-hi3516ev200
Created:      Thu Dec  9 07:07:19 2021
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    1917908 Bytes = 1872.96 KiB = 1.83 MiB
Load Address: 40008000
Entry Point:  40008000
  • Добавить в имя название процессора. По нему проверять и дате проверять пригодность для обновления.
  • В конфиге за это отвечает CONFIG_LOCALVERSION, но он много чего меняет, например, путь на /lib/modules/4.9.37-hi3516ev200/. Да и модулям это тоже не нравится: hi_pwm: version magic '4.9.37 mod_unload ARMv7 p2v8 ' should be '4.9.37-hi3516ev200 mod_unload ARMv7 p2v8 '

Корневая фс:

NAME=Buildroot
VERSION=-gb22683c-dirty
ID=buildroot
VERSION_ID=2020.02.12
PRETTY_NAME="Buildroot 2020.02.12"
OPENIPC_VERSION=2.1.12.09
RELEASE=fpv
SOC=hi3516ev200
BUILD_TIME="Thu Dec  9 07:07:19 2021"
  • В /etc/os-release добавить ту же информацию, что и в ядро.
  • Хотя можно использовать /etc/hostname
  • BUILD_TIME лучше чтобы показывал не фактическое время, а время последнего коммита, с которым прошла сборка. Можно ли его вытащить в actions? Через GIT_BRANCH и какие ещё есть..
  • Туда же писать тип релиза openipc, fpv, vixand...
  • В архив с прошивкой класть хеш-сумму, для проверки целостности перед прошивкой.

Обновление majestic

  • Обновляется только бинарник.
  • Конфиг можно сохранять в сжатом виде, для восстановления настроек по умолчанию, так как версия в /rom может сильно отличаться (в случае если sysupgrade давно не делался).
  • Будет ли работать стример, если он поставлялся с новыми библиотеками, а их не обновили? В случае изменения версий библиотек, писать уведомление о необходимости sysupgrade'а. Если же флешка 16МБ и есть свободное место, то просто обновить.
  • Перезаписывать только те файлы, которые изменились.
  • Есть кнопка Восстановить настройки, нужна ли Восстановить стример?
  • Помимо ETag можно использовать Last-Modified

Обновление web-интерфейса

  • Файлов много, необязательно обновились все. Особенно касается тяжёлых bootstrap.*. Перезаписывать только те файлы, которые изменились.
  • Удалять файлы, которые больше не используются в интерфейсе из /var/www или оверлея? Чтобы в оверлее место не занимать

Ветка разработки

  • Отображать поле для номера коммита. Если пусто, то берём последний.