]>
Commit | Line | Data |
---|---|---|
08785f48 | 1 | #!/bin/sh |
a4c075f1 | 2 | # enable automatic i386/ARM/M68K/MIPS/SPARC/PPC/s390 program execution by the kernel |
08785f48 FB |
3 | |
4 | # load the binfmt_misc module | |
1e0e6d8b TS |
5 | if [ ! -d /proc/sys/fs/binfmt_misc ]; then |
6 | /sbin/modprobe binfmt_misc | |
7 | fi | |
8 | if [ ! -f /proc/sys/fs/binfmt_misc/register ]; then | |
9 | mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc | |
10 | fi | |
08785f48 FB |
11 | |
12 | # probe cpu type | |
13 | cpu=`uname -m` | |
14 | case "$cpu" in | |
644d6777 | 15 | i386|i486|i586|i686|i86pc|BePC|x86_64) |
08785f48 FB |
16 | cpu="i386" |
17 | ;; | |
1e0e6d8b TS |
18 | m68k) |
19 | cpu="m68k" | |
20 | ;; | |
21 | mips*) | |
22 | cpu="mips" | |
23 | ;; | |
08785f48 FB |
24 | "Power Macintosh"|ppc|ppc64) |
25 | cpu="ppc" | |
26 | ;; | |
644d6777 | 27 | armv[4-9]*) |
08785f48 FB |
28 | cpu="arm" |
29 | ;; | |
30 | esac | |
31 | ||
32 | # register the interpreter for each cpu except for the native one | |
33 | if [ $cpu != "i386" ] ; then | |
909a8762 FB |
34 | echo ':i386:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/local/bin/qemu-i386:' > /proc/sys/fs/binfmt_misc/register |
35 | echo ':i486:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x06\x00:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/local/bin/qemu-i386:' > /proc/sys/fs/binfmt_misc/register | |
08785f48 | 36 | fi |
da1f1402 RH |
37 | if [ $cpu != "alpha" ] ; then |
38 | echo ':alpha:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x26\x90:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/local/bin/qemu-alpha:' > /proc/sys/fs/binfmt_misc/register | |
39 | fi | |
08785f48 | 40 | if [ $cpu != "arm" ] ; then |
909a8762 FB |
41 | echo ':arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/local/bin/qemu-arm:' > /proc/sys/fs/binfmt_misc/register |
42 | echo ':armeb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-armeb:' > /proc/sys/fs/binfmt_misc/register | |
08785f48 FB |
43 | fi |
44 | if [ $cpu != "sparc" ] ; then | |
909a8762 | 45 | echo ':sparc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-sparc:' > /proc/sys/fs/binfmt_misc/register |
08785f48 FB |
46 | fi |
47 | if [ $cpu != "ppc" ] ; then | |
909a8762 FB |
48 | echo ':ppc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-ppc:' > /proc/sys/fs/binfmt_misc/register |
49 | fi | |
1e0e6d8b TS |
50 | if [ $cpu != "m68k" ] ; then |
51 | echo 'Please check cpu value and header information for m68k!' | |
540635ba | 52 | echo ':m68k:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x04:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-m68k:' > /proc/sys/fs/binfmt_misc/register |
1e0e6d8b | 53 | fi |
909a8762 | 54 | if [ $cpu != "mips" ] ; then |
1e0e6d8b | 55 | # FIXME: We could use the other endianness on a MIPS host. |
909a8762 FB |
56 | echo ':mips:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-mips:' > /proc/sys/fs/binfmt_misc/register |
57 | echo ':mipsel:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/local/bin/qemu-mipsel:' > /proc/sys/fs/binfmt_misc/register | |
540635ba TS |
58 | echo ':mipsn32:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-mipsn32:' > /proc/sys/fs/binfmt_misc/register |
59 | echo ':mipsn32el:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/local/bin/qemu-mipsn32el:' > /proc/sys/fs/binfmt_misc/register | |
60 | echo ':mips64:M::\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-mips64:' > /proc/sys/fs/binfmt_misc/register | |
61 | echo ':mips64el:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/local/bin/qemu-mips64el:' > /proc/sys/fs/binfmt_misc/register | |
08785f48 | 62 | fi |
644d6777 RV |
63 | if [ $cpu != "sh" ] ; then |
64 | echo ':sh4:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a\x00:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/local/bin/qemu-sh4:' > /proc/sys/fs/binfmt_misc/register | |
65 | echo ':sh4eb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-sh4eb:' > /proc/sys/fs/binfmt_misc/register | |
90f2cefb | 66 | fi |
a4c075f1 UH |
67 | if [ $cpu != "s390x" ] ; then |
68 | echo ':s390x:M::\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x16:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-s390x:' > /proc/sys/fs/binfmt_misc/register | |
644d6777 | 69 | fi |