ath79/mikrotik: disable building NAND images
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>
Sun, 27 Dec 2020 19:33:57 +0000 (20:33 +0100)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Sun, 27 Dec 2020 19:33:57 +0000 (20:33 +0100)
The current support for MikroTik NAND-based devices relies on a
gross hack that packs the kernel into a static YAFFS stub, as the
stock bootloader only supports booting a YAFFS-encapsulated kernel.

The problem with this approach is that since the kernel partition is
blindly overwritten without any kind of wear or badblock management
(due to lack of proper support for YAFFS in OpenWRT), the NAND flash
is not worn uniformly and eventually badblocks appear, leading to
unbootable devices.

This issue has been reported here [1] and discussed in more detail
here [2].

[1] https://forum.openwrt.org/t/rb433-bad-sector-cannot-start-openwrt/71519
[2] https://github.com/openwrt/openwrt/pull/3026#issuecomment-673597461

Until a proper fix is found (or the stock bootloader supports other
filesystems), we disable building these images to prevent unknowing
users from risking their devices.

Thanks to Thibaut Varène for summarizing the details above.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
target/linux/ath79/image/common-mikrotik.mk

index b0c3feda20ccc5cc2db2b25016d5dad0a7363772..6e739f2d85be2ef4df97228dfd3a3a714a7610c3 100644 (file)
@@ -17,4 +17,5 @@ define Device/mikrotik_nand
   IMAGE/sysupgrade.bin = append-kernel | kernel2minor -s 2048 -e -c | \
        sysupgrade-tar kernel=$$$$@ | append-metadata
   DEVICE_PACKAGES := nand-utils
+  DEFAULT := n
 endef