• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

FreeBSD Update 11.2 -> 12.0 Release = kein Boot

Themenstarter #1
Hallo Forum,

gestern habe ich meinen kleinen Webserver von Freebsd 11.2-p10 auf 12.0-Release "updaten" wollen:
freebsd-update -r 12.0-RELEASE upgrade
...
freebsd-update install
...
reboot
Hier fängt das Problem an: FreeBSD bootet nicht mehr.
Hier die Meldung:
screenshot.jpg


Ich habe mich schon erfolglos durch diverse Suchergebnisse gewühlt. Wie soll ich jetzt weiter verfahren?
Eine ähnliche Meldung hatte ich beim Wechsel von FreeBSD 4.11 auf 5.3. Die damalige Lösung war eine komplette Neuinstallation. Wenn ich mir die Suchergebnisse so ansehe, wird es diesmal nicht funktionieren, weil anscheinend im Bootloader von 12.x/13.x irgendwas kaputt ist.

Nachtrag: Ich wollte nachdem alles auf 12.0 gezogen ist, ein Update auf die aktuellste 12.1 machen.
 

Yamagi

Possessed With Psi Powers
Mitarbeiter
#2
Da hat freebsd-update anscheinend ein paar Dateien "vergessen". Was mich mal wieder darin bestätigt das Ding nicht zu benutzen... Also, wenn schon der halbe Loader fehlt, wird sicher auch noch einiges mehr in die Hose gegangen sein. Auf jeden Fall wirst du das System erst einmal von einer Live-CD oder heutzutage eher einem USB-Stick starten müssen. Dafür kannst du einfach das Installationsmedium nehmen, im Menü wählst du "Live-CD". Wie es dann weiter geht, kommt drauf an. Ganz vielleicht hilft es freebsd-update noch mal durchzujagen, aber wahrscheinlich nicht. In dem Fall ist es der einfachste Weg, die Welt aus den Sourcen zu bauen und zu installieren. Das bekommt eigentlich alles wieder hin.
 

Yamagi

Possessed With Psi Powers
Mitarbeiter
#4
Wenn es denn jemals kommt. :( Aber es gab da in der letzten Zeit tatsächlich wieder ein paar kleinere Commits, komplett tot scheint es also nicht zu sein...
 

Binfort

Well-Known Member
#5
auch bei freebsd-update erstellt ein Backup des alten Kernels, vllt bootet sogar der neue...

@juedan einen Versuch vor dem Stick ist es wert, im Boot-Prompt:

ls /boot
boot /boot/kernel oder
boot /boot/kernel.old
 

pit234a

Well-Known Member
#6
beliebt sind Syntax-Fehler in den veränderten config-Dateien, die einem vor allem bei manuellem Eingriff vor dem Mergen passieren. Dann können vielleicht deshalb die loader.conf oder so nicht mehr gelesen werden und es hängt.
Einmal hatte ich auch eine Option, die von der neueren Version von FreeBSD nicht mehr toleriert wurde. Kann sich also auch lohnen, da vielleicht erst sparsam zu bleiben.
 

Binfort

Well-Known Member
#8
@KobRheTilla Verständnisfrage: der Loader zieht doch am Ende nur den Kernel, oder?

In der VM bootete 12.1 im Boot-Prompt den Kernel und damit mein Userland. Ist ja kein Dauerzustand, aber es reicht zum reppen (per make oder binär fetchen). Wenn das Teil irgendwo im RZ steht, ist das zumindest eine Option.
 
Themenstarter #9
Hallo,
zunächst Danke für die Antworten.

@Yamagi : ich dachte, dass freebsd-update ausgereift ist... gut, wieder was gelernt.
@Binfort : ein ls /boot bringt die Fehlermeldung "no such file or directory", ls dagegen listet boot auf
@pit234a : in meiner loader.conf sind keine Einträge gemacht worden

So wie es aussicht, passt anscheinend der Bootloader nicht zum Partitionsschema (MBR und UFS). Es gibt dazu einen Bug-Report: PR 234031 .
Ich werde jetzt hergehen und FreeBSD 11.2 auf einen Stick ziehen, dessen /boot auf die Platte kopieren und mal schauen, ob dann FreeBSD 12 bootet. Wenn nicht, dann werde ich mein Backup zurückspielen und beim 11er-Zweig bleiben, bis der Fehler behoben ist.

Best Grüße
 

Binfort

Well-Known Member
#10
Einfaches Kopieren reicht nicht, wie Yamagi schrieb:
...vielleicht hilft es freebsd-update noch mal durchzujagen, aber wahrscheinlich nicht. In dem Fall ist es der einfachste Weg, die Welt aus den Sourcen zu bauen und zu installieren...
oder binär: Partitionen unter live:/mnt mounten, Daten sichern und
Code:
fetch -4 -q -o - http://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/12.1-RELEASE/base.txz | tar Jxpvf - -C /mnt/
fetch -4 -q -o - http://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/12.1-RELEASE/kernel.txz | tar Jxpvf - -C /mnt/
fetch -4 -q -o - http://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/12.1-RELEASE/lib32.txz | tar Jxpvf - -C /mnt/
bei den Problemen würde ich allerdings auch bauen und installieren
 
Themenstarter #11
@Binfort : Danke für die Anleitung. Ich habe es gerade ausprobiert: es tritt der selbe Fehler auf.
Also werde ich jetzt das Backup einspielen und beim 11er-Zweig bleiben.
 
Themenstarter #12
Nachtrag:
Ich habe vergessen zu schreiben, dass nach dem FreeBSD-Update von 11.2->12.0 a) das Verzeichnis /boot vorhanden ist und b) alle Dateien im Verzeichnis ebenfalls vorhanden sind.
 
