kpartx
usa as ferramentas do mapeador de dispositivos para criar dispositivos sobre a mídia subjacente; você deve ser capaz de implementar seu analisador de partição no espaço do usuário e criar mapeamentos DM que exponham partes do sistema subjacente ao kernel como dispositivos de bloco.
Isso o isenta de toda a complexidade do trabalho no kernel, e ainda deve suportar a inicialização através de um initramfs, se necessário.