O kernel construído não inicializa, falta o driver AHCI?

O kernel construído não inicializa, falta o driver AHCI?

Eu preciso aplicar um patch de kernel e então comecei a construir um kernel. Primeiro busquei 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 de origem, apliquei meu patch, 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 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 Grub, mas ao tentar 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 resultante do BusyBox, tentei procurar em /dev/ e não há unidades de disco presentes, o que parece indicar que o módulo do kernel do meu controlador de disco não foi carregado (não está em /proc/modules). Como pode ser isso, quando usei a mesma versão do kernel que estou executando enquanto digito isso - ecom a mesma configuração? Construir kernels não é algo que faço diariamente, nem por prazer, então agradeceria qualquer ajuda com isso.

Editar:Devo acrescentar que tentei usar a sintaxe /dev/sd** 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 855PM da Intel (PATA HDD).

Responder1

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

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

Execute o seguinte comando para encontrar o UUID da 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 outro 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 de /etc/fstab devem ser parecidas com isto, 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 estiverem incorretas e você tiver atualizado essas informações adequadamente,tudo que você precisa fazer agora é reiniciarporque /etc/fstab é carregado após o grub e não está diretamente associado à configuração do seu initrd.img.

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


Se isso não resolver o seu problema ou se as informações em /etc/fstab estiverem corretas, pode ser necessário executar:

sudo update-initramfs -v -c -k all

Você pode substituir "all" por uma versão específica do kernelse você não quiser atualizar todas as imagens initrd existentes (desta forma você pode atualizar apenas a imagem que não inicializa). Veja aqui para mais informações:https://stackoverflow.com/questions/9645073/how-to-make-an-initrd-img-in-ubuntu

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

sudo update-grub2

antes de reiniciar.

Por favor poste quaisquer erros.

informação relacionada