13.04: update-initramfs работает, но mkinitramfs не работает из APT

Я испытываю странную вещь, я недавно обновил с 12.10 до 13.04, все хорошо, за исключением того, что он не может автоматически создать образ initrd, он не работает и выводит вывод использования mkinitramfs.

Я попытался отладить скрипт "mkinitramfs", и оказалось, что переменная $outfile никогда не устанавливается. Однако я могу создать виртуальный диск вручную, как показано ниже: update-initramfs -c -u 3.0.8-23-generic

Я перепробовал большинство вещей, которые можно увидеть в сети: очистка, переустановка, но без помощи, но ничего, и я не могу использовать linux-образ, помеченный как "сломанный", но ядро ​​существует в /boot.

1 ответ

Мне удалось это исправить, похоже, что сценарии ядра после установки несовместимы с моей версией mkinitramfs (initramfs-tools 0.103ubuntu0.7).
В файле сценария postinstall для linux-image в вызове отсутствует параметр:
в строке 837:

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

должно быть (обратите внимание на параметр -o перед переменной $version.)

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

И это работает! Я всегда обходил эту проблему с помощью update-initramfs вручную, но мне не нравился тот факт, что каждый раз, когда я использовал apt-get, dpkg status продолжал печатать эту ошибку, которая, к счастью, не блокировалась, тогда у меня было немного свободного времени сегодня вечером, и я решил положить их на этот раздражающий материал, и это окупается! знак равно

К сожалению, это не объясняет, почему я получил эту проблему после дистрибутивного обновления моего сервера Ubuntu с использованием официальных репозиториев.:/

Другие вопросы по тегам