问题
Is there any way to run a MIPS binary on a Linux x86/x86-x64 machine? I got some applications for Enigma2 set-top-boxes (which is also based on Linux) that I want to run on a x86/x86-64 machine. These plugins are only available for MIPS processors.
回答1:
The keyword is "emulator". The most famous emulator is qemu which can pretty much emulate any architectures out there, but there are also lots of MIPS emulators on Linux that you can find in the Linux-MIPS wiki:
- Open Virtual Platforms (OVP) OVPsim
- GXemul
- SimOS
- Sulima
- MIPSsim
- MipsSim
- SPIM
- VMIPS
- Virtutech Simics
- SandUPSim
- MPS
- YAMS
- MAME/MESS
- MISSE
- Cisco 7200 Simulator
- QEMU
- VirtualMIPS
- Miep
- MARS
- QtMips
Note that there are full-system emulation (which is heavier) and user-mode emulation which emulates a single process. Depending on which type you need you must choose one, but qemu supports both
- Full-system emulation: Run operating systems for any machine, on any supported architecture
- User-mode emulation: Run programs for another Linux/BSD target, on any supported architecture
However performance will be terrible so you'll never want to run an app that need to be fast like a video decoder in a set-top-box. If the source is available then just recompile it
See Decompile / Run MIPS executable under x86_64 Ubuntu
回答2:
Qemu could be your Messiah this time. I use it personally and it really saves a lot of pain using an FPGA. https://www.linux-mips.org/wiki/QEMU
Of course, this isn't natively executing the MIPS binary on your computer. But I suppose that if you can find plugin of your app coded for MIPS processors, the app itself can be found for MIPS.
来源:https://stackoverflow.com/questions/43563286/how-to-run-a-mips-binary-on-x86-platform