Starnix is a runner that allows unmodified Linux programs to run on a Fuchsia system. Linux programs on Fuchsia are run in a user-space process whose system interface is compatible with the Linux ABI (application binary interface). Instead of using the Linux kernel to implement this interface, Fuchsia implements the interface in a Fuchsia user-space program called Starnix. Starnix then serves as a compatibility layer that translates requests (syscalls) from Linux programs to the appropriate Fuchsia subsystems.
Table of contents
- Making Linux syscalls in Fuchsia: Describes how Starnix handles Linux system calls in Fuchsia.
- Starnix container: Explains how Starnix containers enable Linux binaries to run in different Linux environments.
- Architecture of the Starnix VFS: Explains the key concepts and structure of Starnix's virtual file system (VFS).
Additional resources
- For detailed information on Starnix's design, see RFC-0082: Running unmodified Linux programs on Fuchsia.
- For instructions on running Linux programs, tests, and interactive consoles,
see Starnix's
README.md
file. - For standard coding patterns and best practices, see the Starnix development section.