Re: Module Java dans le noyau Linux
Extrait de http://www.docmaster.org/articles/linux070.htm :
********************************************************************
le répertoire sys/fs contient également le sous-répertoire binfmt_misc qui
permet de contrôler les types d'exécutables reconnus par le noyau.
binfmt_misc permet de déclarer de nouveaux types de fichiers exécutables au
noyau sans avoir à le recompiler. Le système fonctionne en repérant les
exécutables soit par nombre magique ("magic number" en anglais) ou soit par
extension du nom de fichier.
Une fois que le noyau a reconnu un type d'exécutable, l'interpréteur associé
sera invoqué avec le nom du fichier exécutable passé en paramètre. Le
répertoire binfmt_misc contient les fichiers register et status, plus un
fichier par format déclaré. La syntaxe standard pour déclarer un nouveau
type d'exécutable est la suivante :
echo :nom:type:offset:magic:mask:interpréteur >
/proc/sys/fs/binfmt_misc/register
Un exemple valant mieux qu'un long discours, voyons comment utiliser ce
système pour permettre au noyau d'exécuter directement des applications
Windows (grâce à l'émulateur Wine) et des scripts Python.
echo ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register
echo ':Python:E::py::/usr/bin/python:' > /proc/sys/fs/binfmt_misc/register
La lettre `M' ou `E' indique si le repère pour déterminer le type du fichier
sera son magic numer ou l'extension du nom de fichier (les deux premiers
caractères d'un exécutable Windows sont toujours MZ).
# ls -al /proc/sys/fs/binfmt_misc/
dr-xr-xr-x 2 root root 0 May 1 16:55 .
dr-xr-xr-x 3 root root 0 May 1 16:55 ..
-rw-r--r-- 1 root root 0 May 1 16:55 DOSWin
-rw-r--r-- 1 root root 0 May 1 16:55 Python
-w-------- 1 root root 0 May 1 16:55 register
-rw-r--r-- 1 root root 0 May 1 16:55 status
# cat /proc/sys/fs/binfmt_misc/Python
enabled
interpreter /usr/bin/python
extension .py
Essayons maintenant d'exécuter directement un script Python.
# cat > test.py
print 'hello'
^D
# chmod +x test.py
# ./test.py
hello
Ca marche !
Le fichier status quant à lui permet de déterminer si la fonctionnalité
binfmt_misc est activée ou non.
# cat /proc/sys/fs/binfmt_misc/status
enabled
Vous pouvez de même changer cette valeur en écrivant 0 (désactiver) ou 1
(activer) dans ce fichier. Chaque format enregistré crée un fichier dans le
répertoire binfmt_misc. Ceux-ci ont la même fonction que le fichier status,
à la différence qu'ils ne s'appliquent par à la fonctionnalité, mais
seulement au format en question.
********************************************************************
----- Original Message -----
From: "Frédéric Bothamy" <fbothamy@mail.dotcom.fr>
To: <debian-user-french@lists.debian.org>
Sent: Friday, October 25, 2002 4:02 PM
Subject: Re: Module Java dans le noyau Linux
> * MEDDOUR Djamal Eddine thesard FTRD/DAC/LAN
<djamaleddine.meddour@rd.francetelecom.com> [2002-10-25 14:54] :
> > Salut
> >
> > Excuse moi mais par l'intermédiaire du module binfmt_misc c'est quoi son
intérêt donc ?
>
> Je n'ai jamais essayé personnellement, mais d'après la documentation
> du noyau, il est possible d'exécuter des programmes compilés Java,
> Python, Emacs, DOS ou Windows en les lançant de la ligne de commande
> (i.e. pas besoin de spécifier un lanceur comme wine, python, emacs,
> dosemu, java). Le noyau reconnaît le type de fichier à exécuter et
> invoque l'interpréteur associé (à définir avant, bien sûr).
>
> Pour plus d'information et quelques exemples, voir le fichier
> $(KERNEL_SOURCE)/Documentation/binfmt_misc.txt.
>
> Fred
>
>
> --
> To UNSUBSCRIBE, email to debian-user-french-request@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact
listmaster@lists.debian.org
>
> ___________________________________________________________________
> Haut Débit: Modem offert soit 150,92 euros remboursés sur le Pack eXtense
de Wanadoo !
> Profitez du Haut Débit à partir de 30 euros/mois :
http://www.ifrance.com/_reloc/w
___________________________________________________________________
Haut Débit: Modem offert soit 150,92 euros remboursés sur le Pack eXtense de Wanadoo !
Profitez du Haut Débit à partir de 30 euros/mois : http://www.ifrance.com/_reloc/w
Reply to: