Forum: Mikrocontroller und Digitale Elektronik Wie entpackt man ein uImage?


von lightsout (Gast)


Lesenswert?

Hallo an alle,

mit Buildroot erstelle ich meine Images um auf meinem Embedded System 
Linux und BusyBox zu starten. Wenn ich ein make mache erstellt er mir 
ein uImage mit dem ich mein System wie erwartet booten kann.

Ich möchte jetzt aber dieses uImage entpacken aber ich weiß nicht genau 
wie. Grund ist, ich möchte wissen was genau die 3 verschiedenen 
Kompressionsmodi (nicht Verfahren ! ;) denn komprimieren.

mit dem linux "file" Befehl erhalte ich nur die Informationen, dass es 
sich um ein u-Boot legacy Image haltet und es sich um eine binary Datei 
handelt.

Kann mir jemand einen Tipp geben wie ich das uImage auf dem host öffnen 
kann ? (Am liebsten ohne Hexeditor - schließlich will ich wissen was 
gepackt wird/wurde)

von packt man ein (Gast)


Lesenswert?

Das ist doch sowieso nur der Kernel, verpackt in ein u-boot-taugliches 
Format.

Schau' dir im Makefile mal das uImage target an...

von lightsout (Gast)


Lesenswert?

so weit ich weiß unterscheidet sich das uImage vom zImage nur durch 
seinen Header den es für u-boot braucht.

Nichts destoweniger, wenn ich im make menuconfig angebe, dass ich das 
rootfs auf eine bestimmte Art komprimiert haben möchte, sehe ich davon 
nicht viel (weder bei den Entpackzeiten noch hat sich die Größe 
geändert).

Und darum möchte ich das u/zImage öffnen und schauen, was dort 
eigentlich gepackt wird/wurd.

von Rolf Magnus (Gast)


Lesenswert?

lightsout schrieb:
> so weit ich weiß unterscheidet sich das uImage vom zImage nur durch
> seinen Header den es für u-boot braucht.

Wenn dem so ist, dann gibt's auch nichts zu entpacken. Das zImage ist 
einfach nur der Kernel. Aber laut man-Page von mkimage kann da auch das 
root-Filesystem mit drin stecken. Diese verrät übrigens auch, wie man 
den Inhalt des uImage anzeigt.

von lightsout (Gast)


Lesenswert?

Ja das ist

Rolf Magnus schrieb:
> lightsout schrieb:
>> so weit ich weiß unterscheidet sich das uImage vom zImage nur durch
>> seinen Header den es für u-boot braucht.
>
> Wenn dem so ist, dann gibt's auch nichts zu entpacken. Das zImage ist
> einfach nur der Kernel. Aber laut man-Page von mkimage kann da auch das
> root-Filesystem mit drin stecken. Diese verrät übrigens auch, wie man
> den Inhalt des uImage anzeigt.

das ist richtig.

In Buildroot gibts die 3 Kompressionsmodi:
Kernel-Kompr.
Built-In initramfs kompr.
und rootfs kompr.

die beiden ersteren funktionieren prima vom letzten erkenne ich gar 
nichts und darum würde ich gern reinschauen. Leider find ich im Netz 
nicht viel nützliches. Es muss ja irgendwie möglich sein, wenn man diese 
sachen zusammenschnüren kann, dass es auch wieder rückwärts geht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.