Ne, jádra z různých implementací operačních systémů unixového stylu nejsou zaměnitelná, zejména proto, že všechna představují různá rozhraní ke zbytku systému (uživatelský prostor) – jejich systémová volání (včetně ioctl
specifika), různé virtuální systémy souborů, které používají...
Co je na úrovni zdroje do určité míry zaměnitelné, je kombinace jádra a knihovny C, nebo spíše rozhraní API na uživatelské úrovni, která jádro a knihovny odhalují (v podstatě pohled na vrstvu popsaný POSIXem, bez s ohledem na to, zda je ve skutečnosti POSIX). Příklady tohoto zahrnují Debian GNU/kFreeBSD, který staví systém Debian nad jádrem FreeBSD, a Debian GNU/Hurd, který staví systém Debian nad Hurd.
Není to úplně na úrovni zaměnitelnosti jádra, ale byly pokusy standardizovat společné binární rozhraní aplikací, aby bylo možné používat binární soubory na různých systémech bez nutnosti rekompilace. Jedním příkladem je Intel Binary Compatibility Standard, který umožňuje binárním souborům, které mu vyhovují, běžet na jakémkoli unixovém systému, který jej implementuje, včetně starších verzí Linuxu s vrstvou iBCS 2. Použil jsem to na konci 90. let ke spuštění WordPerfect na Linuxu.
Viz také Jak vytvořit chroot FreeBSD v Linuxu.
Některá jádra mají binární kompatibilitu, která vám umožňuje kombinovat programy v uživatelském prostoru s různými ABI (např. freebsd může do určité míry pracovat s linuxovými binárními soubory) – nicméně základní binární soubory (např. program init, zavaděč modulů, nástroje pro nastavení ovladače zařízení, knihovna C , nástroje potřebné k nastavení souborových systémů... ) budou v praxi potřebovat příliš mnoho informací o rozhraních na úrovni jádra, aby úspěšně zavedly systém s cizím jádrem.
Souborové systémy by také musely být kompatibilní. Také binární možnosti kompatibility by musely být "natvrdo" zkompilovány do jádra - cokoli implementované jako modul jádra by chtělo selhat, protože byste nemohli spustit zavaděč modulů.
Jak již bylo zmíněno, uživatelská prostředí bývají poněkud přenosná, pokud jste ochotni provést rekompilaci – jako například debian systémy založené na freebsd nebo nastavení systému netbsd pkgsrc na linuxu (naprosto netriviální, ale podporované a možné!).