|
|
|
CC = gcc
|
|
|
|
CFLAGS += -Wall
|
|
|
|
LDFLAGS += -lubox
|
|
|
|
|
|
|
|
obj = mtd.o jffs2.o crc32.o md5.o
|
|
|
|
obj.seama = seama.o md5.o
|
|
|
|
obj.wrg = wrg.o md5.o
|
|
|
|
obj.wrgg = wrgg.o md5.o
|
|
|
|
obj.tpl = tpl_ramips_recoveryflag.o
|
|
|
|
obj.ar71xx = trx.o $(obj.seama) $(obj.wrgg)
|
|
|
|
obj.ath79 = $(obj.seama)
|
|
|
|
obj.gemini = $(obj.wrgg)
|
|
|
|
obj.brcm = trx.o
|
|
|
|
obj.bcm47xx = $(obj.brcm)
|
|
|
|
obj.bcm53xx = $(obj.brcm) $(obj.seama)
|
|
|
|
obj.bcm63xx = imagetag.o
|
|
|
|
obj.ramips = $(obj.seama) $(obj.tpl) $(obj.wrg) linksys_bootcount.o
|
|
|
|
obj.mvebu = linksys_bootcount.o
|
|
|
|
obj.kirkwood = linksys_bootcount.o
|
|
|
|
obj.ipq806x = linksys_bootcount.o
|
mtd: base-files: Unify dual-firmware devices (Linksys)
Consistently handle boot-count reset and upgrade across
ipq40xx, ipq806x, kirkwood, mvebu
Dual-firmware devices often utilize a specific MTD partition
to record the number of times the boot loader has initiated boot.
Most of these devices are NAND, typically with a 2k erase size.
When this code was ported to the ipq40xx platform, the device in hand
used NOR for this partition, with a 16-byte "record" size. As the
implementation of `mtd resetbc` is by-platform, the hard-coded nature
of this change prevented proper operation of a NAND-based device.
* Unified the "NOR" variant with the rest of the Linksys variants
* Added logging to indicate success and failure
* Provided a meaningful return value for scripting
* "Protected" the use of `mtd resetbc` in start-up scripts so that
failure does not end the boot sequence
* Moved Linksys-specific actions into common `/etc/init.d/bootcount`
For upgrade, these devices need to determine which partition to flash,
as well as set certain U-Boot envirnment variables to change the next
boot to the newly flashed version.
* Moved upgrade-related environment changes out of bootcount
* Combined multiple flashes of environment into single one
* Current-partition detection now handles absence of `boot_part`
Runtime-tested: Linksys EA8300
Signed-off-by: Jeff Kletsky <git-commits@allycomm.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
[checkpatch.pl fixes, traded split strings for 80+ chars per line]
5 years ago
|
|
|
obj.ipq40xx = linksys_bootcount.o
|
|
|
|
|
|
|
|
ifdef FIS_SUPPORT
|
|
|
|
obj += fis.o
|
|
|
|
endif
|
|
|
|
|
|
|
|
mtd: $(obj) $(obj.$(TARGET))
|
|
|
|
clean:
|
|
|
|
rm -f *.o jffs2
|