vcgencmd: Use cpuinfo instead of otp_dump

On a 64-bit beta kernel a hang in vcgencmd otp_dump was observed
blocking rpi-eeprom-update and apt. Since there is another method
for obtaining the board Revision that should never block use that instead.
This commit is contained in:
Tim Gover
2019-11-29 12:45:33 +00:00
parent a84bd5c522
commit 390b4b85e1

View File

@@ -224,17 +224,18 @@ getBootloaderUpdateVersion() {
}
checkDependencies() {
if ! command -v vcgencmd > /dev/null; then
die "vcgencmd not found. On Debian, try installing the libraspberrypi-bin package."
fi
CPU_VER="$(vcgencmd otp_dump | grep 30: | cut -c8)"
if [ "${CPU_VER}" != "3" ]; then
rev="$(sed -n '/^Revision/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo)"
if [ $(((0x$rev >> 23) & 1)) -ne 0 ] && [ $(((0x$rev >> 12) & 15)) -eq 3 ]; then
echo "BCM2711 detected"
else
# Not a BCM2711, no EEPROMs to update.
exit ${EXIT_SUCCESS}
fi
if ! command -v vcgencmd > /dev/null; then
die "vcgencmd not found. On Debian, try installing the libraspberrypi-bin package."
fi
if [ ! -d "${FIRMWARE_IMAGE_DIR}" ]; then
die "EEPROM updates directory ${FIRMWARE_IMAGE_DIR} not found."
fi