FreeBSD 构建世界

FreeBSD 构建世界

最近使用 Perl 脚本时,我收到一条错误消息,指出“用户空间和内核不同步”。在谷歌搜索后,我发现可能我还没有做过make buildworld

我理解“make buildworld”是从一个版本升级到另一个版本的过程,我的问题是可以buildworld使用 cd/dvd 光盘运行,而不是通过互联网下载源和必要的文件。如果可以,请提供一些文档链接。如果不可以,请提供使用互联网文件的文档链接。我已经看过了http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html

我们总是感谢帮助。

非常感谢

答案1

是的,CD/DVD 包含 FreeBSD 的所有来源,您不需要从互联网上下载它们。

插入 FreeBSD CD,运行sysinstallgo to configure -> Distributions -> checksrc

然后使用 FreeBSD 手册中的说明。

附言:次要的升级我用这个脚本

#!/bin/sh

# Shell setup
set -x
set -u
set -e

# Variables
KERNCONF=PH34R.9
KERNCONF_STR="KERNCONF=${KERNCONF}"
MAKE_ARGS="-j5"
MAKE_CMD="make"
MAKE="$MAKE_CMD ${MAKE_ARGS}"

# Preparation
rm -rf /usr/obj/usr/src/sys/${KERNCONF}
${MAKE} clean
${MAKE} kernel-toolchain

# Build and Install
${MAKE} buildkernel ${KERNCONF_STR}
${MAKE} buildworld 
rm -f /boot/kernel/*.symbols
${MAKE} installkernel ${KERNCONF_STR}
${MAKE} installworld

# Merge configs
mergemaster -iFU

答案2

我定期进行 buildworld 构建,从未遇到过任何问题。我每周至少遵循一次的正常程序是:

  1. 跑步韓國同步源树和 ports 树。(需要正确制作的“supfile”)
  2. 重建新内核和“世界”。我有一个快速而简单的 bash 脚本。
  3. 安装仅有的内核。
  4. 启动新内核,必须处于单用户模式才能正确安装“world”。安装“world”。按照文档中的建议运行mergemaster。此步骤通常需要约 5 分钟。
  5. 在多用户模式下正常启动。
  6. 使用 portmaster 工具安装更新的端口(端口管理器-L查看可升级的端口,端口管理器继续升级)。

不要忘记使用屏幕在远程工作时。

答案3

您可能应该先找出它们不同步的原因。也许它们不同步,脚本是错误的。如果您从一些随机源构建世界,它可能仍然不同步。为确保万无一失,您将按照手册中的步骤从同一源构建和安装世界和内核。来自 CD 的源代码可以正常工作,但不能保证降级成功,我们不知道任何细节。

相关内容