LINUX.ORG.RU

GRUB2 не находит новый initramfs

 , , ,


0

2

Привет, ЛОР!

Имеется Gentoo. Обновил GRUB2, обновил ядро. Скомпилил genkernel'ом новый initramfs, а он не обнаруживается конфигуралкой grub2.

Если прописать вручную в конфиг /boot/grub2/grub.cfg, то при попытке загрузки нечто говорит мне «/initramfs-genkernel-x86_64-3.10.7-r1-gentoo не найден» и после какого-то огрызка загрузки всё останавливается (что логично, с LVM не загрузиться ведь...). Я по всякому переименовывал, даже под имя старого initramfs, всё равно он его не находит. Ну и судя по тому, что не захотел с него грузиться, что-то в нём не так. Вот только что?

http://pastebin.com/ss8p0Muw grub.cfg

http://pastebin.com/4JvaGbRL genkernel.conf

http://pastebin.com/02aysdn4 конфиг ядра

ls -l /boot
итого 10462
drwxr-xr-x 2 root root    1024 окт.  27 03:12 grub
drwxr-xr-x 6 root root    1024 окт.  27 03:12 grub2
-rw-r--r-- 1 root root 2552240 окт.  27 02:59 initramfs-genkernel-x86_64-3.10.7-gentoo-r1
-rw-r--r-- 1 root root 2396288 июня  28 13:19 initramfs-genkernel-x86_64-3.8.13-r2-gentoo
-rw-r--r-- 1 root root 3136336 окт.  26 22:54 kernel-3.10-7-r1-gentoo
-rw-r--r-- 1 root root 2612160 июня  28 13:11 kernel-3.8.13-r2-gentoo
drwx------ 2 root root   12288 июня  22 06:04 lost+found 
grub2-mkconfig -o /boot/grub2/grub.cfg 
Пароль: 
Генерируется grub.cfg …
Найден образ linux: /boot/kernel-3.10-7-r1-gentoo
Найден образ linux: /boot/kernel-3.8.13-r2-gentoo
Найден образ initrd: /boot/initramfs-genkernel-x86_64-3.8.13-r2-gentoo
Найден Windows 7 (loader) на /dev/sda1
Найден Windows Recovery Environment (loader) на /dev/sda2
завершено 
[I] sys-boot/grub
     ............
     Installed versions:  2.00_p5107-r2(2)^t(01:28:19 27.10.2013)(device-mapper multislot nls sdl -custom-cflags -debug -doc -efiemu -libzfs -mount -static -test -truetype 

GRUB_PLATFORMS="efi-32 efi-64 multiboot pc -coreboot -emu -ieee1275 -qemu -qemu-mips -yeeloong")
★★★★

Не в имени дело. Как описано здесь

If you use an initramfs, it should be named initramfs-version.img or initrd-version.img. File names generated by genkernel will also work.

Пробуй установить grub другой версии для начала.

iVS ★★★★★ ()

initramfs-genkernel-x86_64-3.10.7-gentoo-r1
kernel-3.10-7-r1-gentoo

у тебя gentoo и r1 попутаны местами

Chaser_Andrey ★★★★★ ()

В порядке очередности:

  1. отказаться от initramfs
    (зачем он вам? у вас контроллер HDD, которого нет в ядре?)
  2. отказаться от genkernel
    (никогда за 5+ лет им не пользовался)
  3. отказаться от GRUB2
    (GRUB 0.97 прекрасно бутит даже с GPT)
zed_0xff ()

Все это конечно хорошо… А теперь для начала прочитай gentoo/wiki/Grub2 а потом подумай над файлами /etc/default/grub и строками со 193 по 202 файла /etc/grub.d/10_linux.

И успехов.

init_6 ★★★★★ ()
Ответ на: комментарий от zed_0xff

научишь грузить ядро с LVM без initramfs без вынесеного /boot? буду благодарен. тогда откажусь от genkernel. grub не хочу старый, нравится новый.

kma21 ★★★★ ()
Ответ на: комментарий от init_6

вот посмотри. переименовывал под шаблон, как в /etc/grub.d/10_linux указано и всё равно не находит.

Самое интересное, ведь я руками тоже прописывал его в /boot/grub/grub.cfg и он не хотел стартовать. Его не находил GRUB. Меня это настораживает. И такая проблема первый раз, все предыдущие initrd он находил отлично и находит старый.

ls -l /boot
итого 10462
drwxr-xr-x 2 root root    1024 окт.  27 03:12 grub
drwxr-xr-x 6 root root    1024 окт.  27 14:46 grub2
-rw-r--r-- 1 root root 2396288 июня  28 13:19 initramfs-genkernel-x86_64-3.8.13-r2-gentoo
-rw-r--r-- 1 root root 2552240 окт.  27 02:59 initrd-3.10.7
-rw-r--r-- 1 root root 3136336 окт.  26 22:54 kernel-3.10-7-r1-gentoo
-rw-r--r-- 1 root root 2612160 июня  28 13:11 kernel-3.8.13-r2-gentoo
drwx------ 2 root root   12288 июня  22 06:04 lost+found 
grub2-mkconfig -o /boot/grub2/grub.cfg 
Генерируется grub.cfg …
Найден образ linux: /boot/kernel-3.10-7-r1-gentoo
Найден образ linux: /boot/kernel-3.8.13-r2-gentoo
Найден образ initrd: /boot/initramfs-genkernel-x86_64-3.8.13-r2-gentoo
Найден Windows 7 (loader) на /dev/sda1
Найден Windows Recovery Environment (loader) на /dev/sda2
завершено 
kma21 ★★★★ ()
Последнее исправление: kma21 (всего исправлений: 1)
Ответ на: комментарий от kma21

Выкладывай строки с 193 по 202 твоего файла /etc/grub.d/10_linux.

init_6 ★★★★★ ()
Ответ на: комментарий от init_6
initrd=
  for i in "initrd.img-${version}" "initrd-${version}.img" "initrd-${version}.gz" \
           "initrd-${version}" "initramfs-${version}.img" \
           "initrd.img-${alt_version}" "initrd-${alt_version}.img" \
           "initrd-${alt_version}" "initramfs-${alt_version}.img" \
           "initramfs-genkernel-${version}" \
           "initramfs-genkernel-${alt_version}" \
           "initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \
           "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}"; do
    if test -e "${dirname}/${i}" ; then 

если что, полный скрипт - http://pastebin.com/aZJDfmpz

kma21 ★★★★ ()
Ответ на: комментарий от kma21

По идее initrd-3.10.7 должно находить потому что "initrd-${version}" вроде как есть.

Но на всякий случай попробуй вместо "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}"; do написать

"initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}" \
"initrd-${version}"; do

И попробовать с этим вариантом.

Если не поможет то переименуй свой initrd-3.10.7 под формат initramfs-genkernel-x86_64-3.10.7-gentoo и попробуй так.

init_6 ★★★★★ ()
Ответ на: комментарий от init_6

Не помогает. Мне всё-таки кажется, что виноват initrd. Потому что когда я его в /boot/grub2/grub.cfg прописал вручную и попытался загрузиться, GRUB2 не нашёл его.

Сейчас попробую поставить более старый genkernel, сгенерить им новый initrd и попробовать под новое ядро подпихнуть старый, рабочий initrd (увидит ли его GRUB2 при загрузке)?

На десктопе с теми же версиями программ таких проблем не было и на ноуте прежде такого не было. А тут началось что-то...

kma21 ★★★★ ()
Ответ на: комментарий от kma21

А тут началось что-то...

Хз я с genkernel-ом никогда не связывался так что помочь ничем не могу.

Если мне нужно просто ядро собрать то я беру install_kernel и собираю. Аналогично и с initramfs и да он у меня если что умеет: luks, lvm2, mdadm, tuxonice, fsck{.ext4}. Мне пока что этого хватает за глаза.

init_6 ★★★★★ ()
Ответ на: комментарий от init_6

я ж говорил, что проблема была в имени. новое ядро у меня называлось «kernel-3.10-7-r1-gentoo» (перед семёркой дефис, а не точка). переименовал, сгенерил initrd, подправил его имя (чтобы r1 было до «gentoo») и всё нашлось.

Всем спасибо, init_6 отдельное спасибо.

kma21 ★★★★ ()
Ответ на: комментарий от kma21

вариант 1) выкинуть LVM вообще
вариант 2) вытащить корень из LVM-a на отдельный primary раздел

zed_0xff ()
Ответ на: комментарий от zed_0xff

от LVM отказываться не хочу, а корень на LVM тоже хотелось бы оставить, удобно снапшоты снимать системы.

kma21 ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.