13.04: o update-initramfs funciona, mas o mkinitramfs falha no APT

1
Estou experimentando uma coisa estranha, eu recentemente atualizei de 12,10 para 13,04, tudo está bem, exceto que ele não pode construir a imagem initrd automaticamente, ele falha e imprime o uso do mkinitramfs > saída.

Eu tentei depurar o script "mkinitramfs" e parece que a variável $ outfile nunca está definida. No entanto, eu sou capaz de produzir o ramdisk manualmente como segue: update-initramfs -c -u 3.0.8-23-generic

Eu tentei a maioria das coisas vistas na net: purgar, reinstalar, mas não ajuda, mas nada, e não posso usar o linux-image está marcado como "quebrado" mas o kernel existe em / boot.

    
por Phil2.0 07.06.2013 / 00:14

1 resposta

1

Consegui consertar, parece que os scripts de pós-instalação do kernel não são compatíveis com a minha versão do mkinitramfs ( initramfs-tools 0.103ubuntu0.7 ). No arquivo de script postinstall da imagem linux, a chamada não possui um parâmetro:
na linha 837:

my $ret = system("$ramdisk " . ($upgrading ? "-u" : "-c") . " -k " . $version . " >&2");  

deve ser (Anote o parâmetro -o antes da variável $ version .)

my $ret = system("$ramdisk " . ($upgrading ? "-u" : "-c") . " -k " . " -o " . $version . " >&2");

E isso funciona! Eu estava sempre ignorando este problema com um update-initramfs manual mas eu não gostava do fato de que cada vez que eu usava o apt-get, o dpkg continuava imprimindo este erro que felizmente não estava bloqueando, então eu tive algum tempo livre hoje colocar isso nesse material chato e vale a pena! =)

Infelizmente, isso não explica por que como obtive esse problema após uma distro-upgrade do meu servidor Ubuntu usando os repositórios oficiais. : /

    
por Phil2.0 19.10.2013 / 11:33