From a3f2373b2a4b2fe996d8e6a1e23745e7fc7dcd7c Mon Sep 17 00:00:00 2001 From: hanKF Date: Tue, 25 Mar 2025 02:05:29 +0000 Subject: [PATCH 1/4] =?UTF-8?q?=E5=86=85=E7=BD=91=E5=8D=87=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: hanKF --- interfaces/kits/include/updaterkits/updaterkits.h | 1 + interfaces/kits/updaterkits/updaterkits.cpp | 7 +++++-- services/include/updater/updater_const.h | 1 + services/updater_utils.cpp | 4 +++- utils/write_updater.cpp | 11 ++++++++++- 5 files changed, 20 insertions(+), 4 deletions(-) diff --git a/interfaces/kits/include/updaterkits/updaterkits.h b/interfaces/kits/include/updaterkits/updaterkits.h index 6f2b6699..34b8c353 100755 --- a/interfaces/kits/include/updaterkits/updaterkits.h +++ b/interfaces/kits/include/updaterkits/updaterkits.h @@ -18,6 +18,7 @@ constexpr const char *UPGRADE_TYPE_OTA = "ota"; constexpr const char *UPGRADE_TYPE_SD = "sdcard"; +constexpr const char *UPGRADE_TYPE_OTA_INTRAL = "ota_intral"; constexpr const char *UPGRADE_TYPE_SD_INTRAL = "sdcard_intral"; // Reboot system to updater mode and trigger installing update package. diff --git a/interfaces/kits/updaterkits/updaterkits.cpp b/interfaces/kits/updaterkits/updaterkits.cpp index 673392aa..7b1bf0f7 100755 --- a/interfaces/kits/updaterkits/updaterkits.cpp +++ b/interfaces/kits/updaterkits/updaterkits.cpp @@ -227,7 +227,7 @@ bool RebootAndInstallSdcardPackage(const std::string &miscFile, const std::vecto int RebootAndInstallUpgradePackage(const std::string &miscFile, const std::vector &packageName, const std::string &upgradeType) { - if (packageName.size() == 0 && upgradeType == UPGRADE_TYPE_OTA) { + if (packageName.size() == 0 && (upgradeType == UPGRADE_TYPE_OTA || upgradeType == UPGRADE_TYPE_OTA_INTRAL)) { LOG(ERROR) << "updaterkits: invalid argument. one of arugments is empty"; return 1; // 1 : Invalid input } @@ -248,6 +248,9 @@ int RebootAndInstallUpgradePackage(const std::string &miscFile, const std::vecto } else if (upgradeType == UPGRADE_TYPE_SD_INTRAL) { ret = snprintf_s(updateMsg.update, sizeof(updateMsg.update), sizeof(updateMsg.update) - 1, "--sdcard_intral_update\n"); + } else if (upgradeType == UPGRADE_TYPE_OTA_INTRAL) { + ret = snprintf_s(updateMsg.update, sizeof(updateMsg.update), sizeof(updateMsg.update) - 1, + "--ota_intral_update\n"); } if (ret < 0) { LOG(ERROR) << "updaterkits: copy updater message failed"; @@ -257,7 +260,7 @@ int RebootAndInstallUpgradePackage(const std::string &miscFile, const std::vecto if (addRet != 0) { return addRet; } - if (upgradeType == UPGRADE_TYPE_OTA) { + if (upgradeType == UPGRADE_TYPE_OTA || upgradeType == UPGRADE_TYPE_OTA_INTRAL) { WriteToMiscAndResultFileRebootToUpdater(updateMsg, upgradeType); } else { WriteToMiscAndRebootToUpdater(updateMsg); diff --git a/services/include/updater/updater_const.h b/services/include/updater/updater_const.h index 7378ab57..95413cde 100644 --- a/services/include/updater/updater_const.h +++ b/services/include/updater/updater_const.h @@ -51,6 +51,7 @@ constexpr const char *UPLOAD_LOG_TIME_FILE = "upload_time"; constexpr const char *SDCARD_MODE = "sdcard_update"; constexpr const char *OTA_MODE = "update_package"; constexpr const char *USB_MODE = "usb_update"; +constexpr const char *OTA_INTRAL_MODE = "ota_intral_update"; constexpr const char *SDCARD_INTRAL_MODE = "sdcard_intral_update"; constexpr const char *UPDATRE_SCRIPT_ZIP = "/etc/updater_script.zip"; constexpr const char *FACTORY_INTERNAL_MODE = "factory_internal_update"; diff --git a/services/updater_utils.cpp b/services/updater_utils.cpp index 6c7c0983..d3058d41 100755 --- a/services/updater_utils.cpp +++ b/services/updater_utils.cpp @@ -187,9 +187,11 @@ bool IsMountDataAndSaveLogs(void) bool isSdCardMode = CheckUpdateMode(SDCARD_MODE); bool isUsbMode = CheckUpdateMode(USB_MODE); bool isSdCardIntralMode = CheckUpdateMode(SDCARD_INTRAL_MODE); + bool isOtaIntralMode = CheckUpdateMode(OTA_INTRAL_MODE); bool isLogMounted = GetMountStatusForMountPoint("/log") == MountStatus::MOUNT_MOUNTED; bool isDataAlreadyMounted = GetMountStatusForMountPoint("/data") == MountStatus::MOUNT_MOUNTED; - return (!(isSdCardMode || isUsbMode) && (isDataAlreadyMounted || !isLogMounted)) || isSdCardIntralMode; + return (!(isSdCardMode || isUsbMode) && (isDataAlreadyMounted || !isLogMounted)) || + isSdCardIntralMode || isOtaIntralMode; } static void DeleteUpdaterTmpFiles() diff --git a/utils/write_updater.cpp b/utils/write_updater.cpp index e8c9d9e6..0e537377 100644 --- a/utils/write_updater.cpp +++ b/utils/write_updater.cpp @@ -36,7 +36,8 @@ static void PrintPrompts() cout << "factory_reset : write_updater user_factory_reset" << endl; cout << "sdcard_update : write_updater sdcard_update" << endl; cout << "clear command : write_updater clear" << endl; - cout << "updater_para : write_updater updater_para" << endl; + cout << "updater_para : write_updater updater_para" << endl; + cout << "intral_update : write_updater ota_intral_update /data/updater/updater.zip" << endl; } static int ExceptionUpdater(int argc, char **argv, UpdateMessage &boot) @@ -128,6 +129,14 @@ int main(int argc, char **argv) cout << "strncpy_s failed!" << endl; return -1; } + } else if (strcmp(argv[1], "ota_intral_update") == 0) { + if (ExceptionUpdater(argc, argv, boot) == -1) { + return -1; + } + if (strcat_s(boot.update, sizeof(boot.update), "\n--ota_intral_update") != 0) { + cout << "strcat_s failed!" << endl; + return -1; + } } else if (strcmp(argv[1], "updater_para") == 0) { if (WriteUpdaterPara(argc, para) != 0) { return -1; -- Gitee From fe130b285c808797b35515aa2449f2c3bbf91bae Mon Sep 17 00:00:00 2001 From: hanKF Date: Tue, 25 Mar 2025 06:45:06 +0000 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9checkcode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: hanKF --- utils/write_updater.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/utils/write_updater.cpp b/utils/write_updater.cpp index 0e537377..cd27a1a2 100644 --- a/utils/write_updater.cpp +++ b/utils/write_updater.cpp @@ -130,11 +130,8 @@ int main(int argc, char **argv) return -1; } } else if (strcmp(argv[1], "ota_intral_update") == 0) { - if (ExceptionUpdater(argc, argv, boot) == -1) { - return -1; - } - if (strcat_s(boot.update, sizeof(boot.update), "\n--ota_intral_update") != 0) { - cout << "strcat_s failed!" << endl; + if (ExceptionUpdater(argc, argv, boot) == -1 || + strcat_s(boot.update, sizeof(boot.update), "\n--ota_intral_update") != 0) { return -1; } } else if (strcmp(argv[1], "updater_para") == 0) { -- Gitee From 0a3f5c5c2fbc6cf7d8937f892ab5419462d809fc Mon Sep 17 00:00:00 2001 From: hanKF Date: Sat, 29 Mar 2025 06:39:54 +0000 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: hanKF --- services/updater_utils.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/services/updater_utils.cpp b/services/updater_utils.cpp index d3058d41..6c7c0983 100755 --- a/services/updater_utils.cpp +++ b/services/updater_utils.cpp @@ -187,11 +187,9 @@ bool IsMountDataAndSaveLogs(void) bool isSdCardMode = CheckUpdateMode(SDCARD_MODE); bool isUsbMode = CheckUpdateMode(USB_MODE); bool isSdCardIntralMode = CheckUpdateMode(SDCARD_INTRAL_MODE); - bool isOtaIntralMode = CheckUpdateMode(OTA_INTRAL_MODE); bool isLogMounted = GetMountStatusForMountPoint("/log") == MountStatus::MOUNT_MOUNTED; bool isDataAlreadyMounted = GetMountStatusForMountPoint("/data") == MountStatus::MOUNT_MOUNTED; - return (!(isSdCardMode || isUsbMode) && (isDataAlreadyMounted || !isLogMounted)) || - isSdCardIntralMode || isOtaIntralMode; + return (!(isSdCardMode || isUsbMode) && (isDataAlreadyMounted || !isLogMounted)) || isSdCardIntralMode; } static void DeleteUpdaterTmpFiles() -- Gitee From 3e59ff10f5be088602d6852604cf77805a46945a Mon Sep 17 00:00:00 2001 From: hanKF Date: Sat, 29 Mar 2025 06:47:40 +0000 Subject: [PATCH 4/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B6=85=E5=A4=A7?= =?UTF-8?q?=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: hanKF --- utils/write_updater.cpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/utils/write_updater.cpp b/utils/write_updater.cpp index cd27a1a2..0676e0fe 100644 --- a/utils/write_updater.cpp +++ b/utils/write_updater.cpp @@ -104,7 +104,6 @@ int main(int argc, char **argv) PrintPrompts(); return -1; } - const std::string miscFile = "/dev/block/by-name/misc"; struct UpdateMessage boot {}; struct UpdaterPara para {}; @@ -135,10 +134,7 @@ int main(int argc, char **argv) return -1; } } else if (strcmp(argv[1], "updater_para") == 0) { - if (WriteUpdaterPara(argc, para) != 0) { - return -1; - } - return 0; + return WriteUpdaterPara(argc, para) != 0 ? -1 : 0; } else { cout << "Please input correct command!" << endl; return -1; -- Gitee