Befehl automatisch beim Booten

mr44er

moderater Moderator
Teammitglied
Google hat nichts Brauchbares zu Tage gefördert und im Forum habe ich auch nichts passendes gefunden.

Mit 'camcontrol standby ada0 -t 600' fährt die Platte anständig herunter, kommt nach Bedarf auch wieder in die Gänge.

Wie und vor allem wo trage ich den Befehl beim Booten ein, damit das automatisch erfolgt?

Muss ich das per Script machen, wenn ja wo oder geht das auch einfacher?
 
Hab ich mal irgendwo gelesen: Sollte dein Script oder Befehl nicht funktionieren, dann bricht dir RC komplett ab! Ich würde noch so etwas als "Hack" einbauen:
Code:
/bin/sh script || /bin/true
Damit sollte RC weiterlaufen, auch wenn dein Script nicht funktioniert.

Gruss
 
Hab ich mal irgendwo gelesen: Sollte dein Script oder Befehl nicht funktionieren, dann bricht dir RC komplett ab!

Das würde ich bezweifeln.
/etc/rc.local wird durch /etc/rc.d/local eingebunden und ausgeführt. Die rc-Skripte unter /etc/rc.d werden in einer Subshell via run_rc_script() ausgeführt, daher denke ich kaum, dass ein Fehler in den Skripten einen Komplettabbruch der Boot-Skripte zur Folge hat.

Rob
 
Ich hätts noch gern etwas erweitert. Das BSD liegt auf einem mirror-pool, wird auch brav nach der ersten PW-Abfrage gebootet.

Die anderen Platten sind auch verschlüsselt, haben einen anderen Pool. Damit ich für diese Platten nur einmal das PW eingeben muss, hab ich mir ein Script gebastelt. Allerdings muss ich danach ZFS neustarten, damit ich den Inhalt vom Pool sehe.
Wo trag ich das ein, damit es zur Bootzeit schon abgefragt wird? Auch in /etc/rc.local?
 
Seit 10.2 cached GELI das Passwort beim Booten und probiert es bei der nächsten Platte aus. Sollten alle deine Platten das selbe Passwort haben brauchst du es nur einmal eingeben. Außerdem kannst du die Passwortabfrage nach vorne ziehen damit sie nicht während des Bootvorgangs zwischen den anderen Ausgaben untergeht.
Code:
### loader.conf

# Enable GELI with hardware crypto
aesni_load="YES"
geom_eli_load="YES"
geom_eli_passphrase_prompt="YES"
 
Die Platten haben alle das selbe PW, aber das funktioniert so nicht.

Nur die Bootplatten werden weiterhin entschlüsselt.

Ich habs jetzt noch mit geli_devices="" in /etc/rc.conf probiert...das geht, fragt aber das PW für jede Platte zusätzlich ab.
 
Hast du auch alle keyfiles in der loader.conf eingetragen? Das war bei mir das Problem als ich mein System in/auf mehrere Pools/Platten aufgeteilt habe; ist ja auch logisch, denn wie soll ein keyfile, das nicht bekannt ist, genutzt werden.
 
Achso damit Platten von GELI beim Booten entschlüsselt werden muss in den Metadaten das Bootflag gesetzt sein. Das kannst du mit folgendem Befehl erreichen:
Code:
geli configure -b

Der wirklich saubere weg ein paar Befehle beim Booten auszuführen ist es ein eigenes rc.d Script zu schreiben. Der hässliche Workaround ist es eine /etc/rc.local zu verwenden,
 
Ich hab mich jetzt damit abgefunden, es mit geli_devices="" zu erledigen. Da muss ich zwar für jede Platte das PW manuell eingeben, aber dafür sieht man das PW bei der Eingabe nicht (im Gegenzug zum Script) und den Server fährt man ja auch seltenst hoch.
Außerdem werden die *.elis vor allem anderen eingebunden, dass ich keinen Dienst wie z.B. zfs neustarten muss.
 
Warum machst du es dir so schwer? Falls die Platten bereits beim Booten verfügbar sind kann der Bootloader seit 10.2 einmalig das Passwort abfragen und es für alle Platten cachen (genauer er fragt es einmal ab und der Kernel cached es für den ersten Versuch). Außerdem unterstützt GELI zwei Keyslots pro Device. Du kannst also einen davon mit einem reinen Keyfile füllen und in nem verschlüsselten Rootdateisystem ablegen.
 
Zurück
Oben