mipsrun
Run binaries for MIPS machines

mipsrun is an emulator that allows to run binaries for MIPS machines on *nix-like operating systems.
mipsrun does not emulate the machines the binaries were meant to run on, but rather when the program asks to run a system call, mipsrun emulates the system call converting from and to the correct formats, so to the emulated application it looks like a system call in its native execution environment was executed.
mipsrun is written in C++, and has been tested on Linux (i386, amd64 and PPC), NetBSD (i386 and amd64) and Mac OS X 10.15. Right now it supports running binaries for Ultrix/MIPS and NEWS OS for MIPS.

Notes

Right now this program is still experimental and compatibility is still very much hit and miss
The Ultrix mode is mostly usable, the NEWS OS mode less so (many application still crash).
Here follows a very incomplete compatibility list.
In Ultrix mode the following are confirmed to run: bash, objdump, zip, tar, gzip, bzip2, ls, mkfs, ar, mkisofs, ftp (with problems), python (with problems)
In NEWS OS mode: od (from the native toolchain), tar

Linux users

It is possible to use mipsrun to execute MIPS binaries "transparently" (without having to run mipsrun explicitly) as if they were native by using binfmt_misc.

For instance, to enable running Ultrix/MIPS binaries, run in a terminal or a script (assuming the mipsrun binary is present at /usr/local/bin/mipsrun):
echo ':ultrixmips:M::\x62\x01::/usr/local/bin/mipsrun:' > /proc/sys/fs/binfmt_misc/register

To enable running NEWS OS binaries, it is similar but you first need to make a wrapper shell script:
printf '#!/bin/sh\nmipsrun -mnews $*\n' > /usr/local/bin/newsrun
chmod +x /usr/local/bin/newsrun
echo ':newsmips:M::\x01\x60::/usr/local/bin/newsrun:' > /proc/sys/fs/binfmt_misc/register

Downloads

mipsrun 0.1, released on August 18th 2017
Source code
Binary for Mac OS X

Miscellaneous
GNU objdump 2.14 20030612 for Ultrix
You can run this with mipsrun itself. Very useful if you need to disassemble MIPS COFF binaries for debugging, reverse engineering, development, etc.

License

This program is released under the MIT license.
The CPU core is based on code written by Rich Whitehouse, it is MIT licensed with an advertising clause requiring mentioning its use in the documentation and linking to www.richwhitehouse.com

Links

Several ISO images of Ultrix freeware, you need to use the RISC (mips) versions
Mirror of Ultrix GNU archive (starfish)


Last updated: August 18th, 2017
Back to Unhaut