I don't know what plans there are.
But I agree that there should be a better and standardized way to manage
dual boot support in combination with partition splitters. There are
many dual booting devices where OpenWrt can boot only from the first
firmware partition, most likely because it's so
Thanks Bjørn
Clean DTS file and CONFIG_MTD_SPLIT_FIRMWARE=y were definitely needed.
In conclusion to have dual boot working from a clean checkout I needed just
kconfig_unset CONFIG_MIPS_CMDLINE_FROM_DTB
kconfig_set CONFIG_MIPS_CMDLINE_FROM_BOOTLOADER
kconfig_set CONFIG_MTD_SPLIT_FIRMWARE
Don't change the name of fw1/firmware in DT. If you change it to fw1
then it will match the cmdline definition and the of_node is copied.
And the uimage splitter will parse it based on compatible match.
What I suggest is keeping everything else as-is, but define
CONFIG_MTD_SPLIT_FIRMWARE=y
Bjorn I have tested your suggestion too but same result happens, the DTS
in my buildroot is manually edited so partitions are called fw1 and fw2
and not firmware and fw2, but the behaviour is identical
[ 0.337578] spi-nor spi0.0: w25q128 (16384 Kbytes)
[ 0.342531] mtd: Found partition
To me it looks like the uimage-fw parser isn't running at all in the
second case. I assume that is because CONFIG_MTD_SPLIT_FIRMWARE is
unset.
The reason splitting works in the first case is because of
421-drivers-mtd-parsers-add-nvmem-support-to-cmdlinepart.patch
which copies the "firmware"
Digging a bit more into the code I found the culprit
The function mtd_partition_split added by the patch
400-mtd-mtdsplit-support.patch
After finding first partition that is either named rootfs or have
"linux,rootfs" property no matter if it is contained into a "super"
partition named
Have tested a few changes based on your suggestion, all of them sadly
failed:
1) Reset kernel settings to default + Remove the whole partitions block
from librerouter dts, the image fails to be compile with an error of
missing art label (probably because uno of the partitions have that label)
Hi!
librerouterOS used to be based on OpenWrt 19
librerouterOS is basically plain OpenWrt plus safe-upgrade,
safe-upgrade is a mechanism to flash an updated firmware to a second
partition and mark it as testing, so if something goes wrong and user
doesn't confirm everything is ok, after a