| Both sides previous revision Previous revision Next revision | Previous revision |
| linuxulator [2022/09/19 01:14] – Add Title (and alias) and Introduction section KubilayKocak | linuxulator [2023/01/29 14:30] (current) – man.freebsd.org GrahamPerrin |
|---|
| ===== Linuxulator (Linux Emulation) ===== | ===== Linuxulator (Linux Emulation) ===== |
| |
| ===== Introduction ===== | |
| |
| Linux binary compatibility, commonly referred to as Linuxulator, is a mechanism to run unmodified Linux binaries under %%FreeBSD%%. It does not involve virtual machines or emulation; instead, it provides the binaries with kernel interfaces identical to those provided by a real Linux kernel. Technically it's similar to the way 32-bit %%FreeBSD%% binaries run on top of 64-bit %%FreeBSD%% kernel. | Linux binary compatibility, commonly referred to as Linuxulator, is a mechanism to run unmodified Linux binaries under %%FreeBSD%%. It does not involve virtual machines or emulation; instead, it provides the binaries with kernel interfaces identical to those provided by a real Linux kernel. Technically it's similar to the way 32-bit %%FreeBSD%% binaries run on top of 64-bit %%FreeBSD%% kernel. |
| |
| There are two main ways to use Linuxulator. First, documented in the [[https://docs.freebsd.org/en/books/handbook/linuxemu|FreeBSD Handbook]], uses Linux applications provided as %%FreeBSD%% ports and packages, to be installed using [[https://www.freebsd.org/cgi/man.cgi?pkg|pkg(8)]]. Second, described at [[LinuxJails]], provides a full Debian/Ubuntu userspace. The former is more user-friendly, but provides a limited number of available applications. The latter is more cumbersome, but is handy when doing development work. Both can be used at the same time. | There are two main ways to use Linuxulator. First, documented in the [[https://docs.freebsd.org/en/books/handbook/linuxemu|FreeBSD Handbook]], uses Linux applications provided as %%FreeBSD%% ports and packages, to be installed using [[https://man.freebsd.org/cgi/man.cgi?pkg|pkg(8)]]. Second, described at [[LinuxJails]], provides a full Debian/Ubuntu userspace. The former is more user-friendly, but provides a limited number of available applications. The latter method is more involved, but is handy when doing development work. Both can be used at the same time. |
| |
| ===== Status ===== | ===== Status ===== |
| ===== Roadmap ===== | ===== Roadmap ===== |
| |
| * Implement NETLINK (RFC 3549), at least route part for ''%%getifaddrs%%'' and ''%%if_indextoname%%'' glibc functions | |
| * Implement PI Futexes | * Implement PI Futexes |
| * Implement linprocfs ''%%/proc/self/task/$TID/%%'' | * Implement linprocfs ''%%/proc/self/task/$TID/%%'' |