Using binfmt_misc

Up to now, what we have discussed is how to load an ARM shared library in the Intel x86 architecture. Houdini can also support running standalone ARM applications on Intel devices as well. To do this, it uses a mechanism called binfmt_misc. binfmt_misc, which is a capability of the Linux kernel that allows arbitrary executable file formats to be recognized and passed to certain user space applications, such as emulators and virtual machines.

According to the Linux kernel documentation, this kernel feature allows you to invoke almost every program by simply typing its name in the shell. This includes, for example, compiled Java (TM), Python, or Emacs. To achieve this, you must tell binfmt_misc which interpreter should be ...

Get Android System Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.