Recentemente passei por este problema, que após instalar o kernel Liquorix no meu
Debian Aptosid através dos
repositórios:
deb http://liquorix.net/debian sid main
O mesmo não cria corretamente o "initrd" deste kernel, fazendo com que este não reconheça a partição Root.
Então você acaba caindo no:
busybox com o prompt "initramfs:~$"
Há muitos tópicos na Internet dizendo que basta gerar a imagem "initrd" novamente, que o problema está resolvido, mas
isso não resolve, pelo menos comigo. Uma vez estando no Busybox após outra tentativa frustrada, rodei o comando:
lsmod
Qual não foi minha surpresa, não havia os módulos "xfs,ata_generic,pata_acpi,pata_via,libata,scsi_mod,sd_mod,sr_mod",
necessários para montar minha partição Raiz, visto que uso XFS em todas as partições, e meus discos são ATA/IDE.
O kernel padrão do Aptosid adiciona normalmente estes módulos à imagem "initrd" quando rodo o comando:
sudo update-initramfs -u -k all
Mas, devido a algum Bug no pacote "initramfs-tools", do qual pertence o utilitário 'update-initramfs', a imagem "initrd" do
Liquorix não contém todos os módulos necessários.
A solução que encontrei foi adicionar estes módulos, um por linha em "/etc/initramfs-tools/modules", desta forma informamos
explicitamente ao comando "update-initramfs' que queremos tais módulos e suas dependências:
sudo nano /etc/initramfs-tools/modules
E digite manualmente cada um destes, depois 'Control-o' para gravar e 'Control-x' para sair.
Em seguida rode:
sudo update-initramfs -u -k all
Reinicie o sistema e você verá que o Boot vai ocorrer normalmente.
Uma maneira fácil de adicionar estes módulos em "/etc/initramfs-tools/modules" é usando o comando 'lsmod' em 'pipe' com o
'grep', 'awk', 'uniq', 'sort' e o 'tee'.
Por exemplo, vamos supor que seus HD's são ATA/IDE, como o meu, rode:
lsmod | grep ata | awk '{print $1}' | tee -a meusmodulos.txt
ata_generic
pata_acpi
pata_via
libata
lsmod | grep mod | awk '{print $1}' | tee -a meusmodulos.txt
dm_mod
md_mod
sr_mod
cdrom
sd_mod
Enfim, estes módulos devem funcionar para sata, ata/ide, e scsi, quanto ao raid creio que seja necessário mais este passo:
lsmod | grep raid | awk '{print $1}' | tee -a meusmodulos.txt
raid10
raid456
async_raid6_recov
async_memcpy
async_pq
async_xor
async_tx
raid6_pq
raid1
raid0
md_mod
Obviamente, alguns módulos vão estar repetidos no arquivo "meusmodulos.txt", mas é aí que entra o 'uniq' e o 'sort', são
apenas para organizar as coisas:
cat meusmodulos.txt|sort|uniq|sudo tee -a /etc/initramfs-tools/modules
async_memcpy
async_pq
async_raid6_recov
async_tx
async_xor
ata_generic
cdrom
dm_mod
libata
md_mod
pata_acpi
pata_via
raid0
raid1
raid10
raid456
raid6_pq
sd_mod
sr_mod
Não esqueça de adicionar o módulo correspondente ao seu sistema de arquivos em "/etc/initramfs-tools/modules".
Nota: Suponho que você tenha um kernel funcionando, pelo qual você seguirá estes passos, e aconselho a manter sempre
uma versão anterior instalada, porque usando-se de LiveCDs, muitas vezes o kernel deste não carrega necessariamente os mesmos módulos que a sua instalação atual.
* Isto é bem verdade em distros Rolling Release.
Abraços e até a próxima!