mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-27 14:14:24 +08:00
970e248649
Usage of /etc/modprobe.conf file was deprecated by module-init-tools and is no longer parsed by new kmod tool. References to this file are replaced in Documentation, comments and Kconfig according to the context. There are also some references to the old /etc/modules.conf from 2.4 kernels that are being removed. Signed-off-by: Lucas De Marchi <lucas.demarchi@profusion.mobi> Acked-by: Takashi Iwai <tiwai@suse.de> Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
67 lines
2.5 KiB
Plaintext
67 lines
2.5 KiB
Plaintext
Mono(tm) Binary Kernel Support for Linux
|
|
-----------------------------------------
|
|
|
|
To configure Linux to automatically execute Mono-based .NET binaries
|
|
(in the form of .exe files) without the need to use the mono CLR
|
|
wrapper, you can use the BINFMT_MISC kernel support.
|
|
|
|
This will allow you to execute Mono-based .NET binaries just like any
|
|
other program after you have done the following:
|
|
|
|
1) You MUST FIRST install the Mono CLR support, either by downloading
|
|
a binary package, a source tarball or by installing from CVS. Binary
|
|
packages for several distributions can be found at:
|
|
|
|
http://go-mono.com/download.html
|
|
|
|
Instructions for compiling Mono can be found at:
|
|
|
|
http://www.go-mono.com/compiling.html
|
|
|
|
Once the Mono CLR support has been installed, just check that
|
|
/usr/bin/mono (which could be located elsewhere, for example
|
|
/usr/local/bin/mono) is working.
|
|
|
|
2) You have to compile BINFMT_MISC either as a module or into
|
|
the kernel (CONFIG_BINFMT_MISC) and set it up properly.
|
|
If you choose to compile it as a module, you will have
|
|
to insert it manually with modprobe/insmod, as kmod
|
|
cannot be easily supported with binfmt_misc.
|
|
Read the file 'binfmt_misc.txt' in this directory to know
|
|
more about the configuration process.
|
|
|
|
3) Add the following entries to /etc/rc.local or similar script
|
|
to be run at system startup:
|
|
|
|
# Insert BINFMT_MISC module into the kernel
|
|
if [ ! -e /proc/sys/fs/binfmt_misc/register ]; then
|
|
/sbin/modprobe binfmt_misc
|
|
# Some distributions, like Fedora Core, perform
|
|
# the following command automatically when the
|
|
# binfmt_misc module is loaded into the kernel
|
|
# or during normal boot up (systemd-based systems).
|
|
# Thus, it is possible that the following line
|
|
# is not needed at all.
|
|
mount -t binfmt_misc none /proc/sys/fs/binfmt_misc
|
|
fi
|
|
|
|
# Register support for .NET CLR binaries
|
|
if [ -e /proc/sys/fs/binfmt_misc/register ]; then
|
|
# Replace /usr/bin/mono with the correct pathname to
|
|
# the Mono CLR runtime (usually /usr/local/bin/mono
|
|
# when compiling from sources or CVS).
|
|
echo ':CLR:M::MZ::/usr/bin/mono:' > /proc/sys/fs/binfmt_misc/register
|
|
else
|
|
echo "No binfmt_misc support"
|
|
exit 1
|
|
fi
|
|
|
|
4) Check that .exe binaries can be ran without the need of a
|
|
wrapper script, simply by launching the .exe file directly
|
|
from a command prompt, for example:
|
|
|
|
/usr/bin/xsd.exe
|
|
|
|
NOTE: If this fails with a permission denied error, check
|
|
that the .exe file has execute permissions.
|