From 8d4af8db9705eb96bac82c3aa6a18afe331510df Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Mon, 28 Sep 2020 10:31:42 +0100 Subject: [PATCH] rpi-eeprom-update: Use multiple sources for BOARD_INFO Try device-tree, then cpuinfo and failing that raw OTP. --- rpi-eeprom-update | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/rpi-eeprom-update b/rpi-eeprom-update index a5ffecd..7496974 100755 --- a/rpi-eeprom-update +++ b/rpi-eeprom-update @@ -268,7 +268,15 @@ getBootloaderUpdateVersion() { } checkDependencies() { - BOARD_INFO="$(od -v -An -t x1 /sys/firmware/devicetree/base/system/linux,revision | tr -d ' \n')" + + if [ -f "/sys/firmware/devicetree/base/system/linux,revision" ]; then + BOARD_INFO="$(od -v -An -t x1 /sys/firmware/devicetree/base/system/linux,revision | tr -d ' \n')" + elif grep -q Revision /proc/cpuinfo; then + BOARD_INFO="$(sed -n '/^Revision/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo)" + else + BOARD_INFO="$(vcgencmd otp_dump | grep '30:' | sed 's/.*://')" + fi + if [ $(((0x$BOARD_INFO >> 23) & 1)) -ne 0 ] && [ $(((0x$BOARD_INFO >> 12) & 15)) -eq 3 ]; then echo "BCM2711 detected" else