Themenstarter #14
Hallo serie300,
Die beiden Beiträge hatte DuckDuckGo auch ausgespuckt und ich habe sie gelesen.
Ich bin die Vorschläge durchgegangen und habe sie - soweit möglich(!) - nachvollzogen -> erfolglos...
Selbst beim USB-Stick kam die Fehlermeldung und das Image hatte die richtige Prüfsumme.

Mein Webserver ist jetzt jedenfalls mit FreeBSD 11.3 online.
 

Binfort

Well-Known Member
#15
Steckt man nicht drin...

Hatte selbst bereits Upgrades per freebsd-update von 11.2 auf 12.0 erfolgreich erledigt. Allerdings auf zfs. Gut zu wissen dass das Tool manchmal zickt. Hauptsache die Kiste läuft wieder.

Von 11.3 auf 12.0 könntest du in ner ruhigen Minuten versuchen über die Quellen zu upgraden. Steht ja im Handbuch.
 

pit234a

Well-Known Member
#16
und FreeBSD 11.2 auf einen Stick ziehen, dessen /boot auf die Platte kopieren
wird nicht gehen, weil FreeBSD irgendwann so um die Version 8 herum Kontrollmechanismen einführte und damit nur noch solche Module zugelassen hat, die auch für den Kernel passen. Also Versionskontrolle.
Selbst beim USB-Stick kam die Fehlermeldung und das Image hatte die richtige Prüfsumme.
böse Falle!
Mein Webserver ist jetzt jedenfalls mit FreeBSD 11.3 online.
wahrscheinlich das Beste, was du derzeit tun kannst.

Seit FreeBSD 6 habe ich angefangen, nur noch freebsd-update zu nutzen und ich selbst habe dabei viele Fehler gemacht. Alle Fehler gehen immer von mir aus und hauptsächlich, weil ich den Prozess des Mergens immer noch nicht verinnerlicht habe.
Ich wurde belehrt und habe verstanden.
Aber bis zum nächsten Einsatz dauert es Monate bis Jahre! Und dann mache ich einfach immer wieder Fehler, anstatt zu lesen.

Deshalb erwähne ich das in einem zarten Widerspruch zu
Was mich mal wieder darin bestätigt das Ding nicht zu benutzen...
freebsd-update kam als großes Script, zunächst nicht Bestandteil von FreeBSD. Wie @Yamagi ging es mir zunächst auch und ich war sehr misstrauisch, probierte es aber aus und fand es als große Erleichterung gegenüber dem Bau des eigenen Kernels. Vor allem konsequent, weil ich seit FreeBSD 5.x eh nur mehr GENERIC nutzte und keine eigenen Kernel mehr bauen wollte.
Seither, also schon bevor es wirklich in FreeBSD aufgenommen wurde, nutze ich nur noch freebsd-update und wie schon gesagt: alle Probleme die jemals aufgetreten sind, lagen nicht an dem Script und bei mir waren sie alle hausgemacht.
Aus meiner Erfahrung würde ich deshalb genau das Gegenteil ableiten und eher sagen: mach es immer und nur damit! Zumindest, wenn eh GENERIC benutzt wird.
 
