uboot-airoha: increase the size of reserved_bmt partition
The vendor firmware checks for a bmt header in the last 528 erase blocks
of flash. The OpenWrt partition table did not respect that requirement,
and therefore the vendor and openwrt chainloader fight over those blocks
on every boot, potentially corrupting data stored in UBI blocks there.
This commit increases the size of the reserved_bmt partition to avoid
that fight.
Although the vendor bootloader only seems to touch the final 250 erase
blocks[1], the original vendor firmware system partition ended at
0x1be00000[2], so to be conservative, the consensus is to use that as
the end of mtd2 (ubi) partition and leave the last 528 blocks for mtd3
(reserved_bmt).
From https://openwrt.org/toh/gemtek/mxf-w1700k:
[1] OEM bootlog: [ 5.324337] bmt pool size: 250
[2] OEM bootlog: [ 5.478927] 0x000008600000-0x00001be00000 : "system"
For the backport to OpenWrt 25.12, the device support has not yet been
committed, so revising the compat_version in this commit is not needed;
and instead will be handled by revising the pending device support
commit.
Reported-by: Loïc Yhuel <loic.yhuel@gmail.com>
Signed-off-by: Russell Senior <russell@personaltelco.net>
Link: https://github.com/openwrt/openwrt/pull/23061
(cherry picked from commit ee771d3dd0)
Link: https://github.com/openwrt/openwrt/pull/22294
Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
parent
887f21e21a
commit
4729793b91
@ -276,13 +276,13 @@ Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
|
||||
+
|
||||
+ ubi@700000 {
|
||||
+ label = "ubi";
|
||||
+ reg = <0x00700000 0x1f700000>;
|
||||
+ reg = <0x00700000 0x1b700000>;
|
||||
+ };
|
||||
+
|
||||
+ /* reserved for bad block table */
|
||||
+ reserved_bmt@1fe00000 {
|
||||
+ reserved_bmt@1be00000 {
|
||||
+ label = "reserved_bmt";
|
||||
+ reg = <0x1fe00000 0x00200000>;
|
||||
+ reg = <0x1be00000 0x04200000>;
|
||||
+ read-only;
|
||||
+ };
|
||||
+ };
|
||||
|
||||
Loading…
Reference in New Issue
Block a user