Talvez você tenha entendido mal o que o autor desse post significava.
-
O arquivo
vmlinuz
contém outras coisas além do conteúdo gzipado, então você precisa descobrir onde o conteúdo gzipado é iniciado. Para fazer isso, use:od -A d -t x1 vmlinuz | grep '1f 8b 08 00'
O que isto faz é mostrar a você onde, nesse arquivo, você pode encontrar o cabeçalho gzip. A saída se parece com:
0024576 24 26 27 00 ae 21 16 00 1f 8b 08 00 7f 2f 6b 45
Isso significa que em
0024576
(pelo menos para o autor do post, o seu pode ser um lugar completamente diferente) no arquivovmlinuz
, você encontrará os valores binários "24 26 27 00 ae 21 16 00 1f 8b 08 00 7f 2f 6b 45
". Você está procurando por1f 8b 08 00
, que pode ser encontrado a partir do caractere 9 em diante, ou, em0024576 + 8
(comece a contar de 0)= 24584
. -
Agora que você sabe onde o conteúdo gzip começa (na posição
24584
) você pode usardd
para extrair o conteúdo gzipado e soltá-lo. Para fazer isso, use:dd if=vmlinuz bs=1 skip=24584 | zcat > vmlinux
O primeiro comando irá procurar essa posição e copiar tudo para stdout.
zcat
, em seguida, irá descompactar tudo o que obtém de stdin e emitirá a cadeia não compactada para stdout. Em seguida, o>
redirecionará a saída dezcat
para um novo arquivo chamadovmlinux
.