Themenstarter #17
Hallo pit234a,

Seit FreeBSD 6 habe ich angefangen, nur noch freebsd-update zu nutzen und ich selbst habe dabei viele Fehler gemacht. Alle Fehler gehen immer von mir aus und hauptsächlich, weil ich den Prozess des Mergens immer noch nicht verinnerlicht habe.
Ich wurde belehrt und habe verstanden.
Aber bis zum nächsten Einsatz dauert es Monate bis Jahre! Und dann mache ich einfach immer wieder Fehler, anstatt zu lesen.

freebsd-update kam als großes Script, zunächst nicht Bestandteil von FreeBSD. Wie @Yamagi ging es mir zunächst auch und ich war sehr misstrauisch, probierte es aber aus und fand es als große Erleichterung gegenüber dem Bau des eigenen Kernels. Vor allem konsequent, weil ich seit FreeBSD 5.x eh nur mehr GENERIC nutzte und keine eigenen Kernel mehr bauen wollte.
Seither, also schon bevor es wirklich in FreeBSD aufgenommen wurde, nutze ich nur noch freebsd-update und wie schon gesagt: alle Probleme die jemals aufgetreten sind, lagen nicht an dem Script und bei mir waren sie alle hausgemacht.
Aus meiner Erfahrung würde ich deshalb genau das Gegenteil ableiten und eher sagen: mach es immer und nur damit! Zumindest, wenn eh GENERIC benutzt wird.
Bis einschließlich FreeBSD 10 bin ich immer die harte Tour gegangen und habe alles per Make aktualisiert. Hat Stunden gedauert!
Ab FreeBSD 10.1 nutze ich nur noch freebsd-update, weil FreeBSD größer, CLang Resourcen-fressender und die Hardware kompatibler zur Stromrechnung geworden ist.
In speziell diesem aktuellen Fall können freebsd-update und dessen Entwickler nichts dafür, weil es wohl an FreeBSD selber liegt.

Grüßle juedan
 
Themenstarter #20
Was soll ich stattdessen benutzen?
Nur die Tools für harte FreeBSD-Burschen und Mädels: Kernel und Welt aus den Sourcen bauen und installieren :D

Ernsthaft betrachtet, ist das natürlich die beste Methode - bei entsprechender Hardware-Ausstattung. Aber freebsd-update hat bei mir auch immer funktioniert und dies war das erste Mal, dass es in die Hose ging.
 

SolarCatcher

Well-Known Member
#22
Ich habe seit Jahren auf FreeBSD immer freebsd-update genutzt. Gelegentlich gab es mal Probleme, aber nie unlösbar. Wäre beim Upgrade per Selbstbau z.T. auch passiert, vermute ich.

Insgesamt gefällt mir der Update-Mechanismus von HardenedBSD immer besser: In Zeiten, wo Bandwidth groß und Festplattenplatz oft riesig ist, bügelt HardenedBSD einfach das ganze Basissystem drüber (erhält natürlich Config-Files u.ä.). Es wird nicht versucht, atomar alle Updates durchzugehen und einzuspielen. Mit entsprechenden Parametern kann man hbsd-update aber so aufrufen, dass man für das Updaten von Jails nicht jedes Mal wieder alles runterladen muss - man kann das einmal runtergeladene Tar-Archiv weiterverwenden.

Des Weiteren bietet hbsd-update einen Schalter für das Anlegen von Boot-Environments (wenn man ZFS verwendet). Mit hbsd-update -b <irgendwas> wird das aktuelle System geclont und das Update in das Boot-Environement <irgendwas> geschrieben und anschließend aktiviert. So hat man ohne zusätzliche Handarbeit die vorherige Version noch verfügbar, falls doch mal was schiefgeht. Zumindest diese Funktionalität sollte freebsd-update auch mitbringen, finde ich.