Contents of /alx-src/tags/kernel26-2.6.12-alx-r9/Documentation/mono.txt
Parent Directory | Revision Log
Revision 630 -
(show annotations)
(download)
Wed Mar 4 11:03:09 2009 UTC (15 years, 6 months ago) by niro
File MIME type: text/plain
File size: 2558 byte(s)
Wed Mar 4 11:03:09 2009 UTC (15 years, 6 months ago) by niro
File MIME type: text/plain
File size: 2558 byte(s)
Tag kernel26-2.6.12-alx-r9
1 | Mono(tm) Binary Kernel Support for Linux |
2 | ----------------------------------------- |
3 | |
4 | To configure Linux to automatically execute Mono-based .NET binaries |
5 | (in the form of .exe files) without the need to use the mono CLR |
6 | wrapper, you can use the BINFMT_MISC kernel support. |
7 | |
8 | This will allow you to execute Mono-based .NET binaries just like any |
9 | other program after you have done the following: |
10 | |
11 | 1) You MUST FIRST install the Mono CLR support, either by downloading |
12 | a binary package, a source tarball or by installing from CVS. Binary |
13 | packages for several distributions can be found at: |
14 | |
15 | http://go-mono.com/download.html |
16 | |
17 | Instructions for compiling Mono can be found at: |
18 | |
19 | http://www.go-mono.com/compiling.html |
20 | |
21 | Once the Mono CLR support has been installed, just check that |
22 | /usr/bin/mono (which could be located elsewhere, for example |
23 | /usr/local/bin/mono) is working. |
24 | |
25 | 2) You have to compile BINFMT_MISC either as a module or into |
26 | the kernel (CONFIG_BINFMT_MISC) and set it up properly. |
27 | If you choose to compile it as a module, you will have |
28 | to insert it manually with modprobe/insmod, as kmod |
29 | can not be easily supported with binfmt_misc. |
30 | Read the file 'binfmt_misc.txt' in this directory to know |
31 | more about the configuration process. |
32 | |
33 | 3) Add the following enries to /etc/rc.local or similar script |
34 | to be run at system startup: |
35 | |
36 | # Insert BINFMT_MISC module into the kernel |
37 | if [ ! -e /proc/sys/fs/binfmt_misc/register ]; then |
38 | /sbin/modprobe binfmt_misc |
39 | # Some distributions, like Fedora Core, perform |
40 | # the following command automatically when the |
41 | # binfmt_misc module is loaded into the kernel. |
42 | # Thus, it is possible that the following line |
43 | # is not needed at all. Look at /etc/modprobe.conf |
44 | # to check whether this is applicable or not. |
45 | mount -t binfmt_misc none /proc/sys/fs/binfmt_misc |
46 | fi |
47 | |
48 | # Register support for .NET CLR binaries |
49 | if [ -e /proc/sys/fs/binfmt_misc/register ]; then |
50 | # Replace /usr/bin/mono with the correct pathname to |
51 | # the Mono CLR runtime (usually /usr/local/bin/mono |
52 | # when compiling from sources or CVS). |
53 | echo ':CLR:M::MZ::/usr/bin/mono:' > /proc/sys/fs/binfmt_misc/register |
54 | else |
55 | echo "No binfmt_misc support" |
56 | exit 1 |
57 | fi |
58 | |
59 | 4) Check that .exe binaries can be ran without the need of a |
60 | wrapper script, simply by launching the .exe file directly |
61 | from a command prompt, for example: |
62 | |
63 | /usr/bin/xsd.exe |
64 | |
65 | NOTE: If this fails with a permission denied error, check |
66 | that the .exe file has execute permissions. |