FreeBSD auf USB Stick von USB Stick

ssn

Well-Known Member
Hallo ihr Lieben,

nach längerer Zeit installiere ich das erste mal wieder FreeBSD auf einem Server.
Nach mehreren Versuchen mit verschiedenen USB Sticks scheint sich nun einer gefunden zu haben,
mit dem sich FreeBSD versteht.
Als Installationsmedium wird ebenfalls ein USB Stick benutzt.

Nach der Installation des Systems bootet es nur, wenn das Installationsmedium (der 2. Stick als) ebenfalls drinsteckt.

Wenn man ohne Installationsstick bootet, findet er die root Partition nicht und verschiedene Versuche des manuellen Verweises (da2, da3...) schlugen fehl.

Hat jemand von euch eine Idee wie sich das lösen lässt?
 
Das System legt die Namen der Devices (daX) dynamisch beim starten an. Hattest du 2 Sticks am Rechner während der Installation kann es sein, dass dein System nun auf z.B. da1 installiert wurde, beim booten ohne den 2. Stick aber da0 heisst.

Über labels (geom-labels) kannst du das Problem umgehen da hiermit jedem Device ein fester Name gegeben wird. Ich würde es mal so versuchen.
 
Schnelle Lösung: /etc/fstab korrigieren, so dass das Laufwerk drin steht, das tatsächlich zugewiesen wird, wenn du nur den einen Stick drin hast.

Ordentliche Lösung: es gibt Labels für Partitionen oder Dateisysteme. Damit identifizierst Du diese Dinger eindeutig und musst dir über zugewiesene Laufwerke keine sorgen machen.
 
Nur zur Ergänzung: für Dateisysteme (UFS) kann man auch ein Label angelegen. Siehe: tunefs mit Option -L
 
bei mir ist das auch so und es läuft ein 7.2 vom Stick. Als ich einen upgrade auf eine 8er Version machte, konnte ich diesen Stick nicht booten. Es ging nicht, nicht, weil ich vergessen hätte die fstab zu ändern oder so etwas. Auch Label brachten nichts.
Auf einem anderen PC mit nahezu identischer HW bootete dieser Stick wunderbar.
Auf dem betroffenen Rechner, wo er also nicht durch-bootete, verweigerte er nicht komplett, sondern eben auch nur das Einhängen der root-partition. Erledigte ich dies an entsprechender Stelle manuell, lief der Stick dann auch auf diesem PC. Im gebooteten Zustand konnte ich alle Partitionen und Dateisysteme korrekt identifizieren, es waren keine Probleme erkennbar.
Damals hatte ich das schließlich aufgegeben.
Deshalb interessiert mich dein Fall nun natürlich. Melde doch bitte mal zurück, wie das wird.

Nebenbei: ich habe bislang nur einen einzigen Stick gehabt, der sich nicht mit FreeBSD oder Linux vertragen hatte. Was gab es denn da für Probleme?
 
Labels funktionieren nicht, sind aus irgend einem Grund für root nicht persistent (habe das manual dazu gelesen, funkt trotzdem nicht. Der stick ist mit da0s1a0 in der fstab. Ich muss ihn beim booten so manuell angeben (ufs:/dev/da0s1a), dann startet das System. Das ganze ist ziemlich nervenaufreibend.

@pit: sysinstall fails beim partitionieren
 
Was heißt "nicht persistent"?

Code:
tunefs -p /dev/<deinepartition>

zeigt also kein Label mehr nach dem Booten?

Bist Du sicher, dass Du /boot/loader.conf auch angepasst hast, so, dass es vom Label-Device startet und nicht von dem rohen Platten-Device?
 
ja, zeigt kein label mehr. tunefs -L habe ich probiert (-p gibt es nicht).
in der /boot/loader.conf steht nichts.
 
Hi,

sowas hatte ich auch mal - damals half einfach der Wechsel des USB-Ports (hinten am Mainboard oifach eins an der Blende genommen) danach war das Problem bei mir verschwunden.

Gruß Bummibär
 
ja, zeigt kein label mehr. tunefs -L habe ich probiert (-p gibt es nicht).

Natürlich gibt es das. Es zeigt an welches Label du eingestellt hast. Ich habe zwar keins aber hier mal die Ausgabe zum Verständnis:

Code:
tunefs -p /dev/ada1p1.eli.journal 
tunefs: POSIX.1e ACLs: (-a)                                disabled
tunefs: NFSv4 ACLs: (-N)                                   disabled
tunefs: MAC multilabel: (-l)                               disabled
tunefs: soft updates: (-n)                                 disabled
tunefs: gjournal: (-J)                                     enabled
tunefs: maximum blocks per file in a cylinder group: (-e)  2048
tunefs: average file size: (-f)                            16384
tunefs: average number of files in a directory: (-s)       64
tunefs: minimum percentage of free space: (-m)             8%
tunefs: optimization preference: (-o)                      time
tunefs: volume label: (-L)

in der /boot/loader.conf steht nichts.

Ja, dann sucht er eben das rootfs nicht nach dem Label, sondern versucht zu raten von welchem Gerät er gebootet hat.

Wenn du ein Label hast, dann kann man es in /boot/loader.conf einstellen:
Code:
vfs.root.mountfrom="ufs:/dev/<labeldevice>"

Label verschwindet glaube ich als Device, wenn du das Gerät mountest. Das schreibt der Kernel in der dmesg als Warnung.


Bei USB gibt es noch das Problem, dass einige Controller oder Geräte einfach lahm sind und sich zu spät melden. Kommt denn bei der Auflistung der Geräte bei der Suche nach dem rootfs auch wirklich gar nichts als Vorschlag? Da kann man sich die Möglichkeiten doch normalerweise auflisten lassen, meine ich.

Ich bezweifle auch, dass ufs:da2 da als Angabe reicht. Jeder, der FreeBSD installiert weiß, dass er partitionieren sollte.
 
Ich habe die Lösung gefunden. Es scheint, als ob der loader einfach zu ungeduldig war.
ein "kern.cam.boot_delay=10000" in der loader.conf hat das Problem gelöst.
 
Zurück
Oben