Following up on IRC conversation, for the record:

> Le 1 mai 2021 à 11:27, Thibaut <ha...@slashdirt.org> a écrit :

[…]

> Yes, but only the first 4K is used. What’s needed is to check whether or not 
> the rb_hardconfig driver will successfully process a 4K-only block from an 8K 
> partition. I *think* it should, but haven’t looked back at the code or tested 
> that yet.

After checking, the rb_hardconfig driver will handle this case with no problem.

> If that’s the case then adapting routerbootpart is relatively trivial.

There are two ways to deal with the hap-ac2 situation:

Either fix it globally, by making the hard_config partition auto-extend up to 
the next defined partition via the following patch:

--- a/target/linux/generic/files/drivers/mtd/parsers/routerbootpart.c
+++ b/target/linux/generic/files/drivers/mtd/parsers/routerbootpart.c
@@ -99,7 +99,7 @@ static struct routerboot_dynpart rb_dynparts[] = {
                .magic = RB_MAGIC_HARD, // stored in CPU-endianness on flash
                .size_fixup = NULL,
                .offset = 0x0,
-               .size = RB_BLOCK_SIZE,
+               .size = 0x0,
                .found = false,
        }, {
                .name = "soft_config »,

This would of course need to be confirmed working on all currently supported 
devices (I can’t think of a situation where this would break, but one never 
knows).

Alternatively, overriding the size= parameter in the hap-ac2 DTS should also 
work. It’s likely this change will be needed for other ipq-based mikrotik 
devices.

HTH,
Thibaut
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to