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。
如果这不起作用,您可能必须从源代码进行构建。