Talvez você tenha entendido mal o que o autor desse post significava.
-
O arquivo
vmlinuzconté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 45Isso 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 usarddpara extrair o conteúdo gzipado e soltá-lo. Para fazer isso, use:dd if=vmlinuz bs=1 skip=24584 | zcat > vmlinuxO 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 dezcatpara um novo arquivo chamadovmlinux.