I have remote embedded Linux devices I am trying to update to a new kernel without having to physically access. However, the command line options they boot with make one of the MTDs read only - I cannot modify the kernel, and U-Boot is only accessible over a physical, serial connection.
kexec support was not installed.
I am trying to build kexec myself, but not having any success. I have built the kexec from kexec-tools, but when I attempt to load a kernel, I get:
kexec_load failed: Function not implemented
Is there any way I can salvage this situation? Can kexec be made as a single binary executable? I have seen on forums where people have suggested they were using it this way, but I cannot seem to build it as such.
Edit: If making kexec work is not an option, is there any way I can get access to MTD0? I don't have access to one of the devices this second, but there's something like /proc/something/devices/virtual/mtd0/ro, which is 1, and if I chmod 777 it I can echo 0 > to it without any errors, but it doesn't stick.