A slightly esoteric question. As far as I understand, my AC86 has 2 sets of system partitions, one active, the other contains the prior firmware, and will get the next one (_update partitions below).
After an update, rootfs and rootfs_update will swap, so the prior version will remain in the inactive set. Here is the relevant log with an update in between, where the partitions got swapped judging by the addresses:
Question: can I boot the inactive set of partitions by some simple command? Basically, I want to boot the prior firmware that I had without writing it again. Some variable somewhere tells the router which set of partitions to boot - is it possible to flip that manually without hammering the flash too much? It's doable on Android if it has A/B partition sets, but what about here?
Code:
admin@RT-AC86U-9988:/# cat /proc/mtd
dev: size erasesize name
mtd0: 05aa0000 00020000 "rootfs"
mtd1: 05a80000 00020000 "rootfs_update"
mtd2: 00800000 00020000 "data"
mtd3: 00100000 00020000 "nvram"
mtd4: 05f00000 00020000 "image_update"
mtd5: 05f00000 00020000 "image"
mtd6: 00460000 00020000 "bootfs"
mtd7: 00480000 00020000 "bootfs_update"
mtd8: 00100000 00020000 "misc3"
mtd9: 02f00000 00020000 "misc2"
mtd10: 00800000 00020000 "misc1"
mtd11: 0557e000 0001f000 "rootfs_ubifs"
After an update, rootfs and rootfs_update will swap, so the prior version will remain in the inactive set. Here is the relevant log with an update in between, where the partitions got swapped judging by the addresses:
Code:
Jun 4 12:45:00 kernel: 0x000006460000-0x00000bf00000 : "rootfs"
Jun 4 12:45:00 kernel: 0x000000580000-0x000006000000 : "rootfs_update"
Jun 4 12:45:00 kernel: ubi0: attached mtd0 (name "rootfs", size 90 MiB)
Jun 4 12:45:00 kernel: UBIFS (ubi0:0): UBIFS: mounted UBI device 0, volume 0, name "rootfs_ubifs", R/O mode
Jun 4 18:00:04 kernel: >>>>> For primary mtd partition rootfs, cferam/vmlinux.lz mounted as JFFS2, vmlinux fs mounted as UBIFS <<<<<
Jun 4 18:00:04 kernel: Secondary mtd partition rootfs_update detected as JFFS2 for cferam/vmlinux source and UBIFS for vmlinux filesystem
Jun 4 18:00:04 kernel: 0x000000580000-0x000006000000 : "rootfs"
Jun 4 18:00:04 kernel: 0x000006460000-0x00000bf00000 : "rootfs_update"
Jun 4 18:00:04 kernel: ubi0: volume 0 ("rootfs_ubifs") re-sized from 592 to 705 LEBs
Question: can I boot the inactive set of partitions by some simple command? Basically, I want to boot the prior firmware that I had without writing it again. Some variable somewhere tells the router which set of partitions to boot - is it possible to flip that manually without hammering the flash too much? It's doable on Android if it has A/B partition sets, but what about here?