【问题标题】:Is it possible to run the BSD userland as a replacement to GNU coreutils with the linux kernel?是否可以使用 linux 内核运行 BSD 用户空间来替代 GNU coreutils?
【发布时间】:2016-04-20 01:00:37
【问题描述】:
我一直在寻找一个不适合嵌入式系统并且不使用许多流行发行版中的许多 GNU 实用程序的 linux 发行版。我想从用户空间开发一个使用 musl-libc、bsd 用户空间和 Plan 9 的(宠物项目)Linux 发行版。在我开始并可能浪费时间做不可能的事情之前,使用 BSD 用户空间作为 GNU coreutils 的替代品是否可行/实用?如果没有,有什么替代方案?
【问题讨论】:
标签:
linux
bsd
gnu-coreutils
plan-9
userland
【解决方案1】:
您的目标似乎与 stali 项目非常接近(唯一的区别是 BSD 用户空间要求)。
http://sta.li/
我对这个项目的阶段了解不多,但是你可以在项目邮件列表中获得一些帮助。
据我所知,BSD 工具使用大量直接系统调用,而很少使用 POSIX API。我不相信 bsd 人使用大量#ifdefs 编写代码来获得完全兼容的程序(但我可能是错的)...
这个烂网站将 plan9 用户空间移植到 unix(也基于 plan9port),它被称为 9base(并且可以在 archlinux repo 上安装)。
我想你会遇到我过去尝试组装类似发行版时遇到的相同问题:摆脱 GNU 付出了太多努力... C 编译器,然后你就没有好的选择了。 GCC 是 gnu 并且有几十个 gnu 依赖项,理智的 freebsd gcc 端口永远不会在 linux 上工作,原因很明显。
我目前的尝试是帮助完成 linux 的 ken-c(或 9-cc)端口。