出于教育目的,我想从 POSIX 兼容的基础开始,包括 shell、基本实用程序和 ANSI C 编译器,然后看看通过将包放在一起可以构建什么样的环境。
然而,我遇到的大多数最小的符合 POSIX 标准的操作系统似乎都是嵌入式和/或专有的。有没有这样的开源系统我可以在 Virtualbox 下轻松运行?
我搜索了一下如何构建这样的环境从头开始,但似乎要获得一个可启动/可用的环境需要做很多工作,更不用说符合 POSIX 的环境了。有一天我可能会尝试构建 POSIX 操作系统,但我首先希望事先对计算机有更多了解。
笔记:
我想我在某处听说过 Linux 并不完全符合 POSIX,但只要我能编译和构建一些更常见和必需的开源工具(如 wget 和 w3m),我会很高兴,不管它是否使用Linux内核。我想象操作系统可能附带的其他基本组件也是如此(例如 glibc)
答案1
POSIX 没有指定完整的操作系统,因此任何符合 POSIX 标准的操作系统都将具有 POSIX 中没有的命令(例如init
、mkfs
、passwd
、...)。但不同的操作系统有不同的扩展,GNU 工具(在非嵌入式 Linux 系统上可以找到)有很多。
忙碌盒是一组适用于嵌入式 Linux 系统的命令行工具。它包含 POSIX 强制要求的大部分实用程序和选项(它并不完整,但已接近)。您可以使用引导加载程序、Linux 内核、BusyBox 和水滴熊如果您想通过 SSH 登录。添加海湾合作委员会如果你想在最小系统上进行开发。
如果您喜欢从完整但较小的发行版开始,请查看迷你3。这是一个小型 UNIX 系统,用于嵌入式系统和教学。
如果您想要一个更容易扩展的系统,请查看开放BSD。 OpenBSD注重安全性,在功能上比较保守,但核心系统确实包括Perl和Apache等主要组件。