distribution/packages/sysutils/busybox/scripts/rpi-flash-firmware
2022-02-05 09:23:32 -05:00

42 lines
1.1 KiB
Bash
Executable file

#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
FLAG_FILE="/storage/.rpi_flash_firmware"
. /usr/lib/libreelec/functions
hidecursor
if [ -f "${FLAG_FILE}" ]; then
. ${FLAG_FILE}
rm -f "${FLAG_FILE}"
if ! mount -o remount,rw /flash 2>/dev/null; then
echo "ERROR: Unable to mount /flash as a read/write file system."
echo
echo "Aborting Flash update process - please proceed with a manual update."
echo
StartProgress countdown "Rebooting in 15s... " 15 "NOW"
reboot -f &>/dev/null
fi
# Install new bootloader and/or USB3 firmware files to /flash
# Firmware flashing will occur during the next boot, after
# which the system will again reboot.
# Old firmware files will be automatically removed by init.
CMD_ARGS=""
[ "${BOOTLOADER}" = "yes" ] && CMD_ARGS="${CMD_ARGS} -A bootloader"
[ "${VL805}" = "yes" ] && CMD_ARGS="${CMD_ARGS} -A vl805"
if [ -n "${CMD_ARGS}" ]; then
USE_FLASHROM=0 /usr/bin/.rpi-eeprom-update.real ${CMD_ARGS}
fi
sync
mount -o remount,ro /flash
fi
reboot -f &>/dev/null