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

OSCHINA-MIRROR/openharmony-startup_init

 / Детали:

Функция обратного отката в случае异常 ( anomalies ) для OTA

Предстоит сделать
Владелец
Создано  
06.03.2025

[Description of the task]
Rollback function in case of OTA failure: checks whether the activation was successful after the first system reboot following the update package installation. In case of failure, it rolls back the userdata partition data and switches the ab partition back to its original state.

[Solution to the problem]
Rollback_userdata_partition:

  1. After completing the OTA installation and rebooting, during the initial mounting of the data partition, it verifies if the system is undergoing an OTA update process.
  2. If so, immediately after mounting the data partition, a second mount operation with the parameter checkpoint=disable is performed.
  3. Following the completion of the Boot load, another mount operation on the data partition with the parameter checkpoint=enable is executed, allowing the f2fs file system to automatically record changes to the data partition.
  4. If the OTA update fails between the init and boot stages followed by a reboot, all data written to the data partition will become invalid after the reboot. This achieves the rollback of the data partition.

Rollback_ab_partition:
In case of unsuccessful activation, the interface setactiveslot is called for switching the partition.

[Source of the task]
State project - requirements for the stream versioning system OTA for the kernel.

Комментарий (0)

GitLife Service Account Задача создана
GitLife Service Account добавлено
 
waiting_for_assign
label.
Развернуть журнал операций

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/openharmony-startup_init.git
git@api.gitlife.ru:oschina-mirror/openharmony-startup_init.git
oschina-mirror
openharmony-startup_init
openharmony-startup_init