1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openharmony-update_updater

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 6.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 04.03.2025 06:23 65692f2

Обновитель

Введение

Обновитель запускается в разделе 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": {}
}

6. Скомпилировать образ раздела обновителя.

Добавьте конфигурацию компиляции в скрипт build_updater_image.sh, который находится в репозитории build и вызывается системой сборки OpenHarmony.

Вовлечённые репозитории

Подсистема обновлений

update_updater

build

productdefine_common

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/openharmony-update_updater.git
git@api.gitlife.ru:oschina-mirror/openharmony-update_updater.git
oschina-mirror
openharmony-update_updater
openharmony-update_updater
master