CPU Transparency
What is CPU transparency
By wikipedia: "binfmt_misc is a capability of the Linux kernel which allows arbitrary executable file formats to be recognized and passed to certain user space applications, such as emulators and virtual machines."
You can just execute native binary files in your system directly by your cpu but you can execute non-native binaries by using emulators (as qemu). The binfmt_misc assigns the emulator to its binaries providing a CPU transparency feature.
With CPU transparency you can chroot to Mamona arm environment as you were chroot to a native one.
You can have just one interpreter (emulator) active at time, which means that you MUST remember to activate the right interpreter before use your non-native binaries. Fortunately Mamona has the mamona-cputransp script to make this task easier to the user.
Usage
Usage: mamona-cputransp {start|stop|restart}
Yes, it's so straightforward as it seems...
Use cases
I just use Mamona as emulated environment
Register mamona-cputransp as an init script (did you notice that it looks like a init script?).
I use Mamona together with other emulated environment (Scratchbox, for instance)
You need to activate mamona-qemu-arm interpreter before chroot to Mamona environment and you need to deactivate it before use other arm interpreter.
In other words, you CANNOT use Mamona and other emulated environment AT SAME TIME. But you can easily switch between them using mamona-cputransp.
Troubleshooting
/proc/sys/fs/binfmt_misc/register: No such file or directory
The binfmt_misc is not mounted. The most Linux distributions mount by default the binfmt_misc. Ensure that it is mounted before using mamona-cputrans.
