sábado, 29 de dezembro de 2007

/proc/misc: No entry for device-mapper found

Faz tempo que não faço um post assim, sobre resolução de pequenos problemas não é ?? Mas hoje estou fazendo pois finalmente descobri como resolver o problema relacionado à mensagem do título: "/proc/misc: No entry for device-mapper found" que aparece quando você vai instalar um kernel novo e chama o lilo para escrever o bootloader na MBR ou na partição principal ...

Bom, o problema sempre ocorria, independente de qualquer opção que eu colocasse no lilo.conf, como o warning do LBA32, compilação dos módulos SATA e IDE como módulos ou como built-in. No entanto, a solução envolvia algo que eu não sabia nem que existia ... LVM.

Bom, antes de mais nada, vamos à definição do LVM:
"O Logical Volume Manager - LVM é nativo do AIX, o UNIX da IBM e é largamente utilizado naquele sistema que na sua instalação já o implementa. O LVM tráz uma nova filosofia no que se refere a gerenciamento de discos e sistemas de arquivos."

Bom, primeiramente, achei que o problema poderia estar relacionado com alguma dependência do lilo com alguma biblioteca. Então, chamei o seguinte comando:
root@gondolin:/usr/src/linux# ldd /sbin/lilo
linux-gate.so.1 => (0xb7fa7000)
libdevmapper.so.1.02 => /lib/libdevmapper.so.1.02 (0xb7f70000)
libc.so.6 => /lib/libc.so.6 (0xb7e2e000)
/lib/ld-linux.so.2 (0xb7fa8000)

Aparemente, tudo normal. Então, especulando pelo IRC, me perguntaram se o módulo dm-mod estava carregado, e eu disse que não sabia ... Tentei carregar o módulo e nada, o módulo não estava compilado ...

Fuçando mais um pouco, achei: O problema era que o suporte a LVM não estava compilado, na minha compilação personalizada do kernel. Então, simplesmente fui lá, compilei uma nova versão com o LVM adicionado, e adicionei o dm-mod no /etc/rc.d/rc.modules e o problema foi resolvido.

Fontes:
http://groups.google.com/group/alt.os.linux.slackware/browse_thread/thread/7dfdc4fc52028d6e?hl=en
http://www.gentoo.org/doc/pt_br/lvm2.xml
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=871