Escrevendo o módulo Linux Kernel para rótulos de disco não MSDOS / tabelas de partições

2

O Linux suporta um conjunto de diferentes formatos de rótulo de disco ou de tabela de partições. Por exemplo, as tabelas de partições do Sun Disk Labels e do MS-DOS são as duas etiquetas de disco que contêm (em grande parte) as mesmas informações (particionamento) em diferentes formatos. Por favor note, eu não estou me referindo a sistemas de arquivos como ext {2,3,4} mas disklabels como os msdos, GPT, Sun Disk Label, etc.

Eu gostaria de adicionar suporte para um formato de etiqueta de disco que não está atualmente no kernel, mas parece que (da navegação fs/partitions/ ) eles estão embutidos no próprio kernel, e não podem ser compilados como módulos. .

Existe algum tipo de API do kernel que eu possa usar para adicionar suporte a diferentes rótulos de disco?

Terei que recorrer a losetup ?

    
por Alexios 18.02.2012 / 19:30

1 resposta

3

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.

    
por 18.02.2012 / 19:34