In order to boot between maintenance and rootfs there is need to save some environment variables. The current grub-efi recipe doesn't allow to save the environment at boot time, there is needed some change in the configuration before compilation. Also, there is need to create the grub environment in the first boot of the target. This can't be done when creating the rootfs because the grubenv would be in another partition.
Closing this in favour of specific bugs or specific submissions from real world use cases.