> But I believe, not have looked much at the code yet, that the kexec() > approach would be simpler than implementing the pivot_root().
Well, certainly less issues to deal with in C code. Instead you'll be running up against debugging things relating to that file called locore.S ...