Sind vmlinuz und bzImage wirklich gleich?

8

Ich bin gerade auf diese Seite gestoßen, auf der steht, dass bzImage und vmlinuz identisch sind.

bzImage wird dann mit dem Befehl cp (dh copy) in das Verzeichnis / boot kopiert und gleichzeitig mit einem Befehl wie z

cp /usr/src/linux/arch/i386/linux/boot/bzImage /boot/vmlinuz

Das beunruhigt mich, denn bis jetzt war mein Verständnis wie folgt:

  • vmlinux: Einfache Linux-ELF-Datei, so wie sie vom Linker erstellt wurde, einschließlich Symbolen und allem.
  • vmlinuz: gzipped vmlinuxDatei, die alle ihre Symbole entfernt wurde
  • zImage: bootsect.o + setup.o + misc.o + piggy.o (piggy.o enthält das Piggy-Backed vmlinuz). zImageist bootfähig, da es den darin enthaltenen Kernel dekomprimieren und ausführen kann.
  • bzImage: das gleiche wie mit der zImageAusnahme, dass es etwas anders aufgebaut ist, wodurch es größere Kernel tragen kann.

Kannst du mir sagen, wer richtig ist?

Mir ist diese Stack Exchange-Antwort bekannt , aber sie beantwortet meine Frage nicht explizit. Implizit habe ich jedoch das Gefühl, dass dies mein Verständnis unterstützt.


Bonus-Frage

Welche der oben genannten Dateien uImageenthält?

Multisync
quelle

Antworten:

6

"Vmlinuz" als Formatname bedeutet "gezippte vmlinux-Datei, deren Symbole entfernt wurden". Jedoch als Dateinamen, wird oft für jedes Kernel - Image verwendet , die in einem komprimierten Format ist , dass ein Bootloader - Träger wie das zImage Format oder das bzimage Format. Der Name ist bei x86-Distributionen beliebt, unabhängig vom tatsächlichen Format der Datei (normalerweise bzimage). Der Name gibt im Allgemeinen ein weiteres Format an, das vom U-Boot- Bootloader verwendet wird und auf eingebetteten Systemen beliebt ist. Eine Datei enthält einen U-Boot-spezifischen Header, gefolgt von einem Kernel-Image, das in verschiedenen Formaten vorliegen kann ( weitere Informationen finden Sie in der Antwort von sawdust auf Stack Overflow ).vmlinuzvmlinuzuImageuImage

Gilles 'SO - hör auf böse zu sein'
quelle