[PATCH] ath79: mikrotik: erase firmware on SPI NOR devices before install

Thibaut VARÈNE hacks at slashdirt.org
Mon Aug 17 06:44:13 EDT 2020


On Mikrotik SPI NOR devices, the firmware partition must be erased when flashing
from stock firmware, otherwise leftover bits (in particular a kernel signature)
can trigger a boot loop.

When booted from initramfs (the only way to install OpenWRT on these devices),
this patch unconditionally erases the firmware partition in the do_upgrade()
stage for all supported SPI NOR devices.

This is forward-ported from ed49d0876 and 20452a8db

Signed-off-by: Thibaut VARÈNE <hacks at slashdirt.org>
---
 target/linux/ath79/mikrotik/base-files/lib/upgrade/platform.sh | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/target/linux/ath79/mikrotik/base-files/lib/upgrade/platform.sh b/target/linux/ath79/mikrotik/base-files/lib/upgrade/platform.sh
index d79bd03af5..d7fac35708 100644
--- a/target/linux/ath79/mikrotik/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ath79/mikrotik/base-files/lib/upgrade/platform.sh
@@ -38,6 +38,8 @@ platform_do_upgrade() {
 		platform_do_upgrade_mikrotik_nand "$1"
 		;;
 	*)
+		# NOR devices: erase firmware if booted from initramfs
+		[ -z "$(rootfs_type)" ] && mtd erase firmware
 		default_do_upgrade "$1"
 		;;
 	esac
-- 
2.21.1 (Apple Git-122.3)




More information about the openwrt-devel mailing list