Recém-compilado kernel não inicializado (vanilla kernel 3.12.14)

3

Eu baixei, configurei e instalei o kernel baixado do kernel.org. Ao inicializar este novo kernel pela primeira vez, esta tela de erro mostra qual está apontando para um dispositivo raiz ausente ou indevidamente mencionado. Mas eu não mencionei isso explicitamente, os scripts de instalação fizeram isso. Então, se este é o erro, alguém pode dizer como corrigir?

Ou se a causa pode ser outra coisa, por favor, diga o que pode ser?

NOTA: Estou usando o VirtualBox para todo esse processo. Não quero que meu laptop se torne não inicializável para este experimento.

NOTAS:

  1. As entradas do Grub são boas, como é o mesmo para outro kernel em execução neste sistema e outro kernel está funcionando bem.
  2. O DEVTMPS está apenas criando um aviso, acho que os programadores se preocupam apenas com erros, não com avisos, portanto, espero que essa não seja a principal causa também.
  3. TSC está dando um erro, eu investiguei, provavelmente é um modo de relógio, nada muito relacionado ao dispositivo raiz.
  4. Mais uma vez, o UUID não é um problema, porque outra entrada do kernel do kernel em funcionamento está usando o mesmo ID e inicializando corretamente.
por JuliandotNut 07.04.2014 / 23:39

2 respostas

1

Encontrei !!! Foram os drivers para o meu controlador de disco rígido, o SATA AHCI não foi adicionado durante a configuração do kernel antes da compilação. Agora eu adicionei, recompilei e viola! novo kernel instalado inicializado. :)

    
por 08.04.2014 / 00:34
2

Você está perdendo um dos drivers necessários para acessar seu sistema de arquivos raiz. O código no initramfs está procurando por um dispositivo de bloco para montar e falhar, então o problema está em acessar esse dispositivo. Você não receberá uma mensagem mais explícita porque o código no initramfs só pode ver a que ele tem acesso e o problema é que ele não tem acesso ao dispositivo raiz desejado.

Você pode executar make localmodconfig no diretório de origem do kernel para configurar um kernel, incluindo todos os drivers que estão atualmente em uso. Melhor ainda, use o kernel da sua distribuição (a única razão comum para não fazer isso é se você tem hardware recente demais para ser suportado), ou pelo menos use a configuração do kernel da sua distribuição. Como você está usando o Ubuntu, observe que você pode encontrar kernels pré-compilados mais recentes se você precisar deles.

Se você realmente quiser configurar seu próprio kernel, aqui está uma lista de verificação para o que você precisa incluir para poder inicializar. Note que eu listo apenas requisitos comuns, isso não é uma lista exaustiva.

  • SCSI , BLK_DEV_SD (→ scsi_mod , sd_mod ) para a maioria dos discos rígidos e dispositivos semelhantes (com conjuntos de comandos SCSI ou SCSI, incluindo ATA);
  • os ATA_xxx , PATA_xxx , SATA_xxx , SCSI_xxx ou outros (por exemplo, ata_generic , libata e ahci para o controlador AHCI nos chipsets Intel PC) corretos para o seu controlador de disco rígido;
  • MD , BLK_DEV_MD e o modo RAID correto (→ md_mod e, por exemplo, raid1 ), se aplicável;
  • MD , BLK_DEV_DM (→ md_mod , dm_mod ) para LVM;
  • MD , BLK_DEV_DM , DM_CRYPT e os algoritmos criptográficos necessários (→ md_mod , dm_mod , dm_crypt e por exemplo aes_generic , sha256_generic , cbc e mais alguns) para dm- cripta;
  • EXT4_FS (→ ext4 ) ou outro sistema de arquivos.

Estes podem ser construídos no kernel ou compilados como módulos. Se você compilar como módulos, não esqueça de incluir os módulos no initramfs. Se você usar a infraestrutura de criação de kernel do Ubuntu , tudo será feito automaticamente quando você instalar o pacote do kernel.

    
por 08.04.2014 / 01:01