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 или оверлея? Чтобы в оверлее место не занимать
Ветка разработки
- Отображать поле для номера коммита. Если пусто, то берём последний.