Atualização do kernel CentOS 5.3 mount: não foi possível encontrar o sistema de arquivos '/ dev / root'

3

Temos um servidor CentOS 5.3 x64 que, por padrão, executa a versão 2.6.18-164.11.1 do kernel e estamos tentando atualizar a caixa para 2.6.31.12 A unidade é LVM + ext3, e o problema que estou tendo é quando eu atualizo o kernel e tento inicializar a partir dele, não importa qual versão do kernel eu uso, eu recebo / dev / root não encontrado no final do kernel. processo de inicialização, eo kernel entra em pânico, e que reinicia.

Estou instalando o kernel exatamente como diz em este doc. Eu tentei "O caminho do centOS" usando make rpm e instalando isso. Eu atualizei meu mkinitrd. A parte mais interessante deste problema é que tem sido tão frustrante que eu decidi tentar limpar o centos em uma máquina idêntica sem o LVM, e o resultado é EXATAMENTE o mesmo. Depois de atualizar o kernel, recebo / dev / root não encontrado. Alguém sabe como consertar isso, ou que informação seria relevante para remediá-lo? Estou aberto para tentar qualquer coisa neste momento.

Uma coisa mais interessante sobre esse problema é que na nova versão do kernel, durante a inicialização ele reclama que o dm-mapper é iniciado duas vezes, do que em pânico depois disso. Eu tentei isso com outras versões do kernel, e o resultado é o mesmo. O que estou perdendo aqui?

Se você precisar de mais arquivos, basta perguntar.

 Linux cg 2.6.18-164.11.1.el5 #1 SMP Wed Jan 20 07:32:21 EST 2010 x86_64 x86_64 x86_64 GNU/Linux
  /dev/VolGroup00/LogVol00 /                       ext3    defaults        1 1
    LABEL=/boot             /boot                   ext3    defaults        1 2
    tmpfs                   /dev/shm                tmpfs   defaults        0 0
    devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
    sysfs                   /sys                    sysfs   defaults        0 0
    proc                    /proc                   proc    defaults        0 0
    /dev/VolGroup00/LogVol01 swap                    swap    defaults        0 0
default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.31.12-rt20) //NOT WORKING!!!!
        root (hd0,0)
        kernel /vmlinuz-2.6.31.12-rt20 ro root=/dev/VolGroup00/LogVol00 isolcpus=8,9,10,11,12,13,14,15 panic=10
        initrd /initrd-2.6.31.12-rt20.img
title CentOS (2.6.18-164.11.1.el5) //WORKING!!
        root (hd0,0)
        kernel /vmlinuz-2.6.18-164.11.1.el5 ro root=/dev/VolGroup00/LogVol00 isolcpus=8,9,10,11,12,13,14,15 panic=10
        initrd /initrd-2.6.18-164.11.1.el5.img
    
por matt 01.02.2010 / 05:38

6 respostas

3

Vou adicionar meu comentário anterior como uma resposta aqui, pois isso foi recompensado. Desculpas pela tentativa flagrante de marcar pontos de reputação.

Eu tive exatamente este mesmo problema e resolvi isso alterando a configuração de

CONFIG_SYSFS_DEPRECATED_V2=Y

no arquivo .config. como mencionado nesta pergunta por godpapa.

Basta procurar por CONFIG_SYSFS_DEPRECATED_V2 e alterá-lo para Y e reconstruir os RPMs. Então instale o RPM.

Eu posso confirmar que isso corrige o problema no CentOS 5.4 ao construir um kernel 2.6.33 usando o "modo CentOS". Eu ficaria surpreso se ele não funcionasse para o 2.6.31.12 no CentOS 5.3 também.

    
por 17.03.2010 / 00:24
1

Tente ativar CONFIG_SYSFS_DEPRECATED_V2 = y

    
por 09.02.2010 / 13:49
1

Seu volume parece não ter rótulo.

Etiquete-o usando o comando e2label. Descubra a sua raiz é em qual hda ou sda, digamos sda2

Edite a configuração do grub, encontre e edite esta parte

root=LABELNAME=/2

Onde 2 é o número hda / sda Veja se encontra, indo com o rótulo.

Caso contrário, eu verificaria primeiro os módulos carregados e verificaria se seu módulo controlador de armazenamento está carregado (SCSI, SATA, AHCI) Para fazer isso:

less /proc/modules

ou

lsmod

Você pode ter que recompilar o kernel com ele, se não estiver carregado.

Boa sorte.

    
por 16.03.2010 / 22:16
0

como eu entendo sua postagem, você está criando seu próprio kernel a partir do código-fonte. você tem algum motivo especial para não ficar com os kernels fornecidos pelo centos?

meu palpite para o seu erro é que você tem uma configuração de kernel diferente e falta um módulo ou mais, por exemplo lvm. quando você realmente precisa construir o kernel sozinho, use a configuração do kernel de um kernel centos existente. você encontrará a configuração antiga no diretório /boot ou use apenas make oldconfig . mas esteja ciente de que isso pode ser perigoso quando você pula várias versões do kernel.

quando você quiser apenas adicionar um novo driver ao seu kernel, basta compilar o driver com o kernel centos instalado e adicioná-lo aos módulos.

    
por 01.02.2010 / 08:05
0

Se você ainda estiver tendo problemas usando um kernel vanilla dentro do CentOS, depois de gerar sua configuração (localmodconfig, oldconfig, etc), modifique o arquivo .config e assegure-se de que estas opções estejam definidas como Y para:

CONFIG_EXT3_FS = y

CONFIG_SYSFS_DEPRECATED_V2 = y

Isso fez o truque para mim em 2 sistemas, 1 sistema físico que vai do CentOS 4.xe uma VM no VirtualBox com uma nova instalação do CentOS 5.4, ambos funcionaram sem nenhum problema.

Após a execução da alteração:

faça

faça o modules_install

faça a instalação

se não houver erros - reinicie.

    
por 26.03.2010 / 17:27
0

Muito obrigado ele resolveu meu problema também, muito obrigado, eu estava instalando o kernel CentoS 2.6.36 no Virtual Box e ele estava me dando o mesmo erro, mas agora tudo está resolvido.

Para resolver "IOAPIC for GSI" eu usei pnpacpi = off em /boot/grub/menu.lst e agora tudo está funcionando sem problemas.

Obrigado novamente.

Atenciosamente Salman Francis

    
por 18.11.2010 / 12:51