Frage

Gibt es etwas, das der Kernel aus dem Boot bekommen müssen loader.Usually der Kern der Erziehung ein System von Grund auf neu fähig ist, also warum erfordert es alles von Boot-Loader? Ich habe von Kernel wie diese Boot-Meldungen zu sehen.

"Fetching vars from bootloader... OK"

Was genau werden die Variablen übergeben? Auch, wie werden die Variablen aus dem Boot-Loader übergeben? Ist es durch Stapel?

War es hilfreich?

Lösung

Der Kernel akzeptiert so Befehlszeilenoptionen genannt, der Text basieren. Dies ist sehr nützlich, weil Sie eine Menge tun können, ohne den Kernel neu kompilieren zu müssen. Wie für die Argumentübergabe ist es Architektur abhängig. Auf ARM wird durch einen Zeiger auf eine Stelle in dem Speicher oder einer festen Stelle im Speicher durchgeführt.

Hier ist, wie es gemacht wird auf ARM rel="nofollow. Normalerweise wird ein Kernel ist nicht in der Lage, die Maschine von Grund auf neu zu booten. Können von den BIOS sein, aber es ist dann nicht von Grund auf neu. Es braucht einige Initialisierung, das ist der Job des Bootloaders ist.

Andere Tipps

Es gibt einige Parameter, dass der Linux-Kernel von dem Bootloader übernimmt, von dem, was ich mich erinnern kann jetzt das vga parametre ist. Zum Beispiel:

kernel /vmlinuz-2.6.30 root=/dev/disk/by-uuid/3999cb7d-8e1e-4daf-9cce-3f49a02b00f2 ro vga=0x318

Haben Sie einen Blick auf 10 Booten Parameter, die Sie über den Linux-Kernel wissen sollten, die einige der gemeinsamen Parameter erklärt.

Für die Linux-Kernel, gibt es einige Dinge die Bootloader den Kernel zu erzählen. Es umfasst Dinge wie die Kernel-Kommandozeile (wie einige andere Leute bereits genannt), wobei in dem Speicher der initrd geladen wurde und seine Größe, wenn ein initrd (der Kernel verwendet wird kann es von selbst nicht geladen werden, oft, wenn ein initrd verwenden, benötigt die Module Speichergeräte innerhalb der initrd sind acess, und es kann auch zu tun haben, einige ziemlich komplexe Setup vor der Lagerung) zugreifen zu können, und mehrere verschiedene Krimskrams.

Siehe Dokumentation / x86 / boot.txt (Link-Version 2.6.30 ist) für weitere Einzelheiten für die traditionelle x86-Architektur (sowohl 32-Bit- und 64-Bit), einschließlich, wie diese Variablen an dem Kernel Setup-Code übergeben werden.

Der Bootloader verwendet keinen Stapel Argumente an den Kernel übergeben. Zumindest im Fall von Linux, ist es eine ziemlich komplexe Speicherstruktur, die der Bootloader in füllt, dass der Kernel weiß, wie zu analysieren. Dies ist, wie der Bootloader den Kernel zu seiner Befehlszeile verweist. Siehe documentaion / x86 / boot.txt für weitere Informationen.

Linux akzeptiert Variablen aus dem Bootloader bestimmte Optionen verwendet werden können. Ich weiß, dass eines der Dinge, die Sie tun können, ist es so, dass Sie sich einige andere Optionen nicht log-in (Wiederherstellungsmodus) und es gibt. Es hauptsächlich erlaubt nur Korrekturen durchgeführt werden, wenn es ein Problem mit etwas oder Passwort ändern. Dies ist, wie die Ubuntu Live-CD bootet Linux, wenn Sie wählen Sie eine andere Option verwenden.

Normalerweise werden die Befehlszeilenparameter aufgerufen Parameter, die Modul von Bootloader auf Kernel übergeben wird. Bootloader verwenden viele der BIOS-Interrupts zu erfassen,

memory
HDD
Processor
Keyboard
Screen
Mouse
ETC...

und alle harwares Details zur Bootzeit erkannt werden werden, dass im Real-Modus ist, dann ist dieser Parameter übergeben zu Kernel.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top