O Linux (debian / testing) não pode inicializar após instalar o kernel 3.9.1

2

Hoje eu queria atualizar o kernel no meu sistema debian / testing de 2.6.32-5-686 para 3.9-1-686-pae . Então eu instalei a imagem por sudo aptitude install linux-image-3.9.1-686-pae (ou algo parecido). Então ele disse, eu preciso instalar alguns cabeçalhos, então eu fiz por sudo aptitude install linux-headers-3.9.1-686-pae ou algo parecido. Agora meu sistema não inicializa corretamente. Ambos os kernels ainda estão instalados ou pelo menos eu posso escolher ambos no GRUB para carregar.

No entanto, eu ainda tenho o sistema aqui, ele simplesmente não inicializa. Eu tenho duas partições no meu disco: (1) sda1, que é minha partição de inicialização (sinalizador ainda está lá) e (2) sda2, no qual eu criei dois volumes virtuais usando lvm : base-root para / e base-home para home . Consegui montar cada partição / volume em um sistema ativo em que estou (usando um pendrive).

Isto é o que está acontecendo durante a inicialização com qualquer um dos kernels instalados:

early console in decompress_kernel

Decompressing Linux ... Parsing ELF... done.
Booting the kernel.
Loading, please wait...
Gave up waiting for root device. Common problems:
 - Boot args (cat /proc/cmdline)
  - Check rootdleay= (did the system wait long enough?)
  - Check root= (did the system wait for the right device?)
 - Missing modules (cat /procmodules ls /dev)
ALERT! /dev/disk/by-uiid/<some_uuid> does not exist.
Dropping to a shell!

BusyBox...
Enter 'hel...

/bin/sh: can't access tty; job control turned off

O sistema espera / procura cerca de 30s após a mensagem "por favor aguarde ...". Esta é a saída de cat /proc/cmdline (ao tentar inicializar o novo kernel, para o kernel antigo, há uma mensagem análoga):

BOOT_IMAGE=/vmzlinuz-3.9.1-686-pae root=UUID=<someuuid>

Agora, esta é a saída de ls /dev/mapper/ :

control

Geralmente, também há entradas para base-root e base-home . Então, meu palpite é , que existe algum módulo do kernel lvm que é necessário para interpretar os volumes do lvm e não é carregado no kernel. Estranhamente, parece estar faltando no kernel olde também.

Esta é a saída de cat /proc/modules ao inicializar o novo kernel:

usbhid 35908 0 - Live...
hid 64559 1 usbhid  - ...
ohci_hcd 22150 0 - ...
dm_mod 577277 0 - ...
sd_mod 577277 - ...
crc_t10dif 12332 1 - ...
ahci 25000 0 - ...
libahci 22632 1 ahci - ...
thermal 13172 0 - ...
ata_generic 12450 - ...
thermal_sys 18359 thermal, ...
libata 126017 3 ahci, libahci,ata_generic, ...
uhci_hcd 22424 0 - ...
ehci_pcs 12432 - ...
e1000e 123671 0 - ...
ehci_hcd 3570 1 ehci_pci -
usbcore 110217 5 usbhis,ohci_hcd,uhci_hcd,ehci_pci,ehci_hcd, ...
scsi_mod 135333 2 sd_mod,esndld, ...
ptp 131711 e1000e, ...
usb_common 12338 1 usbcore, ...
pps_core 13071 1 ptp, ...

(Eu poderia preencher o "..." mais tarde.)

De qualquer forma, o que eu quero fazer é, obviamente, inicializar corretamente em meu sistema debian instalado em base-root .

Minha estratégia até agora é:

  • anote as mensagens de erro retornadas durante a inicialização (e poste-as aqui)
  • pesquise no Google, tente entender o erro

Por enquanto, tenho estas perguntas:

  • O que esse erro significa? O que é / proc / cmdline para? Como posso alterar seu conteúdo?
  • Quais módulos / dispositivos devo instalar? Quais módulos estão faltando e devem ser carregados?
  • Como posso dizer ao meu kernel para carregar algum outro módulo.

Editar: pesquisando as mensagens de erro, eu encontrei isso , parece relacionado.

    
por k.stm 03.08.2013 / 17:59

2 respostas

2

Ok, recebi uma resposta parcial, uma solução alternativa, com base no registro de erros desse relatório , eu encontrei. Eu posso inicializar depois de alterar a raiz dos argumentos do kernel de inicialização do grub para root=/dev/mapper/base-root e adicionar rootdelay=1 me permite inicializar em meu sistema. Yay!

Como faço para que essas alterações permaneçam, e existem soluções reais para esse bug ainda?

    
por 03.08.2013 / 19:19
0

A maneira correta de torná-los permanentes é editando o / etc / default / grub e o uncomment:

GRUB_DISABLE_LINUX_UUID=true

Depois disso, execute:

update-grub
    
por 26.03.2014 / 19:02