rpi: tizen-boot-rpi4: calculate tizen_kernel_addr_r with ramdisk's size 41/236641/2
authorJaehoon Chung <jh80.chung@samsung.com>
Fri, 19 Jun 2020 03:56:33 +0000 (12:56 +0900)
committerJaehoon Chung <jh80.chung@samsung.com>
Mon, 22 Jun 2020 02:14:45 +0000 (11:14 +0900)
Calculate tizen_kernel_addr_r with ramdisk's size.
When ramdisk size is increased, kernel loading offset will be also
increased. It can prevent to overwrite the images.

Change-Id: Icc900b726f46683e5104be7f8ab31f36934f12b5
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
board/raspberrypi/rpi/tizen-boot-rpi4-32b.scr
board/raspberrypi/rpi/tizen-boot-rpi4.scr

index 35bfb05..194793f 100644 (file)
@@ -55,6 +55,10 @@ setenv bootargs \"${tizen_bootarg} root=/dev/${rootdev} rw bootmode=${bootmode}
 part start $bootdev $mmcrootdev $ramdiskpart ramdisk_start
 part size $bootdev $mmcrootdev $ramdiskpart ramdisk_size
 
+# Set to ramdisksize with real partition size. (Need to multiply block-size 0x200)
+setexpr ramdisksize $ramdisk_size * 200
+setexpr tizen_kernel_addr_r $ramdisk_addr_r + $ramdisksize
+
 echo "Searching for kernel in"; for prefix in $boot_prefixes; do
 if load $bootdev $mmcbootdev:$mmcbootpart $tizen_kernel_addr_r $prefix$kernel; then;
        echo ${bootmode} "boot";
@@ -63,8 +67,7 @@ if load $bootdev $mmcbootdev:$mmcbootpart $tizen_kernel_addr_r $prefix$kernel; t
                echo "Loading Ramdisk from partition"${ramdiskpart};
                mmc read $ramdisk_addr_r $ramdisk_start $ramdisk_size;
        fi
-# Set to ramdisksize with real partition size. (Need to multiply block-size 0x200)
-       setexpr ramdisksize $ramdisk_size * 200
+
        bootz $tizen_kernel_addr_r $ramdisk_addr_r:$ramdisksize $fdt_addr;
 fi
 done
index 0785339..a213668 100644 (file)
@@ -55,6 +55,10 @@ setenv bootargs \"${tizen_bootarg} root=/dev/${rootdev} rw bootmode=${bootmode}
 part start $bootdev $mmcrootdev $ramdiskpart ramdisk_start
 part size $bootdev $mmcrootdev $ramdiskpart ramdisk_size
 
+# Set to ramdisksize with real partition size. (Need to multiply block-size 0x200)
+setexpr ramdisksize $ramdisk_size * 200
+setexpr tizen_kernel_addr_r $ramdisk_addr_r + $ramdisksize
+
 echo "Searching for kernel in"; for prefix in $boot_prefixes; do
 if load $bootdev $mmcbootdev:$mmcbootpart $tizen_kernel_addr_r $prefix$kernel; then;
        echo ${bootmode} "boot";
@@ -63,8 +67,7 @@ if load $bootdev $mmcbootdev:$mmcbootpart $tizen_kernel_addr_r $prefix$kernel; t
                echo "Loading Ramdisk from partition"${ramdiskpart};
                mmc read $ramdisk_addr_r $ramdisk_start $ramdisk_size;
        fi
-# Set to ramdisksize with real partition size. (Need to multiply block-size 0x200)
-       setexpr ramdisksize $ramdisk_size * 200
+
        booti $tizen_kernel_addr_r $ramdisk_addr_r:$ramdisksize $fdt_addr_r;
 fi
 done