swapon: not found

piotr

Well-Known Member
Hallo

Ich wollte gerade ein Upgrade von freeBSD 7.3 zu 8.2 Release machen und nach dem Restart bekomme diese Fehlermeldungen:
Code:
.................................................................
Entropy harvesting: interrupts ethernet point_to_point kickstart.
swapon: not found
Starting file system checks:
fsck: exec fsck_ufs for /dev/da0s1a in /sbin:/usr/sbin: No such file or directory
Unknown error: help!
ERROR: ABORTING BOOT (sending SIGTERM to parent)!
APR 2 00:55:26 init: /bin/sh on /etc/rc terminated abnormally, 
going to [B]single user mode[/B]
Enter full pathname of shell or RETURN for /bin/sh:

Es sieht so aus, dass nur / mounted ist, aber /usr, /var, /tmp nicht.
Ich kann zwar manuell mounten, aber das ist keine Lösung.
Wenn ich versuche fsck command, dann bekomme ich "fsck_ufs for /dev/ad0s1a in /sbin:/usr/sbin: no such file or directory".

Hat jemnd vielleicht ähnliche Problem nach dem Upgrade von 7.x zu 8.x?
Was bedeutet "swapon: not found", oder wie kann ich dieses Problem lösen?
 
Was zeigt denn:
Code:
 ls -la /dev/*da*
an?

Bei aktuellem FreeBSD mit ahci sind die Device Nodes für S-ATA Festplatten nun /dev/ada*.

bei 8.2 aber noch nicht, oder? Bin leicht verunsichert.

Trotzdem ist natürlich wichtig, welche Partitionierung du vorgenommen hast und was denn nun geht.
swapon (auf dem OpenBSD, das ich eben nutze, ist das: /sbin/swapon und das ist üblich und sicher bei FreeBSD nicht anders) ist ein Befehl, womit SWAP eingeschaltet werden kann. Wird der nicht gefunden, ist er vielleicht "kaputt", weil das Dateisystem kaputt ist, auf dem er liegt, oder, das Dateisystem könnte auch gar nicht eingebunden sein und dann kann der Befehl natürlich auch nicht gefunden werden.
Die Namen der Partitionen sind dabei zunächst zwingend und sie müssen exakt richtig benutzt werden, nur dann kann ein fsck laufen und das sollte für jedes vorhandene Dateisystem gemacht werden. Dazu muss ganz genau der Name benutzt werden, den das System benutzt und in /dev ablegt.
Alternativ kannst du UUID oder auch Namen nutzen, doch das lassen wir hier mal.

Also, Fusselbärs Tip zeigt, welche Dateisysteme bei dir erkannt werden.
In der /etc/fstab findest du, wie du die mounten wolltest. Dazu muss natürlich dann jenes Dateisystem gemountet sein, das /etc/fstab enthält. Nachdem du einen fsck für alle deine Dateisysteme (benutzten Partitionen) durch hast und alles repariert ist, kannst du die Partition einbinden, die /etc/fstab enthält und dann mit mount -a alles so einbinden, wie es die fstab vorsieht.
Dann wird (wenn möglich) auch der SWAP eingeschaltet und eingebunden.

So etwas super wichtiges wie /sbin von einem anderen Medium zu übernehmen, kann gelingen, doch wahrscheinlich machst du damit viel durcheinander, vor allem, wenn dein System schon öfter upgedatet wurde. Ich würde das nicht machen.
 
Bei FreeBSD 8.2 musst du zur per /boot/loader ahci.ko laden lassen. Ansonsten wird der alte ATA Code benutzt es sei denn du hast dir deinen eigenen entsprechend gebaut.
 
Ich habe dieses Problem gelöst, indem ich von einer ähnlichen freeBSD 8.2 Maschine die ganze /sbin directory, ohne die bestehenden Files zu überschreiben, hineinkopiert habe.
Jetzt scheint wirklich, ohne Probleme zu starten.
 
Zurück
Oben