Extraindo o script de inicialização do bult-in intrfs para o Linux bzImage

4

Tenho o seguinte problema - danifiquei meu sistema ( Gentoo - reconstruindo usando gcc 4.5 além do reparo. Eu desmontei / home, copiei / etc + outros arquivos importantes e comecei a reinstalar o sistema.

No entanto, esqueci de copiar o script de inicialização. Ainda está presente na imagem do kernel que eu tenho. Como extrair isso? Por favor, note que o initrd não é um arquivo separado, mas está na imagem do kernel.

    
por Maciej Piechotka 19.04.2010 / 14:46

1 resposta

1

Após descompactar por:

HDR='binoffset bzImage 0x1f 0x8b 0x08 0x0'
dd if=bzImage bs=1 skip=$HDR | zcat - > kernel.unpack

(binoffset.c está nas fontes do Linux).

strings kernel.unpack | grep 070701

Dá a listagem do arquivo. Logo após a entrada de / init em

strings kernel.unpack | less

é o conteúdo do script.

Não é uma solução perfeita, mas pelo menos parece funcionar. Por favor, responda se você sabe o caminho 'correto' (para binários) fácil (não escrever programa longo) - Eu não estou marcando como solução.

    
por 19.04.2010 / 19:47