On 16/09/2016 14:14, J Mo wrote: > > The router device that I'm currently working on has some goofy failover > system where it has two roofs filesystems (UBI) on it's NAND flash. > > A special partition has a "upgrade-in-progress" bit that gets set and I > need to flip it back to 0x0 after a successful system bootup. If I > don't, the bootcmd program in u-boot detects the bit, assumes an > upgrade/installation failure, and fails back to the old/previous rootfs. > > Currently, this only affects factory installations installed from the > OEM web UI upgrade tool, but I might like to make sysupgraded > installations use it. I am not sure yet if I want to bother supporting it. > > Thus, this needs to happen only once after the system has been > upgraded/installed by a factory installation, and optionally a > sysupgrade installation. > > So my questions are: > > 1.) Is there a way to determine if the current boot was from a factory > install vs sysupgrade? not really. that would be device specific
> 2.) Where is the appropriate place to do a run-once kind of thing? Like > /etc/uci-defaults/ or sysupgrade's restore_config function. This would > be an S99-like task; run at the very end of the boot process once we are > sure the system has booted successfully. > > Any examples anyone can point me to of anything similar before I > re-invent something that might already exist? there are these target/linux/brcm63xx/base-files/etc/uci-defaults/09_fix_crc target/linux/brcm47xx/base-files/etc/uci-defaults/09_fix_crc target/linux/bcm53xx/base-files/etc/uci-defaults/09_fix_crc target/linux/ramips/base-files/etc/uci-defaults/09_fix-seama-header target/linux/ar71xx/base-files/etc/uci-defaults/09_fix-trx-header which all do essentially do what you want but for different platforms > If this had to run on every single boot, even non-upgrade boots, I could > probably work with that by checking if the upgrade-in-progress bit is > even set, but I figured I would ask if I could do a "run once after > factory install" kind of thing first. _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev