Обновитель запускается в разделе updater. Он считывает информацию из раздела misc для получения статуса пакета обновлений и проверяет пакет обновлений, чтобы гарантировать его корректность. Затем обновитель распаковывает исполняемые программы из пакета обновлений, создаёт подпроцесс и запускает программу обновления. После этого операции обновления будут автоматически выполняться с помощью скрипта обновления.
base/update/updater/ ├── resources # Изображения пользовательского интерфейса подсистемы обновления ├── services # Код сервисов обновителя │ ├── applypatch # Код обработки данных пакета обновления │ ├── fs_manager # Код управления файловой системой и разделами │ ├── include # Заголовочные файлы подсистемы обновления │ ├── log # Модуль журналирования подсистемы обновления │ ├── package # Пакеты обновления │ ├── script # Скрипты обновления │ ├── diffpatch # Код восстановления дифференциального пакета │ ├── sparse_image # Код парсинга разряженного образа │ ├── ui # Код пользовательского интерфейса │ └── updater_binary # Выполнимые программы ├── interfaces │ └── kits # Внешние API └── utils # Общие утилиты подсистемы обновления └── include # Заголовочные файлы общих функций подсистемы обновления
### Руководство по использованию <a name="section220mcpsimp"></a>
Обновитель запускается в разделе updater. Для обеспечения правильной работы обновителя выполните следующие действия:
1. Создайте раздел updater.
Раздел updater независим от других разделов. Рекомендуется размер раздела updater быть больше или равным 20 МБ. Изображение раздела updater представляет собой файловую систему ext4. Убедитесь, что опция конфигурации файловой системы ext4 в ядре системы включена.
2. Создайте раздел misc.
Раздел misc хранит метаданные, необходимые подсистеме обновлений во время процесса обновления. Эти данные включают команды обновления и записи возобновляемой передачи данных при отключении питания. Раздел misc является сырьевым разделом и его размер составляет около 1 МБ. Вам не требуется создавать файловую систему для раздела misc, так как подсистема обновлений может непосредственно обращаться к этому разделу.
3. Подготовьте таблицу конфигурации разделов.
Во время процесса обновления, процесс обновителя использует таблицу конфигурации разделов для управления разделами. По умолчанию имя файла таблицы конфигурации разделов — это **fstab.updater**. Вам потребуется упаковать файл **fstab.updater** в обновитель во время компиляции.
4. Запустите обновитель.Процесс `init` в разделе обновителя имеет независимый конфигурационный файл с именем **init.cfg**. Конфигурация запуска обновителя хранится в этом файле.
### 5. Скомпилировать обновитель.
а. Добавьте конфигурации обновителя в файл **build/subsystem_config.json**.
Пример конфигурации:
```json
"updater": {
"project": "hmf/updater",
"path": "base/update/updater",
"name": "updater",
"dir": "base/update"
}
б. Добавьте обновитель для желаемого продукта.
Например, чтобы добавить обновитель для Hi3516D V300, добавьте следующий код в файл productdefine/common/products/Hi3516DV300.json.
{
"updater:updater": {}
}
Добавьте конфигурацию компиляции в скрипт build_updater_image.sh, который находится в репозитории build и вызывается системой сборки OpenHarmony.
Подсистема обновлений
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )