Registrando extensões no kernel com o binfmt_misc

Você alguma vez já pensou que maravilha seria se quando fizesse uma chamada a um programa feito para a plataforma Windows, ele automaticamente fazendo uso do wine, se instalasse? Ou se arquivos compilados em Java se executassem sem necessariamente termos que escrever aquela enorme expressão antes do arquivo que deve ser executado? Pois essa é a função do binfmt_misc, recurso do kernel que será explicado nesse artigo.

[ Hits: 19.036 ]

Por: Roberson Carlos em 10/12/2004 | Blog: http://carlrobers.wordpress.com


Associando tipos de arquivos ao binfmt_misc



Exemplos:

Vá para o diretório /proc/sys/fs/binfmt_misc:

Ativa o suporte para pacotes de aplicação DOS (necessário ter o Dosemu instalado e pré-configurado):

# echo ':DEXE:M::\x0eDEX::/usr/bin/dosexec:' > register

Ativa o suporte para executáveis Windows fazendo uso do wine:

# echo ':DOSWin:M::MZ::/usr/local/bin/wine:' > register

Ativa o suporte para Java:

# echo ':Java:M::\xca\xfe\xba\xbe::/usr/bin/java:' > register

Ativa o suporte para Java Applets:

# echo ':Applet:E::html::/usr/bin/appletviewer:' > register
ou
# echo ':Applet:M::<!--applet::/usr/bin/appletviewer:' > register

Ativa o suporte para executáveis Jar:

# echo ':ExecutableJAR:E::JAR::/usr/bin/jar:' > register

Veja abaixo uma descrição melhor para os parâmetros:

:name:type:offset:magic:mask:interpreter:
ExecutableJARE   jar /usr/bin/jar
JavaM   \xca\xfe\xba\xbe /usr/bin/java
AppletM   <!--applet /usr/bin/appletviewer
WinM   MZ /usr/local/bin/wine


Note que os campos offset e mask não são usados, repare também na diferença que existe no campo type e veja como isto influencia no campo magic.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Configurando o binfmt_misc
   3. Associando tipos de arquivos ao binfmt_misc
   4. Ativando/Desativando o binfmt_misc
Outros artigos deste autor

Rodando jogos a partir de uma imagem ISO

Gravando CDs em modo texto

Gerando arquivos JAR com o Eclipse

Desmistificando o Linux Loader (LILO)

VNC - Virtual Network Computing

Leitura recomendada

Empacotamento de Kernel em Sistemas Debian-Based

Como compilar o kernel do Linux (testado e revisado)

Compilando um Kernel customizado a partir do código-fonte do Kernel do Debian 12

Compile e empacote o kernel com processadores ociosos em sua rede utilizando distcc, ccache e kernel-package no Debian

Compilando Kernel no CentOS 6.0

  
Comentários
[1] Comentário enviado por vodooo em 11/12/2004 - 07:39h

Cara, perfeito!!! Bom artigo!

É o linux sempre simplificando nossas vidas!!!

Abraços

[2] Comentário enviado por luiscarlos em 11/12/2004 - 11:14h

Ótimo artigo, muito bem explicado e de grande utilidade, facilita a vida dos programadores e aumenta o conhecimento dos gamados por fuçar no kernel o que eh muito prazeroso, mas soh uma perguntinha, qual foi sua fonte de pesquisa, falo por que tem um artigo muito parecido escrito pelo Morimoto em http://www.guiadohardware.net/artigos/293/ ,se foi de lah sua fonte eu acharia bastante ético vc citar a fonte, sem críticas negativas, apenas um comentário, estah de parabéns pelo artigo!!

[3] Comentário enviado por robersonfox em 13/12/2004 - 15:22h

luis0101, nao sei se você já leu algum outro artigo meu pela rede afora, mas uma vez publiquei que estava traduzindo os arquivos do linux, incluindo o diretório /etc e tambem o kernel, eu os traduzi completamente usando um português ´xulo´, pois eu estava cansado do dialeto mecanico que os computadores nos retornam, nesta epoca eu traduzindo o kernel encontrei um arquivo explicativo, e a partir dele criei este, entendeu?
Valeu.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts