Ответ очевиден: если дергать питание в момент записи во флэш сбои БУДУТ!
Сама по себе система openwrt стабильна. Правда вызывает недоумение их подход с оверлейной фс. В "боевом" изделии самопроизвольный возврат к default = отказ. Наверно это под роутеры для тупиц сделано. Поэтому я бы выкинул разделение разделов на RO и RW.
JFFS2 на NOR флэш работает вполне стабильно чтобы rootfs размещать в ней напрямую.
В старых версиях, да в роутерах, никаких jffs2 нет. Там тупенько - заведен раздел mtd на один блок стирания и в него пишут переменные, в текстовом виде
. Если во время записи произошло что-то, что не читается первые 3 байта ID в этом разделе, то берутся переменные из /etc/.... файла. Спасает это дело только то, что запись переменных редкая и короткая по времени.
В новых версиях OpenWRT (да и давно уже), тупо пишут всё в RW раздел, ожидая что jffs2 их спасет если что. Но всякие зависимости переменных в разных файлах не проверяются, как и последовательность их записи.
А переписывать всё - дурное дело, т.к. на отладку этого бардака, да и в исключительных специальных ситуациях, уйдет много времени... Видать и в OpenWRT внедрилось поколение Arduino.
Последнее, самое простое решение у меня вышло так - создаем раздел jffs2 на пару мегабайт и в него пишем общий и единый конфиг. Единый - значит синхронный, что спасает от зависимостей.