Não é possível inicializar o kernel personalizado

2

Estou usando o Ubuntu 11.04

Eu tenho uma fonte de kernel 2.6.36.4 customizada (digamos em linux_src )

Did make mrproper Copiei minha configuração atual de /boot para linux_src/.config Fez um make menuconfig , instruiu para carregar o arquivo de configuração .config . Na configuração geral, adicionei a string rr ao número da versão do kernel. Saiu a configuração.

Fez um make && make modules_install && make install como superusuário. Isto criou a imagem vmlinuz-2.6.36.4rr em / boot; o diretório correspondente em / lib / modules. System.map em / boot, mas não na imagem initrd

Então eu corri o seguinte comando:

cd /boot && sudo mkinitramfs -k -o initrd.img-2.6.36.4rr

Por fim, corri sudo update-grub . O Grub encontrou minha nova imagem linux e a nova imagem initrd.

Na inicialização, o kernel recém-instalado foi listado nas minhas opções de inicialização. Eu selecionei, e então a tela ficou em branco (mas não preto , ele apenas mostrou algumas telas em branco do tema padrão do ubuntu) e ficou preso lá.

Suspeito que o processo de makeinitramfs foi o culpado.

Por outro lado, quando eu instalei o mesmo kernel usando make-kpkg e dpkg eu não tive que fazer outra coisa (nem mesmo o initramfs) e o kernel tinha sido inicializado perfeitamente (eu não deseja usar este método para instalar o kernel).

Por favor ajude.

EDIT: Eu fiz algum progresso

Em vez de usar:

cd /boot && sudo mkinitramfs -k -o initrd.img-2.6.36.4rr eu usei cd /boot && sudo mkinitramfs -k -o initrd.img-2.6.36.4rr 2.6.36.4rr

que eu acredito é a maneira correta de usar mkinitramfs.

No entanto, agora meu processo de inicialização termina em "desistiu de esperar pelo dispositivo raiz" e um prompt initramfs

    
por AnkurVj 19.09.2011 / 21:19

1 resposta

2

Lendo sua descrição, vejo que você não fez uma coisa importante na fase de configuração: make oldconfig depois de copiar o arquivo .config , mas antes de fazer make menuconfig (BTW, se a configuração for salva em .config arquivo no diretório de fontes, você não precisa carregá-lo explicitamente - isso é feito por padrão). Isso é necessário em todos os casos em que a nova versão do kernel é pelo menos um pouco diferente daquela em que .config veio.

Não tenho certeza sobre o seu método de criação initramfs - o único que usei foi o genkernel . Mas para determinar se o initramfs é o culpado, você pode apenas modificar a entrada do grub para apontar para o antigo arquivo initramfs (aquele usado pelo seu sistema atual). Além disso, quando o sistema está inicializando, muitas vezes você pode pressionar F1 para ver as mensagens de inicialização (pode ser necessário remover primeiro quiet da entrada do menu do carregador de inicialização).

Editar: Apenas um pensamento: pode haver um problema com a entrada do menu grub (encontrado em /boot/grub/grub.cfg ou /boot/grub/grub.conf ) - compare o antigo e o novo, talvez os parâmetros do kernel estejam errados (como errado real_root ). Simplesmente falando, as linhas após kernel devem ser as mesmas para além da localização do kernel e do initrd.

    
por 19.09.2011 / 21:51

Tags