temp/u-boot-pinephone: written data checksum validation (MR 2155)
This commit is contained in:
parent
9620ea0093
commit
b3ba1b4c45
2 changed files with 25 additions and 2 deletions
|
@ -35,13 +35,16 @@ build() {
|
|||
cat configs/pinephone_defconfig | grep CONFIG_DRAM_CLK
|
||||
make O="$BUILD_DIR-$freq" HOSTCC=gcc ARCH=arm pinephone_defconfig
|
||||
make O="$BUILD_DIR-$freq" HOSTCC=gcc ARCH=arm all
|
||||
sha512sum -b "$BUILD_DIR-$freq/u-boot-sunxi-with-spl.bin" > "$BUILD_DIR-$freq/u-boot-sunxi-with-spl.bin.sha512"
|
||||
done
|
||||
}
|
||||
|
||||
package() {
|
||||
for freq in $frequencies; do
|
||||
install -D -m644 "build-$freq/u-boot-sunxi-with-spl.bin" \
|
||||
"$pkgdir"/usr/share/u-boot/pine64-pinephone/u-boot-sunxi-with-spl-$freq.bin
|
||||
"$pkgdir/usr/share/u-boot/pine64-pinephone/u-boot-sunxi-with-spl-$freq.bin"
|
||||
install -D -m644 "build-$freq/u-boot-sunxi-with-spl.bin.sha512" \
|
||||
"$pkgdir/usr/share/u-boot/pine64-pinephone/u-boot-sunxi-with-spl-$freq.bin.sha512"
|
||||
done
|
||||
install -D -m 755 "$srcdir"/update-u-boot "$pkgdir"/usr/sbin/update-u-boot
|
||||
}
|
||||
|
@ -49,5 +52,5 @@ package() {
|
|||
sha512sums="
|
||||
73b132cdc26113a83d060f0d243320ca989b4efa98fe95a2205526a42f615ced7046bb9d4878c67a9a550b04c2519d90be3c2272be97c878d759bf5d027cf536 u-boot-7492749fec31b1086bc8933bf113a766aea021aa.tar.gz
|
||||
3cba8a0e899be8cb0b9260b7a86d4115f74c279a1bac8c1403ee669adf91dca8215d8d2d6395ebb3cd67ce000f37a51d6e033b62a8d616b346a9072fa58a4b70 0001-expose-DRAM-clock-speed.patch
|
||||
3a0f2b96dc16ba0e38609b65243d41e3021cbd8fabb6e53ef8ae4ff82720e00feb0e5b83f03901c386cf3892c401be7b34bd689055aab045379801608a5965b4 update-u-boot
|
||||
df23f3009430dfb8afc4129a47cd73f182178c91eefef5fa9dab65088115c87e66d37f13e72a9f4280c3f6aeb18bbea0f28830905e260d872a01cae1da00b0e8 update-u-boot
|
||||
"
|
||||
|
|
|
@ -85,6 +85,25 @@ options:
|
|||
EOF
|
||||
}
|
||||
|
||||
validate_checksum() {
|
||||
file="$1"
|
||||
file_sha512="$file.sha512"
|
||||
file_size=$(stat -c%s $file)
|
||||
device="$2"
|
||||
bs="$3"
|
||||
seek="$4"
|
||||
|
||||
checksum0=$(cat $file_sha512 | awk {'print $1'})
|
||||
checksum1=$(dd if=$device bs=1 skip=$(($seek * $bs)) count=$file_size status=none | sha512sum | awk {'print $1'})
|
||||
if [ "$checksum0" != "$checksum1" ]; then
|
||||
echo "File: $checksum0"
|
||||
echo "Part: $checksum1"
|
||||
die "Checksum failed"
|
||||
fi
|
||||
echo "Successful U-Boot image checksum verification on $device :"
|
||||
echo -e "\t$checksum1"
|
||||
}
|
||||
|
||||
while [ $# -gt 0 ]; do
|
||||
opt="$1"
|
||||
shift
|
||||
|
@ -184,6 +203,7 @@ pinebookpro|rockpro64)
|
|||
pinephone)
|
||||
[ -e "$imagedir/pine64-pinephone/" ] || die "pinephone images not installed, apk add u-boot-pinephone"
|
||||
$dryrun dd if=$imagedir/pine64-pinephone/u-boot-sunxi-with-spl-$freq.bin of=$device bs=1024 seek=8 oflag=direct status=none
|
||||
[ -z "$dryrun" ] && validate_checksum $imagedir/pine64-pinephone/u-boot-sunxi-with-spl-$freq.bin $device 1024 8
|
||||
;;
|
||||
esac
|
||||
$dryrun sync
|
||||
|
|
Loading…
Reference in a new issue