From: Mateusz Moscicki Date: Fri, 28 Jun 2024 10:54:06 +0000 (+0200) Subject: Add support for setting upgrade type X-Git-Tag: accepted/tizen/unified/x/20240708.014816~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3b26e4c27a53045550c1c6dbb06995309df751af;p=platform%2Fkernel%2Fu-boot.git Add support for setting upgrade type 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 --- diff --git a/include/samsung/tizen_riscv.h b/include/samsung/tizen_riscv.h index ee0d74f19a..28c793065b 100644 --- a/include/samsung/tizen_riscv.h +++ b/include/samsung/tizen_riscv.h @@ -44,9 +44,12 @@ "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" \ diff --git a/include/samsung/tizen_rpi.h b/include/samsung/tizen_rpi.h index d9c582ebc5..b7593e13d9 100644 --- a/include/samsung/tizen_rpi.h +++ b/include/samsung/tizen_rpi.h @@ -92,15 +92,19 @@ # 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" \ diff --git a/tizen/bootscript/tizen-boot-rpi4.scr b/tizen/bootscript/tizen-boot-rpi4.scr index b797ec3321..c9f15843fd 100644 --- a/tizen/bootscript/tizen-boot-rpi4.scr +++ b/tizen/bootscript/tizen-boot-rpi4.scr @@ -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" diff --git a/tizen/bootscript/tizen-boot-vf2.scr b/tizen/bootscript/tizen-boot-vf2.scr index 4c112da14a..89ccbf94cb 100644 --- a/tizen/bootscript/tizen-boot-vf2.scr +++ b/tizen/bootscript/tizen-boot-vf2.scr @@ -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"