Ich möchte ein unkomprimiertes Kernel-Image verwenden und das BeagleBoard booten. Im Allgemeinen verwende ich uImage, um den Kernel zu starten, der im komprimierten Format vorliegt. Wie verwende ich ein unkomprimiertes Kernel-Image?
kernel
linux-kernel
u-boot
Sharanya
quelle
quelle
Antworten:
Soweit ich weiß, kann U-Boot ein "rohes" ELF-Image (
vmlinux
) nicht direkt booten . Sie müssen es in dasuImage
Format umwandeln, das die komprimiertenvmlinux
und einige zusätzliche Bytes an Metadaten enthält, die die Kernel-Ladeadresse beschreiben. In den U-Boot-FAQ 2.19 wird das Generieren erläutertuImage
. Es ist ziemlich einfach, dasmkimage
Dienstprogramm im U-Boot-Quellbaum zu verwenden:(Möglicherweise benötigen Sie zusätzliche Parameter, die die Ladeadresse angeben.)
quelle
Ändern Sie gzip im obigen Beispiel in none , und Sie erstellen ein U-Boot-kompatibles unkomprimiertes Image.
quelle
Wenn Sie Buildroot verwenden, wählen Sie eine
uImage
Kernel-Ausgabedatei (BR2_LINUX_KERNEL_UIMAGE=y
) aus. Normal kompilieren und Buildroot erstelltvmlinux
in einem Zwischenschritt auch eine Datei. Während dievmlinux
Datei nicht in das/output/images
Verzeichnis kopiert wird, kann sie in./output/build/linux-custom/
(oder durch Ausführenfind . -name "vmlinux"
) gefunden werden.quelle