O kernel integrado não inicializa, faltando o driver AHCI?

0

Eu preciso aplicar um patch de kernel e então eu comecei a construir um kernel. Primeiro eu peguei a fonte e construí dependências com

# apt-get source linux-image-'uname -r'
# apt-get build-dep linux-image-'uname -r'

Entrando no diretório fonte, apliquei meu patch e, em seguida, peguei a configuração atual do kernel e executei a compilação com

# cp -vi /boot/config-'uname -r' .config
# make-kpkg --initrd --append-to-version=-test kernel-image kernel-headers

Finalmente eu instalei o kernel recém-construído a partir dos DEBs criados em ../

# dpkg -i linux-image-3.13.11.4-test_3.13.11.4-test-10.00.Custom_i386.deb
# dpkg -i linux-headers-3.13.11.4-test_3.13.11.4-test-10.00.Custom_i386.deb

Ao reiniciar, encontrei meu kernel no menu do Grub, mas, tentando inicializá-lo, acabei com

Gave up waiting for root device
...
ALERT! /dev/disk/by-uuid/[my-correct-disk-uuid-here] does not exist.

No prompt do BusyBox resultante, tentei procurar em / dev / e não há unidades de disco presentes, o que parece indicar que o módulo do kernel para meu controlador de disco não foi carregado (não está em / proc / módulos). Como isso pode acontecer, quando eu usei a mesma versão do kernel que estou executando enquanto digito isso - e com a mesma configuração ? Construir núcleos não é algo que eu faça diariamente, nem por prazer, por isso gostaria de receber ajuda com isso.

Edit: Devo acrescentar que tentei usar a sintaxe de / dev / sd ** para root= na linha de comando do Grub, com o mesmo resultado. Portanto, não é que a pesquisa do UUID falhe; o controlador de disco nem existe. Caso seja relevante, a máquina é um Thinkpad X32 com chipset Intel 855PM (PATA HDD).

    
por Ola Tuvesson 03.08.2014 / 04:08

1 resposta

1

Agora, por causa do erro UUID, sinto que é necessário verificar as informações em / etc / fstab, porque é onde as informações do sistema de arquivos (UUID) estão montadas.

Primeiro, inicie em um kernel antigo ou em uma sessão de disco ativo.

Execute o seguinte comando para encontrar o UUID para sua partição raiz.

sudo blkid -o list

A saída deve ser semelhante a este exemplo:

/dev/sda1      ext4     home      /                 bac7229a-e019-5679-931d-5e14f15ff4bc 
/dev/sda2      ntfs     c         (not mounted)     40Ajghyr-65uB-EA5C-7y8y9t6g54j5
/dev/sda3      ext4               (not mounted)     640565a9-310b-5d6r-8d8v7-e887do893f80
/dev/sda5      ext4               (not mounted)     e777547b-3a3a-7tgd-9a12-2769wsrbd92
/dev/sda6      swap               <swap>            d72b694e-4976-3333-hso5-7894e6s9d2

Agora, use 'nano', 'vi', 'gedit', 'mousepad' ou qualquer que seja o seu editor de texto favorito para editar ou confirmar o UUID listado para sua partição raiz em / etc / fstab. Para este exemplo, usarei nano:

sudo nano /etc/fstab

Agora, de acordo com nossas informações, nossas informações em / etc / fstab devem ser parecidas com isso, supondo que você esteja usando uma configuração de partição única não criptografada montada em "/":

# / was on /dev/sda1 during installation
UUID=bac7229a-e019-5679-931d-5e14f15ff4bc /         ext4    errors=remount-ro 0       1
# swap was on /dev/sda6 during installation
UUID=d72b694e-4976-3333-hso5-7894e6s9d2 none        swap    sw              0       0

Se as informações em / etc / fstab estavam incorretas e você atualizou essas informações adequadamente, tudo que você precisa fazer agora é reinicializar porque o / etc / fstab é carregado após o grub e não está diretamente associado com a configuração do seu initrd.img.

(O sistema irá ler as informações em / etc / fstab e irá carregar automaticamente as partições corretas a partir dali)

Se isso não resolver seu problema ou se as informações em / etc / fstab estiverem corretas, talvez seja necessário executá-lo:

sudo update-initramfs -v -c -k all

Você pode querer substituir "all" por uma versão específica do kernel se não quiser atualizar todas as imagens initrd existentes (assim você pode atualizar apenas a imagem que não inicializa) . Veja aqui para mais informações: link

Se tudo correr bem, não se esqueça de executar:

sudo update-grub2

antes de reiniciar.

Por favor, poste qualquer erro.

    
por mchid 03.08.2014 / 19:31