如何从源代码正确构建 FreeBSD?

Mat*_* G. 1 unix bsd freebsd makefile

我正在尝试从源代码构建 FreeBSD 以了解它是如何工作的。我用谷歌搜索了如何做到这一点,大多数解释如何构建世界的网站都告诉我在源代码目录中运行此命令:

sudo make -j1 buildworld KERNCONF=MODEDKERNEL -DNO_CLEAN
Run Code Online (Sandbox Code Playgroud)

由于某种原因,我不断收到此错误......

make: invalid option -- 'D'
make: invalid option -- 'N'
Run Code Online (Sandbox Code Playgroud)

有人知道怎么修这个东西吗?可以在这里Makefile找到

Mad*_*ist 6

我们不需要查看 makefile,因为这个错误是由 make 由于无效的命令行参数而打印的,这意味着它在失败之前根本不会打开 makefile。

原因是 等-D对于 GNU make 来说不是有效的命令行选项。如果您运行man make(或在线查找 GNUmake手册),您会发现它-D没有被列为有效选项。

我怀疑,当您正在阅读的网站建议您运行 时make,它们意味着您应该运行 FreeBSD make,它确实支持一个-D选项:https://www.freebsd.org/cgi/man.cgi?make(1)

您正在尝试使用 GNU make 来运行它,但它没有该选项。

  • 换句话说,这些教程假设您正在尝试使用 FreeBSD 系统从源代码构建 FreeBSD。但是您正在尝试使用其他操作系统(可能是 GNU/Linux(或者可能是 MacOS))从源代码构建 FreeBSD。这是一组非常不同的步骤。也许您也会找到相关教程,但是当您进行搜索时,您必须明确表示这就是您想要的。 (2认同)