Eu não testei, mas em teoria (com uma distribuição recente e kernel) você pode optar por usar um initramfs ou initrd. O kernel será executado primeiro com o initramfs como root e executará seu script de inicialização. A última coisa que o script de inicialização deve fazer é chamar pivot_root
na raiz "real" montada e, em seguida, executar o% real/sbin/init
.
Se você conseguir que um initramfs ou initrd funcione, talvez você possa ajustar o script de inicialização para fazer o pivot_root no subdiretório que você quer?