Flash recovery kernel before update 60/158660/1 accepted/tizen/4.0/unified/20171103.030245 submit/tizen_4.0/20171102.100452
authorSunmin Lee <sunm.lee@samsung.com>
Thu, 2 Nov 2017 09:32:24 +0000 (18:32 +0900)
committerSunmin Lee <sunm.lee@samsung.com>
Thu, 2 Nov 2017 09:40:40 +0000 (18:40 +0900)
In Tizen 3.0, the recovery kernel was not exist, neither.
Therefore it should be flashed in advance like ramdisk, ramdisk-recovery.

Change-Id: I5ad7d9667d18756fc2e7a5202f2b7ad7de30be45
Signed-off-by: Sunmin Lee <sunm.lee@samsung.com>
packaging/tota-ua.spec
scripts/wearable/upgrade-trigger-wearable.sh

index 7eafeaf..ffeb89a 100755 (executable)
@@ -1,7 +1,7 @@
 Name:          tota-ua
 Summary:       fota update agent
 ExclusiveArch:         %{arm}
-Version:       1.0.0
+Version:       1.0.1
 Release:       0
 Group:         System
 License:       Apache-2.0
index 0b71aca..95dd6c3 100755 (executable)
@@ -4,33 +4,45 @@ FOTA_DIR="$TZ_SYS_GLOBALUSER_DATA/fota/save"
 STATUS_DIR="/opt/data/recovery"
 VERSION_FILE="/opt/etc/version"
 
-flash_initrd() {
-       echo "Flash initrd..."
+flash_image() {
+       echo "Flash new images..."
        DEVICE="/dev/mmcblk0"
-       INITRD_INFO=("ramdisk.img" "ramdisk1" "1024")
-       INITRD_RECOVERY_INFO=("ramdisk-recovery.img" "ramdisk2" "1024")
+       RAMDISK_PART=("ramdisk.img" "ramdisk" "1024")
+       RECOVERY_PART=("ramdisk-recovery.img" "ramdisk2" "1024")
+       RECOVERY_KERN=("zImage-recovery" "recovery" "1024")
 
-# Flash initrd
-       /bin/tar xvfp $1 -C $FOTA_DIR ${INITRD_INFO[0]}
-       if [ ! -e "$FOTA_DIR/${INITRD_INFO[0]}" ]; then
-               echo "There is no ${INITRD_INFO[0]}"
-               return 1
+# Flash ramdisk partition
+       /bin/tar xvfp $1 -C $FOTA_DIR ${RAMDISK_PART[0]}
+       if [ ! -e "$FOTA_DIR/${RAMDISK_PART[0]}" ]; then
+               echo "There is no ${RAMDISK_PART[0]}"
+       else
+               PART_NUM=$(partx -s $DEVICE | grep ${RAMDISK_PART[1]} | awk '{print $1}')
+               echo "Flashing ${RAMDISK_PART[0]}..."
+               dd if="$FOTA_DIR/${RAMDISK_PART[0]}" of="$DEVICE"p"$PART_NUM" bs="${RAMDISK_PART[2]}"
+               rm -f $FOTA_DIR/${RAMDISK_PART[0]}
        fi
-       PART_NUM=$(partx -s $DEVICE | grep ${INITRD_INFO[1]} | awk '{print $1}')
-       echo "Flashing initrd..."
-       dd if="$FOTA_DIR/${INITRD_INFO[0]}" of="$DEVICE"p"$PART_NUM" bs="${INITRD_INFO[2]}"
-       rm -f $FOTA_DIR/${INITRD_INFO[0]}
 
-# Flash initrd-recovery
-       /bin/tar xvfp $1 -C $FOTA_DIR ${INITRD_RECOVERY_INFO[0]}
-       if [ ! -e "$FOTA_DIR/${INITRD_RECOVERY_INFO[0]}" ]; then
-               echo "There is no ${INITRD_RECOVERY_INFO[0]}"
-               return 1
+# Flash recovery partition
+       /bin/tar xvfp $1 -C $FOTA_DIR ${RECOVERY_PART[0]}
+       if [ ! -e "$FOTA_DIR/${RECOVERY_PART[0]}" ]; then
+               echo "There is no ${RECOVERY_PART[0]}"
+       else
+               PART_NUM=$(partx -s $DEVICE | grep ${RECOVERY_PART[1]} | awk '{print $1}')
+               echo "Flashing ${RECOVERY_PART[0]}..."
+               dd if="$FOTA_DIR/${RECOVERY_PART[0]}" of="$DEVICE"p"$PART_NUM" bs="${RECOVERY_PART[2]}"
+               rm -f $FOTA_DIR/${RECOVERY_PART[0]}
+       fi
+
+# Flash recovery kernel
+       /bin/tar xvfp $1 -C $FOTA_DIR ${RECOVERY_KERN[0]}
+       if [ ! -e "$FOTA_DIR/${RECOVERY_KERN[0]}" ]; then
+               echo "There is no ${RECOVERY_KERN[0]}"
+       else
+               PART_NUM=$(partx -s $DEVICE | grep ${RECOVERY_KERN[1]} | awk '{print $1}')
+               echo "Flashing ${RECOVERY_KERN[0]}..."
+               dd if="$FOTA_DIR/${RECOVERY_KERN[0]}" of="$DEVICE"p"$PART_NUM" bs="${RECOVERY_KERN[2]}"
+               rm -f $FOTA_DIR/${RECOVERY_KERN[0]}
        fi
-       PART_NUM=$(partx -s $DEVICE | grep ${INITRD_RECOVERY_INFO[1]} | awk '{print $1}')
-       echo "Flashing initrd-recovery..."
-       dd if="$FOTA_DIR/${INITRD_RECOVERY_INFO[0]}" of="$DEVICE"p"$PART_NUM" bs="${INITRD_RECOVERY_INFO[2]}"
-       rm -f $FOTA_DIR/${INITRD_RECOVERY_INFO[0]}
 }
 
 write_version_info() {
@@ -52,16 +64,15 @@ if [ ! -d "$STATUS_DIR" ]; then
        /bin/mkdir -p "$STATUS_DIR"
 fi
 
-#  Record version info in target if it doesn't exist
-#   (in case of Tizen 3.0)
+# Record version info in target if it doesn't exist
 ls "$VERSION_FILE"
 if [ $? -ne 0 ]; then
        write_version_info
 fi
 
-# Flash initrd images
-#  - in case of Tizen 3.0
-flash_initrd $1
+# Flash new images
+#  - This operation for Tizen 3.0
+flash_image $1
 
 # Extract delta.ua
 echo "Extract delta.ua..."