In einem Linuxkernel kann ja allerhand an "Zusatzdaten" stecken, z.b. die eigene .config, Kernelheaderfiles, Firmwareblobs, initramfs, etc. bla.
Was fuer tools gibt's denn, um aus so einem Kernelimage (also dem bzImage) diese Zusatzdaten zu extrahieren, ohne z.b. den Kernel zu booten?
In einem Linuxkernel kann ja allerhand an "Zusatzdaten" stecken, z.b.
die eigene .config, Kernelheaderfiles, Firmwareblobs, initramfs, etc.
bla.
Hier hat das Eine nichts mit dem Anderen zu tun.
Ein Kernel ist ein Kernel.
Headerfiles sind Headerfiles.
Ein initramfs ist noch einmal etwas völlig Anderes.
Hier hat das Eine nichts mit dem Anderen zu tun.
Ein Kernel ist ein Kernel.
Headerfiles sind Headerfiles.
Ein initramfs ist noch einmal etwas völlig Anderes.
Klar sind das alles unterschiedliche Dinge. Sind aber letztendlich alles irgendwelche (komprimierten) Haufen/Archive mit Daten.
Und das hat insofern miteinander zu tun, als das ich das alles in ein Kernelimage reinmanschen kann. Und wenn ich's schon reinmanschen kann, waer's schick, es auch aus fertigen Kernelimages wieder rausmanschen zu koennen. Der Kernel selbst kanns ja auch.
Sind aber letztendlich alles
irgendwelche (komprimierten) Haufen/Archive mit Daten.
Nein. Der Kernel ist ein komprimiertes Binary. In dem "Archiv" befindet sich nur eine einzige Datei. Nackter Maschinencode, der am Stück in den Speicher geladen und ausgeführt wird.
Die initial Ramdisk ist was anderes, das ist ein komplettes Filesystem, in das man rein gucken kann.
Merci fuer den Link von/an Hmmm.
Die machen das zwar hemdsaermelig mit binwalk, dd usw., aber handeln ungefaehr das ab, was ich suche.
Scheint also kein tool ootb fuer alles zu geben.
An den Universalexperten:
Es ist ja keine Schande, wenn man von was keine Ahnung hat. Wie z.b. ich, wenn ich was aus Kernelimages extrahieren will.
Aber wenn ich schon im Eingangspost ziemlich genau schreibe, was ja alles in einem Kernel so an "Extragimmicks" drinnensein kann, und dann kommt so was:
Nein. Der Kernel ist ein komprimiertes Binary. In dem "Archiv" befindet
sich nur eine einzige Datei. Nackter Maschinencode, der am Stück in den
Speicher geladen und ausgeführt wird.
oder ich schreibe was von initramfs und dann kommt sowas:
Die initial Ramdisk ist was anderes, das ist ein komplettes Filesystem,
in das man rein gucken kann.
Da kann ich nur sagen: Seit mal alle ganz leise und horcht - das kirschende Geraeusch kommt von mir, ich rolle mit den Augen ;-)
An die Konfiguration des Kernels kommt man mit extract-ikconfig, sofern der Kernel mit der entsprechenden Option gebaut worden ist. Bei Arch-Kerneln ist das der Fall (hab grad zur Sicherheit nachgeschaut).
Und ja, das initramfs ist nur ein Archiv, kein Image. Kann man reingucken, wenn man mag.
Wenn es für ein ARM Embedded Gerät ist halte Ausschau nach dem DTB, der kann sehr aufschlussreich sein. Ja nach System ist der zusammen mit dem Kernel Image zusammen gepackt, allerdings gerne in einem proprietären Format (z.B. bei Rockchip).
In einem Linuxkernel kann ja allerhand an "Zusatzdaten" stecken, z.b.
die eigene .config, Kernelheaderfiles, Firmwareblobs, initramfs, etc.
bla.
Was fuer tools gibt's denn, um aus so einem Kernelimage (also dem
bzImage) diese Zusatzdaten zu extrahieren, ohne z.b. den Kernel zu
booten?
Naja, DER Kernel ist eigentlich nur ein Binary, bzw. Set of Binaries.
Aber warum fragst Du nicht Google? Z.B.:
binwalk gibt schon bei Kernel 5 und 6 unterschiedliche Strukturen aus, da kann das Inspizieren der Kernel-Files schon etwas herausfordernder werden.
Ich habs nicht getestet - kannst ja mal berichten ...
Aber wenn ich schon im Eingangspost ziemlich genau schreibe, was ja
alles in einem Kernel so an "Extragimmicks" drinnensein kann
Was du dort geschrieben hast stimmt aber nicht!
Zumal ich auch bezweifeln würde, daß der Kernel Headerfiles oder sowas beinhaltet, also reiner Text-Kram ... aber "das gute W" vermischt das vermutlich mit dem initrd-Kram ...
Zumal ich auch bezweifeln würde, daß der Kernel Headerfiles oder sowas
beinhaltet, also reiner Text-Kram ... aber "das gute W" vermischt das
vermutlich mit dem initrd-Kram ...
Nee, derguteweka scheint nur im Gegensatz zu dir und Anderen diese Kernelkonfigurationsoptionen zu kennen:
In einem Linuxkernel kann ja allerhand an "Zusatzdaten" stecken, z.b.
die eigene .config, Kernelheaderfiles, Firmwareblobs, initramfs, etc.
bla.
Anm.: Initramfs ist der Nachfolger von Initrd
Die Einbettung der Sourcen in den Kernel ist ein ganz spezieller Sonderfall. Deine Frage war hingegen allgemein formuliert. Erinnerst du dich?: Ich habe in der ersten Antwort nachgehakt, was du vor hast. Wenn es um ein ganz speziellen Fall geht, dann schreibe das!
PS: Warum schreibst du über dich selbst, als gehe es um eine andere Person? Du erhärtest so den Eindruck, absichtlich Verwirrung zu stiften. Du weißt das das zu Stunk führt. Willst du Stunk?