Add support for setting upgrade type
authorMateusz Moscicki <m.moscicki2@partner.samsung.com>
Fri, 28 Jun 2024 10:54:06 +0000 (12:54 +0200)
committerJaehoon Chung <jh80.chung@samsung.com>
Mon, 28 Oct 2024 11:28:46 +0000 (20:28 +0900)
Upgrade type (online or offline) is set by HAL API.
Depending on the type selected during bootmode=FOTA ramdisk (online) or
ramdisk-recovery (offline) will be picked as boot partition.

Change-Id: Ifb7372b0da9a3df83bbf7a979fdb4035feade8ee

include/samsung/tizen_riscv.h
include/samsung/tizen_rpi.h
tizen/bootscript/tizen-boot-rpi4.scr
tizen/bootscript/tizen-boot-vf2.scr

index ee0d74f19ab2c99db7c4d3c671b3f780863d1a16..28c793065bc4a4d8f86cf542f69a9904ed8c7fdf 100644 (file)
        "informname=inform\0"                   \
        "bootname=boot_a\0"                     \
        "rebootparamfile=reboot-param.bin\0"    \
+       "upgradetypefile=upgrade-type.info\0"   \
        "slotfile=partition-ab.info\0"  \
        "slot_addr=0x82200000\0"                \
        "rebootparam_addr=0x82100000\0"         \
+       "upgradetype_addr=0x82300000\0"         \
+       "upgradetype_online_val=696c6e6f\0"     \
        "upgrade_val=72677075\0"                \
        "recovery_val=72766372\0"               \
        "nodef_val=6665646e\0"                  \
index d9c582ebc5ec670177abacd4bdcf78fc9ac09c89..b7593e13d97664ed3f69f5f4326abe4c0e2a2046 100644 (file)
 # 0x72766372 is ascii code for representing string "rcvr"
 # 0x6665646e is ascii code for representing string "ndef"
 # 0x6c6e7764 is ascii code for representing string "dwnl"
+# 0x696c6e6f is ascii code for representing string "onli"
 */
 #define TIZEN_ENV_SETTING \
        "kernel=" KERNEL_NAME "\0"              \
        "dfu_alt_info=" DFU_ALT_SYSTEM "\0"     \
        "informpart=9\0"                        \
        "rebootparamfile=reboot-param.bin\0"    \
+       "upgradetypefile=upgrade-type.info\0"   \
        "slotfile=partition-ab.info\0"  \
        "slot_addr=0x02200000\0"                \
        "rebootparam_addr=0x02100000\0"         \
+       "upgradetype_addr=0x02300000\0"         \
+       "upgradetype_online_val=696c6e6f\0"     \
        "upgrade_val=72677075\0"                \
        "recovery_val=72766372\0"               \
        "nodef_val=6665646e\0"                  \
index b797ec33211c10daa81eab9f6b2c49f680601ded..c9f15843fdb740b30707206339193a1bb52fba00 100644 (file)
@@ -57,6 +57,12 @@ if test -e $devtype $devnum:$informpart $rebootparamfile; then;
        if itest.l *${rebootparam_addr} == ${upgrade_val}; then;
                setenv partition_name "ramdisk-recovery"
                setenv bootmode "fota"
+               if test -e $devtype $devnum:$informpart $upgradetypefile; then;
+                       ext4load $devtype $devnum:$informpart $upgradetype_addr $upgradetypefile;
+                       if itest.l *${upgradetype_addr} == ${upgradetype_online_val}; then;
+                               setenv partition_name "ramdisk"
+                       fi
+               fi
        elif itest.l *${rebootparam_addr} == ${recovery_val}; then;
                setenv partition_name "ramdisk-recovery"
                setenv bootmode "recovery"
index 4c112da14aa956f119e8dc247848d3607e789197..89ccbf94cbc6d732c326af07861cf79de5d650ac 100644 (file)
@@ -51,6 +51,12 @@ if test -e $devtype $devnum:$informpart $rebootparamfile; then;
        if itest.l *${rebootparam_addr} == ${upgrade_val}; then;
                setenv partition_name "ramdisk-recovery"
                setenv bootmode "fota"
+               if test -e $devtype $devnum:$informpart $upgradetypefile; then;
+                       ext4load $devtype $devnum:$informpart $upgradetype_addr $upgradetypefile;
+                       if itest.l *${upgradetype_addr} == ${upgradetype_online_val}; then;
+                               setenv partition_name "ramdisk"
+                       fi
+               fi
        elif itest.l *${rebootparam_addr} == ${recovery_val}; then;
                setenv partition_name "ramdisk-recovery"
                setenv bootmode "recovery"