error 19 nach Update von 8.2 auf 9.1

klimaschreck

Well-Known Member
Hallo zusammen,

ich möchte mein FreBSD amd64 System auf den aktuellen Stand heben. Dazu habe ich die Sourcen von 9.1 geladen und make buildworld, make buildkernel und make installkernel ausgeführt. Nach dem Reboot erkennt der Computer die Festplatten beim Hochfahren nicht mehr. Ich vermute, dass dies mit der Umstellung auf gpart zusammenhängt. Kann ich noch Änderungen per LiveCD vornehmen, so dass eine komplette Neuinstallation nicht notwendig ist?

Ich habe schon per USB Stick mit einem Live CD gebootet. gpart show zeigt dort allerdings nur die da-Platten an. tunefs -L$FS_NAME $FS_DEV hat leider auch nicht geklappt. Es kommt die Fehlermeldung FS_NAME: Undefined variable.

Habt ihr Tipps? Wie kann ich notfalls wieder den alten Kernel aktivieren?
 
so sah die Fehlermeldung ungefähr aus nach der Installation des neuen Kernels

Code:
Trying to mount root from ufs:/dev/ad8s1a [rw] ...
mountroot: waiting for device /dev/ad8s1a ...
Mounting from ufs:/dev/ad8s1a failed with error 19.

Loader variables:
  vfs.root.mountfrom=ufs:/dev/ad8s1a
  vfs.root.mountfrom.options=rw

Manual root filesystem specification:
  <fstype>:<device> [options]
      Mount <device> using filesystem <fstype>
      and with the specified (optional) option list.

    eg. ufs:/dev/da0s1a
        zfs:tank
        cd9660:/dev/acd0 ro
          (which is equivalent to: mount -t cd9660 -o ro .dev.acd0 /)

  ?               List valid disk boot devices
  .               Yield 1 second (for background tasks)
  <empty line>    Abort manual input

mountroot>

ich habe inzwischen wieder den alten Kernel und kann den Computer wieder hochfahren, doch ich weiß nicht genau, wie ich einen Wechsel auf 9.1 schaffe, ohne alles neu aufzusetzen
 
Die Laufwerksbezeichnung haben sich mit dem Umstieg auf SCSI basierte SATA Treiber geändert, inklusive Durchnummerierung.

Boote mal vom richtigen Device in den Single User mode. Da kann man dann fstab aktualisieren und das System so wieder Betriebsbereit machen.

Diejenigen unter uns, die mit der Einführung von geom darauf umgestiegen sind per Label zu booten hatten das Problem nie. Das hat auch so eine Menge vorteile. Man kann die Platte nehmen, irgendwo anders einbauen und einfach ohne Änderungen damit durchbooten. Sogar über USB.

Edit:
/usr/src/UPDATING Eintrag 20110424.
 
Ich möchte auch gerne im Single User Mode booten, aber es klappt nicht. Ich erhalte noch folgende Fehlermeldungen (habe ich mitgeschrieben):

Code:
aprobe2: 0:0:0 ahcich2: 0:0:0 CAM Status: Command timeout
aprobe2: 0:0:0 ahcich2: 0:0:0 Error 5, Retries exhausted
aprobe2: 0:0:0 ahcich2: 0:0:0 Error 5, Retry was blocked

Am Ende erhalte ich dann die Fehlermeldung (s.o.) mit Fehlercode 19 und das Prompt zu mountroot.

Muss ich etwas ändern, evtl. auch im BIOS? Oder ist Hardware defekt?
 
ja, kann ich einschalten oder zu Native IDE wechseln. Ich habe es mit beiden Varianten ausprobiert. Es führt beides mal zum gleichen Ergebenis.
 
OK, vielleicht ist da einfach ein uralter bootloader, der mit GPT nicht klar kommt, aktualisiere den mal mit boot0cfg.
 
Es könnte ein lügendes BIOS sein. Es gibt leider immer noch BIOSe, gerade in AMD-Systemen, die MSI als unterstützt angeben, es aber gar nicht können. Wenn der AHCI-Treiber dann per MSI mit der Hardware kommunizieren will, geht es schief und "Command Timeouts" sind die Folge. Der Lösung ist ganz einfach. In Bootloader-Prompt tippen:
Code:
set hint.ahci.X.msi=0
X ist dabei die Nummer des Geräts. Meist ist es 0, kann aber auch höher sein. Zur Not einfach 0 bis 4 setzen (jeweils eigene Kommandos) und das Problem ist totgeschlagen. Wenn es hilft, kann man die Option dauerhaft in der /boot/loader.conf setzen. :)
 
ich habe als prompt nur das 'mountroot>' Soll ich da dann set hint ... einsetzen? Wie würde es dann weitergehen mit dem Booten?

Oder geht es auch, direkt in der boot/loader.conf mehrfach den Hinweis zu platzieren?
 
Nein, im Loader-Prompt. Wenn FreeBSD startet kommt noch vor dem Kernel das erste Auswahlmenü. Dort kann man durch Druck auf "6" ("Escape to Loader-Prompt" oder so ähnlich) auf ein Prompt, wo man die Option eingeben kann. Anschließend "boot -s" und das System fährt in den Single User Mode hoch.
 
vielen Dank für die Hinweise. Mit dem hint hat es geklappt. Es hat gleich mit der 0 anstellt von X geklappt.

Nach dem make installworld gab es noch einmal ein Schrecksekunde, weil der Computer nach dem Reboot nicht wieder startet. Es erschien der FreeBSD/i386 boot loader, obwohl ich einen amd64 Kernel habe. Beim erneuten Reboot hat jedoch alles geklappt.
 
Zurück
Oben