diff --git a/de_DE.ISO8859-1/books/handbook/boot/chapter.sgml b/de_DE.ISO8859-1/books/handbook/boot/chapter.sgml new file mode 100644 index 0000000000..869e660a20 --- /dev/null +++ b/de_DE.ISO8859-1/books/handbook/boot/chapter.sgml @@ -0,0 +1,714 @@ + + + + FreeBSDs Bootvorgang + + + Übersicht + booting + bootstrap + + Das Starten des Computers und das Laden des Betriebssystems + wird im Allgemeinen als bootstrap Vorgang + bezeichnet, oder einfach als Booten. FreeBSDs + Bootvorgang ermöglicht große Flexibilität, was + das Anpassen dessen anbelangt, was passiert, wenn das System + gestartet wird. Es kann zwischen verschiedenen Betriebssystemen, + die auf demselben Computer installiert sind oder verschiedenen + Versionen des selben Betriebssystems oder installierten Kernels + gewählt werden. + + + Dieses Kapitel zeigt die zur Verfügung stehenden Konfigurationsmöglichkeiten und + wie man den Bootvorgang anpasst. Dies schließt alles ein, bis + der Kernel gestartet worden ist, der dann alle Geräte + gefunden hat und &man.init.8; gestartet hat. Falls Sie sich + nicht ganz sicher sind, wann dies passiert: Es passiert, wenn + die Farbe des Textes während des Bootvorgangs von weiß zu + Hellgrau wechselt. + + Dieses Kapitel informiert über folgende Punkte: + + + + Die Komponenten des FreeBSD Bootstraps und deren Interaktion. + + + + Die Optionen, die die Komponenten im FreeBSD Bootstrap zum Kontrollieren des Bootvorgangs nehmen. + + + + + nur x86 + + Dieses Kapitel erklärt den Bootvorgang von FreeBSD auf + Intel X86 Plattformen. + + + + + Das Problem des Bootens + + Wenn der Computer Eingeschaltet wird und das Betriebssystem gestartet + werden soll, entsteht ein interessantes Dilemma, denn der + Computer weiß per Definition nicht, wie er irgendetwas tut, bis + das Betriebssystem gestartet wurde. Das schließt das Starten von + Programmen, die sich auf der Festplatte befinden, ein. Wenn nun + der Computer kein Programm von der Festplatte starten kann, sich + das Betriebssystem aber dummerweise genau dort befindet, wie + wird es dann gestartet? + + Dieses Problem ähnelt einer Geschichte des Barons von + Münchhausen. Dort war eine Person in einen Sumpf gefallen + und hat sich selbst an den Riemen seiner Stiefel (engl.: + bootstrap) herausgezogen. In den jungen Jahren des + Computerzeitalters wurde mit dem Begriff bootstrap dann die + Technik das Betriebssystem zu laden bezeichnet und wurde + hinterher mit booten abgekürzt. + + Auf x86 Plattformen ist das BIOS (Basic Input/Output System) + dafür verantwortlich das Betriebssystem zu laden. Dazu + liest das BIOS den Master Bootsektor (MBR; Master Boot Record) + aus, der sich an einer bestimmten Stelle auf der + Festplatte/Diskette befinden muss. Das BIOS kann den MBR + selbstständig laden und ausführen und geht davon aus, + dass der die restlichen Dinge, die für das Laden des + Betriebssystems notwendig sind, selber erledigen kann. + + + BIOS + Basic Input/Output System + + + Falls nur ein Betriebssystem installiert ist, ist der + standard MBR ausreichend. Dieser MBR sucht nach dem ersten + bootbaren slice auf dem Laufwerk und fürt ihn aus, um das + restliche Betriebssystem zu laden. + + Falls mehrere Betriebssysteme installiert sind, sollte + man einen anderen MBR installieren, der eine Liste der + verfügbaren Betriebssysteme anzeigt und einen wählen + lässt, welches man booten möchte. FreeBSD liegt ein + solcher MBR bei und andere Hersteller bieten Alternativen + an. + + Das Restliche FreeBSD bootstrap System ist in drei Phasen + unterteilt. Die erste Phase wird vom MBR durchgeführt, der + gerade genug Funktionalität besitzt um den Computer in + einen bestimmten Status zu verhelfen und die zweite Phase zu + starten. Die zweite Phase führt ein wenig mehr Operationen + durch und startet schließlich die dritte Phase, die das Laden + des Betriebssystems abschließt. Der ganze Prozess wird in drei + Phasen durchgeführt, weil der PC Standard die Größe + der Programme, die in Phase eins und zwei ausgeführt + werden, limitiert. Durch das Verketten der durchzuführenden + Aufgaben wird es FreeBSD möglich ein sehr flexibles + Ladeprogramm zu besitzen. + + kernel + init + + Als nächstes wird der Kernel gestartet, der zunächst nach + Geräten sucht und sie für den Gebrauch + initialisiert. Nach dem Booten des Kernels übergibt dieser + die Kontrolle an den Benutzer Prozess &man.init.8;, der erst + sicherstellt, dass alle Laufwerke benutzbar sind und die + Ressourcen Konfiguration auf Benutzer Ebene startet. Diese + wiederum mountet Dateisysteme, macht die Netzwerkkarten für + die Kommunikation mit dem Netzwerk bereit und startet generell + alle Prozesse, die auf einem FreeBSD System normalerweise beim + Hochfahren gestartet werden. + + + + Der MBR, und die Boot-Phasen Eins, Zwei und Drei + + + Der MBR, <filename>/boot/boot0</filename> + Master Boot Record (MBR) + + Der MBR von FreeBSD befindet sich im Verzeichnis + /boot/boot0. Allerdings ist dies nur eine + Kopie des MBR, da der eigentliche MBR auf + einem Teil des Laufwerks gespeichert sein muss, der außerhalb + von FreeBSDs benutzbaren Bereich ist. + + boot0 ist ein ziemlich simples + Programm, und zwar aus dem einfachen Grund, dass der MBR nur + 512 bytes groß sein darf. Falls Sie den FreeBSD MBR + installiert haben und sich mehrere Betriebssysteme auf Ihrer + Festplatte befinden, werden Sie beim Starten des Computers + eine Anzeige sehen, ähnlich der Folgenden: + + + + <filename>boot0</filename> Screenshot + + F1 DOS +F2 FreeBSD +F3 Linux +F4 ?? +F5 Drive 1 + +Default: F2 + + + Diverse Betriebssysteme, insbesondere Windows 95 und + Nachfolger, überschreiben den MBR ungefragt mit ihrem + eigenen. Falls einem dies passiert sein sollte, kann man mit + folgendem Kommando den momentanen MBR durch den FreeBSD MBR + ersetzen: + + &prompt.root; fdisk -B -b /boot/boot0 Gerät + + Wobei Gerät das Gerät ist, von + dem gebootet wird, also z.B. ad0 + für die erste IDE Festplatte, + ad2 für die erste IDE Festplatte + am zweiten IDE Controller, da0 + für die erste SCSI Festplatte, usw. + + + + Phase Eins, <filename>/boot/boot1</filename> und Phase Zwei, + <filename>/boot/boot2</filename> + + Im Prinzip sind die erste und die zweite Phase Teile des + selben Programms, im selben Bereich auf der + Festplatte. Aufgrund von Speicherplatz-Beschränkungen + wurden sie aufgeteilt, aber man installiert sie eigentlich + generell zusammen. + + Sie befinden sich beide auf im Bootsektor des Boot-Slices, + wo boot0 und jedes andere + Programm im MBR das Programm erwartet, das + den weiteren Bootvorgang durchführt. Die Dateien im + Verzeichnis /boot sind nur Kopien der + eigentlichen Dateien, die sich außerhalb FreeBSDs Dateisystems + befinden. + + boot1 ist ebenfalls ein sehr simples + Programm, da es auch nur 512 byte groß sein darf, und es + besitzt gerade genug Funktionalität um FreeBSDs + disklabel, das Informationen über + den Slice enthält, auszulesen um + boot2 zu finden und + auszuführen. + + boot2 ist schon ein wenig + umfangreicher und besitzt genügend Funktionalität um + Dateien in FreeBSDs Dateisystem zu finden. Außerdem hat es + eine einfache Schnittstelle, die es ermöglicht, den zu + ladenden Kernel oder Loader auszuwählen. + + Da der loader einen + weitaus größeren Funktionsumfang hat und eine schöne + und einfach zu bedienende Boot-Konfigurations-Schnitstelle zur + Verfügung stellt, wird er gewöhnlich von + boot2 anstatt des Kernels + gestartet. Früher war es jedoch dazu da den Kernel direkt + zu starten. + + + <filename>boot2</filename> Screenshot + + >> FreeBSD/i386 BOOT +Default: 0:ad(0,a)/kernel +boot: + + + Um das installierte + boot1 und boot2 zu + ersetzen, benutzt man &man.disklabel.8;: + + &prompt.root; disklabel -B Slice + + Wobei Slice Laufwerk und Slice + darstellt, von dem gebootet wird, also + z.B. ad0s1 für den ersten Slice + auf der ersten IDE Festplatte. + + + Dangerously Dedicated Mode + + Wenn man nur den Festplatten-Namen, also + z.B. ad0, in &man.disklabel.8; + benutzt wird eine "dangerously dedicated disk" erstellt, + ohne slices. Das ist ein Zustand, den man meistens nicht + hervorrufen möchte. Aus diesem Grund sollte man ein + &man.disklabel.8; Kommando noch einmal prüfen, bevor + man Return betätigt. + + + + + Phase drei, <filename>/boot/loader</filename> + + boot-loader + Der boot-loader ist der letzte von drei Schritten im + Bootstrap Prozess und kann im Dateisystem normalerweise unter + /boot/loader gefunden werden. + + Der Loader soll eine Benutzerfreundliche + Konfigurations-Schnittstelle sein mit einem einfach zu + bedienenden eingebauten Befehlssatz, ergänzt durch einen + umfangreichen Interpreter mit einem komplexeren + Befehlssatz. + + + Loader Ablauf + + Der Loader sucht während seiner Initialisierung + nach Konsolen und Laufwerke, findet heraus, von welchem + Laufwerk er gerade bootet und setzt dementsprechend + bestimmte Variablen. Dann wird ein Interpreter gestartet, + der Befehle interaktiv oder von einem Skript empfangen + kann. + loader + loader Konfiguration + + Danach liest der Loader die Datei + /boot/loader.rc aus, welche ihn + standardmäßig anweist + /boot/defaults/loader.conf zu lesen, wo + sinnvolle Standardeinstellungen für diverse Variablen + festgelegt werden und wiederum + /boot/loader.conf für lokale + Änderungen an diesen Variablen ausgelesen + wird. Anschließend arbeitet dann + loader.rc entsprechend dieser Variablen + und lädt die ausgewählten Module und den + gewünschten Kernel. + + Abschließend wartet der Loader standardmäßig 10 + Sekunden lang auf eine Tastatureingabe und bootet den + Kernel, falls keine Taste betätigt wurde. Falls doch + eine Taste betätigt wurde wird dem Benutzer eine + Eingabeaufforderung angezeigt. Sie nimmt einen einfach zu + bedienenden Befehlssatz entgegen, der es dem Benutzer + erlaubt änderungen an Variablen vorzunehmen, Module zu + laden, alle Module zu entladen oder schließlich zu booten + bzw. neu zu booten. + + + + + Die eingebauten Befehle des Loaders + + Hier werden nur die gebräuchlichsten Befehle + bearbeitet. Für eine erschöpfende Diskussion aller + verfügbaren Befehle konsultieren Sie bitte + &man.loader.8;. + + + + autoboot Sekunden + + + Es wird mit dem Booten des Kernels fortgefahren, + falls keine Taste in der gegebenen Zeitspanne + betätigt wurde. Es wird ein Countdown angezeigt und + die standardmässige Zeitspanne ist 10 + Sekunden. + + + + + boot + -options + Kernelname + + + Bewirkt das sofortige booten des Kernels mit den + gegebenen Optionen, falls welche angegeben wurden, und + mit den angegebenen Kernel, falls denn einer angegeben + wurde. + + + + + boot-conf + + + Bewirkt die automatische Konfiguration der Module, + abhängig von den entsprechenden Variablen. Dieser + Vorgang ist identisch zu dem Vorgang, den der Bootloader + ausführt und daher nur sinnvoll, wenn zuvor + unload benutzt wurde und Variablen + (gewöhnlich kernel) verändert + wurden. + + + + + help + Thema + + + Zeigt die Hilfe an, die zuvor aus der Datei + /boot/loader.help gelesen + wird. Falls index als Thema angegeben + wird, wird die Liste der zur Verfügung stehenden + Hilfe-Themen angezeigt. + + + + + include Dateiname + … + + + Verarbeitet die angegebene Datei. Das Einlesen und + Interpretieren geschieht Zeile für Zeile und wird im Falle eines + Fehlers umgehend unterbrochen. + + + + load + Typ + Dateiname + + + Lädt den Kernel, das Kernel-Modul, oder die Datei + des angegebenen Typs. Optionen, die auf den Dateinamen folgen, werden + der Datei übergeben. + + + + ls + Pfad + + + Listet die Dateien im angegebenen Pfad auf, oder das + root-Verzeichnis(/), falls kein Pfad angegeben + wurde. Die Option bewirkt, dass die + Dateigrössen ebenfalls angezeigt werden. + + + + lsdev + + + Listet alle Geräte auf, für die Module geladen + werden können. Die option bewirkt + eine detailreichere Ausgabe. + + + + + lsmod + + + Listet alle geladenen Module auf. Die option + bewirkt eine detailreichere + Ausgabe. + + + + + more Dateiname + + + Zeigt den Dateinhalt der angegebenen Datei an, wobei + eine Pause alle LINES Zeilen gemacht + wird. + + + + + reboot + + + Bewirkt einen umgehenden Neustart des Systems. + + + + + set Variable + set + Variable=Wert + + + Setzt die Umgebungsvariablen des Loaders. + + + + + unload + + + Entlädt sämtliche geladenen Module. + + + + + + + Beispiele für die Loader Bedienung. + + Hier ein paar praktische Beispiele für die Bedienung des Loaders. + + + Single-User Modus + + Um den gewöhnlichen Kernel im Single-User Modus zu + starten: + + boot -s + + + + Um alle gewöhnlichen Kernelmodule zu entladen und dann + nur den alten (oder jeden beliebigen anderen) Kernel zu + laden: + + kernel.old + + + unload +load kernel.old + + Es kann kernel.GENERIC verwendet + werden, um den allgemeinen, Kernel zu bezeichnen, der + vorinstalliert wird. kernel.old + bezeichnet den Kernel, der vor dem aktuellen installiert + war (falls man einen neuen Kernel compiliert und + installiert hat, zum Beispiel). + + Der folgende Befehl lädt die gewöhnlichen Module mit + einem anderen Kernel: + + unload +set kernel="kernel.old" +boot-conf + + + + Folgendes lädt ein Kernel-Konfigurations-Skript (ein + automatisiertes Skript, dass das Selbe tut, was der + Benutzer normalerweise von Hand an der Eingabeaufforderung + durchführen würde): + + load -t userconfig_script /boot/kernel.conf + + + + + + + + Kernel Interaktion während des Bootprozesses + + kernel + boot interaction + + + Wenn der Kernel einmal geladen ist, entweder durch den Loader (die Standardmethode) oder + durch boot2 (den Loader + umgehend), verhält sich gemäß seiner Boot-Flags, falls es + welche gibt. + + + + kernel + bootflags + + Kernel Boot-Flags + + Es folgt eine Auflistung der gebräuchlichsten + Boot-Flags: + + + + + + + Bewirkt, dass der Benutzer während der + Kernel-Initialisierung gefragt wird, welches Gerät als + Root-Dateisystem gemounted werden soll. + + + + + + + + Es wird von CDROM gebootet. + + + + + + + + UserConfig, das Boot-Zeit Konfigurationsprogramm, + wird gestartet. + + + + + + + + Bewirkt den Start des Single-User Modus. + + + + + + + + Zeigt mehr Informationen während des Starten des + Kernels an. + + + + + + Für Informationen über weitere Boot-Flags konsultieren + Sie bitte &man.boot.8;. + + + + + + + + init + + Init: Initialisierung der Prozess-Kontrolle + + Nachdem der Kernel den Bootprozess abgeschlossen hat + übergibt er die Kontrolle an den Benutzer-Prozess + init. Dieses Programm befindet sich in + /sbin/init, oder dem Pfad, der durch die + Variable init_path im Loader + spezifiziert wird. + + + Der automatische Reboot-Vorgang + + Der automatische Reboot-Vorgang stellt sicher, dass alle + Dateisysteme des Systems konsistent sind. Falls dies nicht der + Fall ist und die Inkonsistenz nicht durch + fsck behebbar ist, schaltet + init das System in den Single-User Modus, damit der + Systemadministrator sich des Problems annehmen kann. + + + + Der Single-User Modus + Single-User Mode + console + + Das Schalten in diesen Modus kann erreicht werden durch den automatischen + Reboot-Vorgang, durch das Booten mit der Option + oder das Setzen der + boot_single Variable in + Loader. + + Weiterhin kann der Single-User Modus aus dem Multi-User Modus heraus durch + den Befehl shutdown ohne die reboot + () oder halt () Option + erreicht werden. + + Falls die System-Konsole (console) in + /etc/ttys auf insecure + (dt.: unsicher) gesetzt ist fordert das System allerdings zur + Eingabe des root Passworts auf, bevor es den Single-User Modus + aktiviert. + + + Auf Insecure gesetzte Konsole in /etc/ttys + + # name getty type status comments +# +# This entry needed for asking password when init goes to single-user mode +# If you want to be asked for password, change "secure" to "insecure" here +console none unknown off insecure + + + + Eine Konsole sollte auf insecure + gesetzt sein, wenn die physikalische Sicherheit der Konsole + nicht gegeben ist und sichergestellt werden soll, dass nur + Personen, die das root-Passwort kennen den Single-User Modus + benutzen können. Es bedeutet nicht, dass die Konsole + "unsicher" laufen wird. Daher sollte man + insecure wählen, wenn man auf Sicherheit + bedacht ist, nicht secure. + + + + + Multi-User Mode + Multi-User Mode + + Stellt init fest, dass das Dateisystem + in Ordnung ist, oder der Benutzer den Single-User Modus beendet, + schaltet das System in den Multi-User Modus, in dem dann die + Ressourcen Konfiguration des Systems gestartet wird. + + + rc Dateien + Ressourcen Konfiguration (engl.: resource configuration, rc) + + Das Ressourcen Konfigurationssystem liest seine + Standardkonfiguration von + /etc/defaults/rc.conf und + System-spezifische Details von + /etc/rc.conf. Dann mountet es das + Dateisystem gemäß /etc/fstab, startet + die Netzwerkdienste, diverse System Daemons und führt + schließlich die Startup-Skripte der lokal installierten + Programmpakete (packages) aus. + + Die &man.rc.8; Handbuch Seite ist eine gute Quelle für + Informationen über das Ressourcen Konfigurationssystem und + ebenso über die Skripte ansich. + + + + + + Der Shutdown Vorgang + + shutdown + + + Im Falle eines kontrollierten herunterfahrens durch + shutdown führt init das + /etc/rc.shutdown Skript aus, sendet dann + sämtlichen Prozessen ein TERM Signal und + schließlich ein KILL Signal an alle Prozesse, + die sich nicht schnell genug beendet haben. + + + +