Назад | Перейти на главную страницу

Противоречивая информация о запущенной версии ядра во FreeBSD

Я задал связанный вопрос о безымянный раньше и теперь хочу спросить с другой стороны, потому что следующие простые, но очевидные противоречивые выводы могут означать, что есть что-то, о чем многие люди не думали (включая меня). Я использую FreeBSD 9 RELEASE; пожалуйста, посмотрите следующие команды:

# sysctl kern.bootfile
kern.bootfile: /boot/kernel/kernel

# strings /boot/kernel/kernel |grep RELEASE|grep 9
@(#)FreeBSD 9.2-RELEASE-p7 #0: Tue Jun  3 11:05:13 UTC 2014
FreeBSD 9.2-RELEASE-p7 #0: Tue Jun  3 11:05:13 UTC 2014
9.2-RELEASE-p7

Приведенный выше файл ядра предполагает, что запущенное ядро ​​- 9.2-RELEASE-p7. Но...

# dmesg
Copyright (c) 1992-2012 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
    The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 9.1-RELEASE #0 r243825: Tue Dec  4 09:23:10 UTC 2012
...

# uname -a
FreeBSD localhost.localdomain 9.1-RELEASE FreeBSD 9.1-RELEASE #0 r243825: Tue Dec  4 09:23:10 UTC 2012     root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64

Итак, dmesg и uname говорят, что это 9.1-RELEASE.

Я также провел обширную find / -type f -exec grep -l "9.1-RELEASE" {} \;, но я не нашел возможного файла ядра, содержащего 9.1-RELEASE.

Что может привести к вышеуказанному конфликту и какое ядро ​​я использую на самом деле?

Обратите внимание, что я запустил RELEASE и freebsd-update, чтобы выполнить двоичное обновление, поэтому скомпилированное ядро ​​не задействовано. И я несколько раз перезагружался после freebsd-update. И система не находится в тюрьме и т. Д., Это единственная система на этом компьютере.

Мне приходит в голову одна вещь: в вашей системе будет отдельный /boot раздел, который каким-то образом был отключен, пока вы выполняли freebsd-update. Это заставило копировать новое ядро ​​на ваш /boot каталог внутри / раздел, а не собственно /boot.

Теперь во время загрузки ваш загрузчик настроен на использование фактического /boot и так загружается старое ядро.

Вы, вероятно, обновили систему с 9.1 до 9.2, но не смогли ее перезагрузить.

Возможно, вы просто загрузили предыдущее ядро, но с учетом показанных вами результатов это кажется гораздо менее вероятным.

На ум приходит еще одна возможность, что система на самом деле находится внутри тюрьмы и работает на системе 9.1, так что, пока тюрьма обновляется до 9.2, хост-система все еще работает с версией 9.1.