我正在运行 arch linux。我想尝试 openbsd,但不覆盖任何机器,也不使用虚拟机(我不想使用 X11。VirtualBox 界面很笨重,我宁愿不用它)所以我的下一个合乎逻辑的结论是创建一个 chroot,在其中安装 openBSD,然后 chroot 到其中以获得 openBSD 体验,但使用 linux 内核空间,然后重新启动。我担心安全问题,所以我不想以 root 身份执行许多操作,我不想保留不重要的文件。
我正在考虑创建/mnt/openBSD
一个 openBSD 镜像到 ~/bsd,编译所有内容并配置安装到 /mnt/openBSD/[whatever] 但感觉我忘记了一些重要的东西。我忘记了什么?
答案1
我非常怀疑这是否能正常工作。由于两个操作系统都使用相同的二进制格式(极低频),这在“理论上”应该是可能的。但实际上他们只共享一小部分 API(POSIX)。
Linux 可执行文件获取动态链接器进入头文件部分(通常类似于/lib/ld-linux.so
)。这也是一个可执行文件。操作系统内核在创建新进程时读取此文件,然后加载并执行此其他可执行二进制文件。在 openbsd 的 chroot 环境中没有这样的链接器,因为 bsd 有自己的链接器。
此外,bsd 的系统调用和库调用接口与 linux 不同。所以 linux 不知道 bsd 的系统调用。有趣的是,bsd 有一个兼容性对于 Linux 二进制文件来说,但不是反向的。
结论:如果你只是想“尝试” openbsd,为什么不尝试一下实时 USB 记忆棒是 openbsd 的吗?