brcm2708: implement sysupgrade image check
Implement a crude but functioning sysupgrade image check for the Raspberry Pi. The code only checks if the master boot record boot signature (0x55aa) is present in the first 512-bytes at the correct location. This can prevent the odd bricking of a system when flashing the wrong file. Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
This commit is contained in:
parent
9dee77795d
commit
3339f41d26
@ -1,5 +1,19 @@
|
|||||||
|
get_magic_at() {
|
||||||
|
local file="$1"
|
||||||
|
local pos="$2"
|
||||||
|
get_image "$file" | dd bs=1 count=2 skip="$pos" 2>/dev/null | hexdump -v -n 2 -e '1/1 "%02x"'
|
||||||
|
}
|
||||||
|
|
||||||
platform_check_image() {
|
platform_check_image() {
|
||||||
# i know no way to verify the image
|
local file="$1"
|
||||||
|
local magic
|
||||||
|
|
||||||
|
magic=$(get_magic_at "$file" 510)
|
||||||
|
[ "$magic" != "55aa" ] && {
|
||||||
|
echo "Failed to verify MBR boot signature."
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user