From b445afc79d8d9a4ad92b026ddfe6b4b2f99284c7 Mon Sep 17 00:00:00 2001 From: Sven Eckelmann Date: Thu, 19 May 2016 20:20:47 +0200 Subject: scripts/om-fwupgradecfg-gen.sh: add support for the MR1750 Signed-off-by: Sven Eckelmann Backport of r46928 --- scripts/om-fwupgradecfg-gen.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'scripts/om-fwupgradecfg-gen.sh') diff --git a/scripts/om-fwupgradecfg-gen.sh b/scripts/om-fwupgradecfg-gen.sh index e1329549b8..c790214854 100644 --- a/scripts/om-fwupgradecfg-gen.sh +++ b/scripts/om-fwupgradecfg-gen.sh @@ -7,7 +7,7 @@ # usage() { - echo "Usage: $0 " + echo "Usage: $0 " rm -f $CFG_OUT exit 1 } @@ -26,7 +26,7 @@ case $CE_TYPE in FLASH_BS=262144 MD5_SKIP_BLOCKS=1 ;; - OM5P|MR600|MR900) + OM5P|MR600|MR900|MR1750) MAX_PART_SIZE=7808 KERNEL_FLASH_ADDR=0xb0000 FLASH_BS=65536 -- cgit v1.2.3 From d6cd09a0d0c80f4b7a726cb85c82cfe631e6b88e Mon Sep 17 00:00:00 2001 From: Sven Eckelmann Date: Thu, 19 May 2016 20:21:01 +0200 Subject: scripts/om-fwupgradecfg-gen.sh: Fix u-boot image md5sum check The u-boot on Open Mesh devices checks the whole transfered image against a md5sum. This is stored inside the option filemd5sum inside the fwupgrade.cfg. The bootloader will not check it when this setting is missing and could therefore write invalid images to the flash. Signed-off-by: Sven Eckelmann Backport of r46925 --- scripts/om-fwupgradecfg-gen.sh | 3 +++ 1 file changed, 3 insertions(+) (limited to 'scripts/om-fwupgradecfg-gen.sh') diff --git a/scripts/om-fwupgradecfg-gen.sh b/scripts/om-fwupgradecfg-gen.sh index c790214854..fab1582854 100644 --- a/scripts/om-fwupgradecfg-gen.sh +++ b/scripts/om-fwupgradecfg-gen.sh @@ -48,6 +48,7 @@ ROOTFS_FLASH_ADDR=$(addr=$(($KERNEL_FLASH_ADDR + ($KERNEL_PART_SIZE * 1024))); p ROOTFS_SIZE=$(stat -c%s "$ROOTFS_PATH") ROOTFS_CHECK_BLOCKS=$((($ROOTFS_SIZE / $CHECK_BS) - $MD5_SKIP_BLOCKS)) ROOTFS_MD5=$(md5=$(dd if=$ROOTFS_PATH bs=$CHECK_BS count=$ROOTFS_CHECK_BLOCKS 2>&- | md5sum); echo ${md5%% *}) +ROOTFS_MD5_FULL=$(md5=$(md5sum $ROOTFS_PATH); echo ${md5%% *}) ROOTFS_CHECK_SIZE=$(printf '0x%x' $(($ROOTFS_CHECK_BLOCKS * $CHECK_BS))) ROOTFS_PART_SIZE=$(($MAX_PART_SIZE - $KERNEL_PART_SIZE)) @@ -55,6 +56,7 @@ cat << EOF > $CFG_OUT [vmlinux] filename=kernel md5sum=$KERNEL_MD5 +filemd5sum=$KERNEL_MD5 flashaddr=$KERNEL_FLASH_ADDR checksize=0x0 cmd_success=setenv bootseq 1,2; setenv kernel_size_1 $KERNEL_PART_SIZE; saveenv @@ -63,6 +65,7 @@ cmd_fail=reset [rootfs] filename=rootfs md5sum=$ROOTFS_MD5 +filemd5sum=$ROOTFS_MD5_FULL flashaddr=$ROOTFS_FLASH_ADDR checksize=$ROOTFS_CHECK_SIZE cmd_success=setenv bootseq 1,2; setenv kernel_size_1 $KERNEL_PART_SIZE; setenv rootfs_size_1 $ROOTFS_PART_SIZE; saveenv -- cgit v1.2.3 From d64a7f65b377300a38bfdd500f473f6054d0c291 Mon Sep 17 00:00:00 2001 From: Sven Eckelmann Date: Thu, 19 May 2016 20:21:02 +0200 Subject: scripts/om-fwupgradecfg-gen.sh: Generate sha256sum for uboot verification Future Open Mesh u-boot versions are changing the check of the image files (vmlinux, rootfs) from md5 to sha256. Having both in them should be enough to ensure backward and forward compatibility. Signed-off-by: Sven Eckelmann Backport of r49140 --- scripts/om-fwupgradecfg-gen.sh | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'scripts/om-fwupgradecfg-gen.sh') diff --git a/scripts/om-fwupgradecfg-gen.sh b/scripts/om-fwupgradecfg-gen.sh index fab1582854..e208e6d366 100644 --- a/scripts/om-fwupgradecfg-gen.sh +++ b/scripts/om-fwupgradecfg-gen.sh @@ -42,6 +42,7 @@ CHECK_BS=65536 KERNEL_SIZE=$(stat -c%s "$KERNEL_PATH") KERNEL_MD5=$(md5=$(md5sum $KERNEL_PATH); echo ${md5%% *}) +KERNEL_SHA256=$(openssl dgst -sha256 $KERNEL_PATH | awk '{print $2}') KERNEL_PART_SIZE=$(size=$(($KERNEL_SIZE / $FLASH_BS)); [ $(($size * $FLASH_BS)) -lt $KERNEL_SIZE ] && size=$(($size + 1)); echo $(($size * $FLASH_BS / 1024))) ROOTFS_FLASH_ADDR=$(addr=$(($KERNEL_FLASH_ADDR + ($KERNEL_PART_SIZE * 1024))); printf "0x%x" $addr) @@ -49,6 +50,7 @@ ROOTFS_SIZE=$(stat -c%s "$ROOTFS_PATH") ROOTFS_CHECK_BLOCKS=$((($ROOTFS_SIZE / $CHECK_BS) - $MD5_SKIP_BLOCKS)) ROOTFS_MD5=$(md5=$(dd if=$ROOTFS_PATH bs=$CHECK_BS count=$ROOTFS_CHECK_BLOCKS 2>&- | md5sum); echo ${md5%% *}) ROOTFS_MD5_FULL=$(md5=$(md5sum $ROOTFS_PATH); echo ${md5%% *}) +ROOTFS_SHA256_FULL=$(openssl dgst -sha256 $ROOTFS_PATH | awk '{print $2}') ROOTFS_CHECK_SIZE=$(printf '0x%x' $(($ROOTFS_CHECK_BLOCKS * $CHECK_BS))) ROOTFS_PART_SIZE=$(($MAX_PART_SIZE - $KERNEL_PART_SIZE)) @@ -57,6 +59,7 @@ cat << EOF > $CFG_OUT filename=kernel md5sum=$KERNEL_MD5 filemd5sum=$KERNEL_MD5 +filesha256sum=$KERNEL_SHA256 flashaddr=$KERNEL_FLASH_ADDR checksize=0x0 cmd_success=setenv bootseq 1,2; setenv kernel_size_1 $KERNEL_PART_SIZE; saveenv @@ -66,6 +69,7 @@ cmd_fail=reset filename=rootfs md5sum=$ROOTFS_MD5 filemd5sum=$ROOTFS_MD5_FULL +filesha256sum=$ROOTFS_SHA256_FULL flashaddr=$ROOTFS_FLASH_ADDR checksize=$ROOTFS_CHECK_SIZE cmd_success=setenv bootseq 1,2; setenv kernel_size_1 $KERNEL_PART_SIZE; setenv rootfs_size_1 $ROOTFS_PART_SIZE; saveenv -- cgit v1.2.3 From 5b9f6412ed47b4e836625fb7969ad4e0af223599 Mon Sep 17 00:00:00 2001 From: Sven Eckelmann Date: Thu, 19 May 2016 20:21:05 +0200 Subject: scripts/om-fwupgradecfg-gen.sh: add support for the OM5P-AC Signed-off-by: Sven Eckelmann Backport of r49143 --- scripts/om-fwupgradecfg-gen.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'scripts/om-fwupgradecfg-gen.sh') diff --git a/scripts/om-fwupgradecfg-gen.sh b/scripts/om-fwupgradecfg-gen.sh index e208e6d366..6c3b74cc1c 100644 --- a/scripts/om-fwupgradecfg-gen.sh +++ b/scripts/om-fwupgradecfg-gen.sh @@ -7,7 +7,7 @@ # usage() { - echo "Usage: $0 " + echo "Usage: $0 " rm -f $CFG_OUT exit 1 } @@ -26,7 +26,7 @@ case $CE_TYPE in FLASH_BS=262144 MD5_SKIP_BLOCKS=1 ;; - OM5P|MR600|MR900|MR1750) + OM5P|OM5PAC|MR600|MR900|MR1750) MAX_PART_SIZE=7808 KERNEL_FLASH_ADDR=0xb0000 FLASH_BS=65536 -- cgit v1.2.3