Wie erstelle ich aus Linux-Quellcode eine Binärdatei (.bin)?

Wie erstelle ich aus Linux-Quellcode eine Binärdatei (.bin)?

Ich habe einen modifizierten Linux-Kernel, den ich auf einem Hypervisor ausführen möchte. Bisher habe ich immer uImage verwendet, aber das Skript im Hypervisor erfordert eine ausführbare Datei. Wie kann ich aus dem Linux-Quellcode eine binäre ausführbare Datei erstellen? Ist das nach dem Erstellen erstellte vmlinux die endgültige binäre ausführbare Datei?

Antwort1

  1. vmlinux ist eine ELF-Datei, keine Binärdatei.

  2. Der Kernel-Build kann zImage erstellen, eine Binärdatei. Sie finden es $kernel/arch/arm/boot/zImagebei ARM unter. Beachten Sie, dass zImage eine komprimierte ZIP-Binärdatei ist und am Anfang von zImage ein Header angehängt ist. Mit diesem Header kann zImage sich selbst dekomprimieren.

Um zImage auszuführen, müssen Sie pc (Programmzähler) zum ersten Punkt von zImage verschieben.

verwandte Informationen