最近由于项目需要,需要在AR9331芯片单板(原来是4MBFlash,后来扩充到16MB Flash)上,实现openwrt双版本机制. 双版本的好处,主要是:在升级版本过程中,如果遇到断电等情况,不至于导致设备无法启动.因为至少有一个版本是完好的,虽然可能旧了一点. 基于此需求,需要实现的功能,包括: 1.改造uboot,能识别此款16MB Flash 2.改造uboot,能找到Flash中的所有可引导的内核版本,以及对应的rootfs:并选择合适的(较新的)内核进行引导 3.在rootfs中…