@@ -5,38 +5,45 @@ only under linux (though BSD support would probably be feasable).
5
5
6
6
Configure QEMU for irix/solaris userland emulation and compile:
7
7
8
- > configure --target-list=irix-linux-user,irixn32-linux-user,irix64-linux-user,solaris-linux-user
9
- > make && make install
8
+ ```
9
+ configure --target-list=irix-linux-user,irixn32-linux-user,irix64-linux-user,solaris-linux-user
10
+ make && make install
11
+ ```
10
12
11
13
### using
12
14
13
15
I recommend using binfmt. Prepare some wrapper scripts for each of the qemu
14
16
binaries for irix/solaris using this template:
15
17
16
- > #! /bin/sh
17
- >
18
- > ex=$1; shift
19
- > a0=$1; shift
20
- >
21
- > export QEMU_RESERVED_VA=1G
22
- > export QEMU_LD_PREFIX=<target rootfs >
23
- > export QEMU_SET_ENV=LANG=C
24
- >
25
- > exec <qemu binary > -0 $a0 $ex "$@"
18
+ ```
19
+ #! /bin/sh
20
+
21
+ ex=$1; shift
22
+ a0=$1; shift
23
+
24
+ export QEMU_RESERVED_VA=1G
25
+ export QEMU_LD_PREFIX=<target rootfs>
26
+ export QEMU_SET_ENV=LANG=C
27
+
28
+ exec <qemu binary> -0 $a0 $ex "$@"
29
+ ```
26
30
27
31
Install the binfmt (replace the QEMU* environment variables by the location of
28
32
the wrapper scripts):
29
33
30
- > echo :irix:M::'\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00':'\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef':${QEMUIRIX32}: P > /proc/sys/fs/binfmt_misc/register
31
- > echo :irixn32:M::'\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20':'\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef':${QEMUIRIXN32}: P > /proc/sys/fs/binfmt_misc/register
32
- > echo :irix64: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':${QEMUIRIX64}: P > /proc/sys/fs/binfmt_misc/register
33
- > echo :solaris: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\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff':${QEMUSOLARIS32}: P > /proc/sys/fs/binfmt_misc/register
34
+ ```
35
+ echo :irix:M::'\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00':'\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef':${QEMUIRIX32}:P > /proc/sys/fs/binfmt_misc/register
36
+ echo :irixn32:M::'\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20':'\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef':${QEMUIRIXN32}:P > /proc/sys/fs/binfmt_misc/register
37
+ echo :irix64: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':${QEMUIRIX64}:P > /proc/sys/fs/binfmt_misc/register
38
+ echo :solaris: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\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff':${QEMUSOLARIS32}:P > /proc/sys/fs/binfmt_misc/register
39
+ ```
34
40
35
41
Now you should be able to directly execute irix/solaris binaries from the shell.
36
42
As a rather simple test, try:
37
43
38
- > <target rootfs >/bin/ls
39
-
44
+ ```
45
+ <target rootfs>/bin/ls
46
+ ```
40
47
41
48
send bug reports, fixes etc to
< [email protected] >
42
49
Kai-Uwe Bloem
0 commit comments