freebsd-update 修补自定义 /boot/kernel/kernel,这会破坏远程访问

freebsd-update 修补自定义 /boot/kernel/kernel,这会破坏远程访问

freebsd-update我时不时地在我的 FreeBSD 9.0 系统上运行。我安装并运行了一个自定义内核,根据 FreeBSD 文档中的提示 (Freebsd 更新(第 25.2.2 节)),保留一份GENERIC副本/boot/GENERIC

注意: 始终在 中保留一份GENERIC内核副本是一个好主意/boot/GENERIC。这将有助于诊断各种问题,并有助于使用 freebsd-update 执行版本升级(如第 25.2.3 节中所述)。

每当有更新时我都会收到以下消息freebsd-update

以下文件将在更新过程中更新9.0-RELEASE-p4/boot/kernel/kernel

果然,在更新过程中freebsd-update似乎覆盖了我的(自定义)内核。这破坏了我对机器的远程访问,因为我的自定义内核中的东西是联网所必需的……GENERIC

我认为问题在于 FreeBSD 无法freebsd-update将我的自定义内核识别为自定义内核,而是认为它是GENERIC。问题是:为什么?我该如何改变这种情况?

我找到了以下帖子解释如何将 GENERIC 内核安装到 /boot我想知道这是否有帮助。那里解释的程序是否

#cd $PlaceWhereTheISOIsMounted/8.0-RELEASE/kernels/
# ./install.sh GENERIC

“注册” 以某种方式GENERIC代替/boot/GENERIC/boot/kernel/


顺便说一句:是的,安装 freebsd-update 后,机器启动通用内核serverfault 上存在同样的问题(尚未解决,被迷住了)。


更新 其他人也遇到了同样的问题:如何防止 freebsd-update 破坏自定义内核?


更新2 根据 FreeBSD 邮件列表,文档中关于保留 GENERIC 副本的提示不再有帮助/起作用。请参阅freebsd-update 修补自定义 /boot/kernel/kernel 而它不应该

答案1

手册中的一段引文:

只有 GENERIC 内核可以通过 freebsd-update 自动更新。

如果您需要 GENERIC 内核中未内置的网络驱动程序,请查看它是否可用作模块并从 中自动加载/boot/loader.conf。然后,您就可以继续使用 GENERIC。

如果这不起作用,您可能必须从源代码进行构建。

相关内容