Problem beim Upgrade: Version nach installkernel und reboot nicht verändert

Binfort

Well-Known Member
[GELÖST] Problem beim Upgrade: Version nach installkernel und reboot nicht verändert

Moin Moin,

ich versuche gerade ein FreeBSD von 7.3 auf 8.3 anzuheben. Die Welt und den Kernel kann ich einwandfrei bauen. Mein Problem ist, dass nach der Installation des neuen Kernels und dem anschließendem Neustart, per "uname -a" immer noch die alte FreeBSD Version angezeigt wird.

Ich habe das ganze nun schon mehrfach versucht, auch den Zwischenschritt über 7.4. - aber es hat nichts gebracht.

Die Sourcen habe ich mal mit svn und mal mit cvsup geholt und unter /usr/src habe ich immer die korrekten Quelldateien. Unter /usr/obj wurde bei jedem neuen Versuch alles fein weggewischt.

In der make.conf habe ich nur "INSTALL_NODEBUG=yes" gesetzt um den Kernel etwas kleiner zu halten. Der secure_level ist auf -1 gesetzt.

Gibt es eine Möglichkeit, die Version des neuen Kernels vom Dateisystem aus zu erkennen?

Hatte vllt jemand von euch einmal das Problem?
 
Last edited:
Code:
cd /usr/src
make -sj `sysctl -n hw.ncpu` buildworld buildkernel
mergemaster -p
make -s installkernel
# hier optional rebooten in den single user mode
cd /usr/src
make -s installworld
mergemaster -F
reboot
 
fein fein, so in etwa mache ich es bereits:

Code:
cd /usr/src
make -j4 buildworld buildkernel
make installkernel
shutdown -r now [optional in SingleUser]
mergemaster -p
make installworld
mergemaster
shutdown -r now

Aber: "uname -a" zeigt nach dem ersten Reboot weiterhin stoisch "FreeBSD 7.3" an.
 
Achtung, es folgt mögliches Halbwissen:

Hast du vllt. mal einen eigenen Kernel gebaut und bootest diesen, statt den GENERIC-Kernel?
 
sorry, hätte ich erwähnen müssen: es ist immer der GENERIC Kernel

das Verzeichnis /boot/kernel erhält beim installieren sogar einen aktuellen Zeitstempel, nur vermute ich, dass da kein neuer Kernel installiert wurde :(
 
Wenn's der GENERIC-Kernel ist, warum nimmst du nicht einfach freebsd-update? Dann sollte die Sache in sehr flotter Zeit erledigt sein ;)
 
hatte ich auch gedacht :)

nur kann freebsd-update nicht automatisch die Konfigurationsdateien unter /etc zusammenführen und verlangt von mir die manuelle Anpassung aller Dateien :( das ist doof

Letzten Endes werde ich es natürlich so machen um den Vogel auf eine aktuelle Version zu bringen. Mich wurmt nur, das es auf dem herkömmlichen Weg nicht funktionieren will. Auf anderen Kisten hatte ich bislang nie dieses Problem.

Aktuell baue ich alles noch einmal auf dem herkömmlichen Weg und werde vor dem nächsten Reboot mal ein "nextboot -k GENERIC" absetzen.

Gibt es vllt einen Weg, unter /boot/kernel die Version des installierten Kernels bzw. der FreeBSD Version zu erkennen?
 
Ansonsten versuch einfach mal /usr/src zu loeschen (auch das .svn Verzeichnis, falls es vorhanden ist) und hol dir die sourcen nochmal sauber via svn und mach das nochmal.
 
geht klar, aktuell mache ich es genau so... also alles unter /usr/obj wegwischen, alles unter /usr/src weg, inkl. .svn und einen neuen "svn co" von 8.3.0 gemacht - baut aber noch
 
Update: habe eben wieder versucht den 8.3er Kernel zu installieren

Nach dem Reboot wird weiterhin FreeBSD 7.3 angezeigt. Daraufhin bin ich einmal in den SingleUser Modus gegangen und habe den Kernel erneut versucht zu installieren. Aber es wird weiterhin die alte Version angezeigt.

"nextboot -k GENERIC" wurde nicht akzeptiert, weil unter /boot kein GENERIC Verzeichnis vorhanden ist.

Unter /usr/obj/usr/src/sys/GENERIC wurde offensichtlich der 8.3er Kernel gebaut. Zumindest steht die Version im Makefile des Verzeichnisses...
 
Update: konnte das Problem lösen!

Folgendes war passiert:

Auf dem Server lief noch ein Software Raid 1 bei welchem, ich gebe es ungern zu, die 1. SATA Platte ausgestiegen war. Im Spiegel hing nur noch die zweite und auf der habe ich fleißig Welt und Kernel gebaut.

Technisch gesehen, war die erste Platte in Ordnung. Der Server bootete davon den, logischerweise, alten Kernel; aber es wurden die Partitionen der zweiten Platte eingehängt. Das führte dann dazu, dass unter /boot/kernel zwar der neue Kernel lag, aber "uname" weiterhin behauptete ein altes FreeBSD zu sein.

Die Spiegelung wurde wiederhergestellt. Reboot. Alles gut. Wieder was gelernt.
 
Back
Top