Auszug vmlinux aus vmlinuz oder bzImage
Möchte ich erzeugen-System.Karte von vmlinuz,verursachen die meisten Maschinen nicht über das Dateisystem.Karte.In der Tat,vmlinuz komprimiert werden, um in vmlinuz oder bzImage.
Ist es irgendein tool oder Skript kann dies tun?
Habe ich versucht:
dd if=/boot/vmlinuz skip=`grep -a -b -o -m 1 -e $'\x1f\x8b\x08\x00' /boot/vmlinuz | cut -d: -f 1` bs=1 | zcat > /tmp/vmlinux
Es wurde versäumt:
zcat: stdin: not in gzip format
32769+0 records in
32768+0 records out
Sind Sie sicher? Es gibt keine Symbole, die in Dateien extrahiert haben ;-(
superuser.com/questions/298826/...
superuser.com/questions/298826/...
InformationsquelleAutor hellolwq | 2012-08-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Extrahieren der nicht-komprimierte kernel aus dem kernel-image, können Sie die
extract-vmlinux
Skript aus derscripts
Verzeichnis im kernel-tree (zumindest in der kernel-version 3.5) (falls Sie eine Fehlermeldung erhalten, wiemüssen Sie ersetzen
$(mktemp /tmp/vmlinux-XXX)
durch$(mktemp /tmp/vmlinux-XXXXXX)
im Skript). Der Befehl ist/path/to/kernel/tree/scripts/extract-vmlinux <kernel image> >vmlinux
.Wenn das extrahierte kernel-Binär-symbol enthält Informationen, die Sie should1 in der Lage sein zu erstellen, die
System.map
- Datei mit dermksysmap
Skript aus dem gleichen Unterverzeichnis. Der Befehl hier istNM=nm /path/to/kernel/tree/scripts/mksysmap vmlinux System.map
.1 Die kernel-images ausgeliefert mit meiner Verteilung scheinen abgestreift werden, damit das Skript war nicht in der Lage zu Holen Sie sich die Symbole.
Hm, ich hatte eigentlich das gleiche problem, die Ursache war, dass das script Fehler beim erstellen eines erforderlichen temporären Datei /tmp/vmlinux-XXX (in meinem Fall, ich brauchte, um zu ändern, dass unter /tmp/vmlinux-XXXXXX, um es arbeiten, die benötigte Anzahl der X ' es sollte erwähnt werden, dass in der manual-Seite für mktemp). Der Auszug-vmlinux-Skript ab der version 3.5.2 auch mit drei X ' es statt sechs, so könnte dies wahrscheinlich das problem sein...
Für ARM schlägt er mit "extrahieren-vmlinux: Nicht vmlinux": "unix.stackexchange.com/questions/352215/...
InformationsquelleAutor Abrixas2
Als Abrixas2 schrieb, benötigen Sie einen kernel-Bild mit symbol-Informationen, um System.map-Dateien und gepackte vmlinuz Bild ist nicht wahrscheinlich, um die Symbole in ihm. Ich kann, jedoch, stellen Sie sicher, dass das Skript in Ihrem ursprünglichen post arbeitet mit '-e' ersetzt mit '-P' und '$' gelöscht, d.h.,
Es funktioniert für mich. Ausgezeichnet. Gespeichert viel von meiner Zeit. Keine Notwendigkeit, laden Sie die Quell-oder die manuelle Schritte, um Sie zu Dekomprimieren.
InformationsquelleAutor Daniel Genin
Bin ich auf ubuntu-linux.
Sie können ändern
$'\037\213\010\000'
zu"$(echo '\037\213\010\000')"
in shInformationsquelleAutor mug896