Submount, a solução para montagem de volumes em kernel 2.6

Um ponto fraco do linux em aplicações rotineiras é a montagem de volumes, principalmente quando se trata de lugares com uso constante de disquetes.Daí, há um tempo o pessoal da conectiva(sim, na época do conectiva) implementou o supermount no seu kernel.

Supermount? Que bicho é esse?

Trata-se de um patch compatível com o kernel 2.4.x, utilizado na época. Como todo patch, ele é aplciado ao código-fonte do kernel e habilitado na hora da compilação.

Sua função é fazer com que o volume indicado funcione como no sistema operacional proprietário que conhecemos bem: Um clique no ícone do drive e ele é acessado sem necessidade de montagem manual.

Essa característica tem seus prós e contras:

No linux ao montar um CD(por exemplo), o drive fica travado e enquanto estiver sendo usado, por mais que o uauário aperte o botão ejetar o cd não sai; Quando o cd é desmontado o drive é liberado.

No SO proprietário, mesmo que o cd esteja em uso(exemplo: cópia de arquivos), ao apertar o botão ejetar o cd sai, interrompendo o processod e cópia.

No entanto, no caso de disquetes essa “montagem automática” seria muito útil.

Aí entraria o supermount.

Até aí parece ser bem simples, mas aos poucos os problemas vem…

Imagine que temos um hardware muito novo para o kernel 2.4, ou que precisamos de implantações muito recentes, encontradas somente no kernel 2.6… como proceder???

No site oficial do supermount encontramos uma versão do supermount portada para o kernel 2.6, mas tive tentativas falhas ao usá-lo devido à particularidades no patch com a distribuição Gentoo, daí numa necessidade absurda de utilizar essa funcionalidade de montagem fui buscando, foi aí que conheci o submount, em suma ele faz a mesma coisa que o supermount, mas é algo mais atual, compatível específicamente com o Kernel 2.6.

Download

a versão 0.9 do submount pode ser obtida em:

http://ufpr.dl.sourceforge.net/sourceforge/submount/submount-0.9.tar.gz

 

Instalação num Debian Etch

Como root:

Precisaremos de alguns pacotes:

apt-get install make gcc build-essentials automake autoconf
cd /usr/src

mkdir submount

cd submount

wget http://ufpr.dl.sourceforge.net/sourceforge/submount/submount-0.9.tar.gz

tar -xzvf submount-0.9.tar.gz
cd submount-0.9

Dentro da pasta temos 2 subpastas:

subfs-0.9 submountd-0.9

subfs-0.9: É o subfilesystem, sistema de arquivos que identificará a mídia e mostrará-ao kernel.

submountd-0.9: Um programa que se encarregará de montar automaticamente a mídia.

Instalando o subfs

cd subfs-0.9

make

make install

instalando o submountd

cd ../submountd-0.9

./configure

make

make install

Instalação e configuração do módulo

*agora vamos entrar na pasta onde ficam os módulos do seu kernel:

/lib/modules/<versão do seu kernel>/build

dentro da pastacompile o módulo com

make modules_install
make

make install

pronto, estamos com o módulo compilado, agora vaos carregá-lo

cd /lib/modules/<versão do seu kernel>/kernel/fs/subfs
modprobe subfs

*(o kernel que você pretende instalar o módulo deve estar rodando, caso queira instalar em outro kernel faça um reboot e entre pelo kernel que deseja instalar o submount)

Utilização

Agora vem a parte mais fácil, para usar basta configurar seu fstab, vamos lá:

fazendo um backup do seu fstab original:

cp /etc/fstab /etc/fstab.original
agora edite o fstab

vi /etc/fstab

e substitua as informaços do floppy, deixando assim:

/dev/fd0 /mnt/floppy subfs fs=floppyfss,iocharset=iso8859-1,sync,umask=0 0 0

*no lugar de /mnt/floppy você pode colcoar m pondo de montagem preferido.

Pronto! Agora é reiniciar o pc e ver a coisa funcionando!

Basta acessar a pasta escolhida como ponto de montagem e o disquete será montado automáticamente e desmontado após a leitura ou gravação! Perfeito!

O mesmo pode ser feito com cdrom. No fstab ficaria algo como:

/dev/cdrom /mnt/cdrom subfs fs=cdfss,ro,iocharset=iso8859-1,umask=0 0 0

Espero ter ajudado!

Até a próxima!

Leave a Reply