Не нужно делать ничего слишком сложного. Просто вызовите kexec
, чтобы загрузить новое ядро. Это не могло быть проще ... если только ваше старое ядро не было каким-то образом скомпилировано без поддержки kexec.
Взгляните на UBOOT, у меня это работало в прошлом.
Вы можете использовать это даже для чтения файловых систем, но должно позволить вам переключаться между несколькими изображениями. Таким образом вы всегда перезаписываете образ, который в данный момент не используете, и перенастраиваете uboot для запуска обновления при сбросе.