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 с использованием официальных репозиториев.:/