[РЕШЕНО] Чудеса продолжаются. Ядро перестало само происываться в grub

Похоже сегодня бунт машин какой то.

Приехало новое ядро, 3.10.5

Я, как обычно, наложил на него пару своих патчиков, закинул свой конфиг, сделал make oldconfig и собрал через cl-kernel -o --lvm, точно так же как и всегда собирал.
После перезагрузки обнаружил, что загрузилось 3.10.4.

Полез смотреть grub.conf - 3.10.4, 3.10.2 (уже снесённое мною ядро). При этом vmlinuz и initrd от 3.10.5 лежат и симлинки сделаны, как положено. То есть не обновился сам конфиг груба. Сделал cl-core -method setup_boot ничего не изменилось, конфиг не поменялся. Тогда сделал grub2-mkconfig -o /boot/grub/grub.cfg и, моя ошибка, пристально его не изучив перезагрузился. В итоге оказался в командной строке груба. Ладно я помню как ручками оттуда взлетать, взлетел таки, вот, сюда пишу.

Что же такое происходит, а? Ничего не понимаю, день что ли такой…

PS. Решение. В ~ ветке portage обновился груб, grub-2.00_p5086. Его нужно замаскировать, откатиться на grub-2.00-r5 из оверлея calculate, заново установить ядро через cl-kernel (если самосбор, как у меня), сделать cl-core --method setup_boot.

Что находится в /boot ?

Какая версия grub? <> без параметров что выводит?

Содержимое /boot

supercomp boot # ls -l
итого 175668
lrwxrwxrwx 1 root root        1 ноя 21  2010 boot -> .
-rw-r--r-- 1 root root    59632 янв 12  2013 boot.jpg
lrwxrwxrwx 1 root root       24 авг  3 16:48 config-3.10.4-calculate -> config-3.10.4-x86_64-CLD
lrwxrwxrwx 1 root root       28 авг  3 16:48 config-3.10.4-calculate.old -> config-3.10.4-x86_64-CLD.old
-rw-r--r-- 1 root root    85708 авг  3 16:44 config-3.10.4-x86_64-CLD
-rw-r--r-- 1 root root    85708 авг  3 16:40 config-3.10.4-x86_64-CLD.old
lrwxrwxrwx 1 root root       24 авг  6 17:25 config-3.10.5-calculate -> config-3.10.5-x86_64-CLD
lrwxrwxrwx 1 root root       28 авг  6 17:25 config-3.10.5-calculate.old -> config-3.10.5-x86_64-CLD.old
-rw-r--r-- 1 root root    85708 авг  6 17:23 config-3.10.5-x86_64-CLD
-rw-r--r-- 1 root root    85708 авг  6 15:55 config-3.10.5-x86_64-CLD.old
drwxr-xr-x 6 root root    12288 авг  6 17:35 grub
drwxr-xr-x 6 root root     4096 авг  6 16:02 grub2
-rw-r--r-- 1 root root 20195614 авг  3 16:48 initramfs-3.10.4-x86_64-CLD
-rw-r--r-- 1 root root 20195614 авг  3 16:48 initramfs-3.10.4-x86_64-CLD-install
-rw-r--r-- 1 root root 20190349 авг  3 16:43 initramfs-3.10.4-x86_64-CLD-install.old
-rw-r--r-- 1 root root 20190349 авг  3 16:43 initramfs-3.10.4-x86_64-CLD.old
-rw-r--r-- 1 root root 20248610 авг  6 17:24 initramfs-3.10.5-x86_64-CLD
-rw-r--r-- 1 root root 20248610 авг  6 17:24 initramfs-3.10.5-x86_64-CLD-install
-rw-r--r-- 1 root root 20248544 авг  6 15:58 initramfs-3.10.5-x86_64-CLD-install.old
-rw-r--r-- 1 root root 20248544 авг  6 15:58 initramfs-3.10.5-x86_64-CLD.old
lrwxrwxrwx 1 root root       27 авг  6 17:25 initrd-5f5f928a -> initramfs-3.10.5-x86_64-CLD
lrwxrwxrwx 1 root root       35 авг  6 17:25 initrd-5f5f928a-install -> initramfs-3.10.5-x86_64-CLD-install
lrwxrwxrwx 1 root root       39 авг  6 17:25 initrd-5f5f928a-install.old -> initramfs-3.10.5-x86_64-CLD-install.old
lrwxrwxrwx 1 root root       31 авг  6 17:25 initrd-5f5f928a.old -> initramfs-3.10.5-x86_64-CLD.old
drwx------ 2 root root    16384 май  1 16:12 lost+found
drwxr-xr-x 2 root root     4096 янв 10  2013 memtest86plus
-rw-r--r-- 1 root root  1843345 авг  3 16:45 System.map-3.10.4-x86_64-CLD
-rw-r--r-- 1 root root  1844242 авг  3 16:41 System.map-3.10.4-x86_64-CLD.old
-rw-r--r-- 1 root root  1833000 авг  6 17:24 System.map-3.10.5-x86_64-CLD
-rw-r--r-- 1 root root  1833000 авг  6 15:56 System.map-3.10.5-x86_64-CLD.old
lrwxrwxrwx 1 root root       28 авг  6 17:25 System.map-5f5f928a -> System.map-3.10.5-x86_64-CLD
lrwxrwxrwx 1 root root       32 авг  6 17:25 System.map-5f5f928a.old -> System.map-3.10.5-x86_64-CLD.old
-rw-r--r-- 1 root root  2576240 авг  3 16:45 vmlinuz-3.10.4-x86_64-CLD
-rw-r--r-- 1 root root  2579232 авг  3 16:41 vmlinuz-3.10.4-x86_64-CLD.old
-rw-r--r-- 1 root root  2565504 авг  6 17:24 vmlinuz-3.10.5-x86_64-CLD
-rw-r--r-- 1 root root  2565344 авг  6 15:56 vmlinuz-3.10.5-x86_64-CLD.old
lrwxrwxrwx 1 root root       25 авг  6 17:25 vmlinuz-5f5f928a -> vmlinuz-3.10.5-x86_64-CLD
lrwxrwxrwx 1 root root       29 авг  6 17:25 vmlinuz-5f5f928a.old -> vmlinuz-3.10.5-x86_64-CLD.old

Содержимое /boot/grub

supercomp grub # ls -l
итого 3612
-rw-r--r-- 1 root root   12377 июл 27  2011 ascii.h
-rw-r--r-- 1 root root    4987 июл 27  2011 ascii.pf2
-rw-r--r-- 1 root root    1577 июл 27  2011 config.h
-rw-r--r-- 1 root root     197 ноя 21  2010 default
-rw-r--r-- 1 root root      30 ноя 21  2010 device.map
-rw-r--r-- 1 root root    8772 сен  5  2011 e2fs_stage1_5
-rw-r--r-- 1 root root   51613 июл 27  2011 euro.pf2
-rw-r--r-- 1 root root    7932 сен  5  2011 fat_stage1_5
-rw-r--r-- 1 root root    7184 сен  5  2011 ffs_stage1_5
drwxr-xr-x 2 root root    4096 май  1 16:19 fonts
-rw-r--r-- 1 root root  467781 янв 12  2013 grub-calculate.png
-rw-r--r-- 1 root root    2234 янв 12  2013 grub-calculate.xpm.gz
-rw------- 1 root root    9329 авг  6 16:23 grub.cfg
-rw-r--r-- 1 root root     627 ноя 21  2010 grub.conf
-rw-r--r-- 1 root root    1024 май  1 16:19 grubenv
drwxr-xr-x 2 root root   12288 авг  2 19:16 i386-pc
-rw-r--r-- 1 root root    7192 сен  5  2011 iso9660_stage1_5
-rw-r--r-- 1 root root    8644 сен  5  2011 jfs_stage1_5
drwxr-xr-x 2 root root    4096 май  1 16:19 locale
-rw-r--r-- 1 root root    7380 сен  5  2011 minix_stage1_5
-rw-r--r-- 1 root root    9760 сен  5  2011 reiserfs_stage1_5
-rw-r--r-- 1 root root   33856 сен  5  2011 splash.xpm.gz
-rw-r--r-- 1 root root     512 сен  5  2011 stage1
-rw-r--r-- 1 root root  107736 сен  5  2011 stage2
-rw-r--r-- 1 root root  107736 сен  5  2011 stage2_eltorito
-rw-r--r-- 1 root root  107736 июл  4  2011 stage2.old
drwxr-xr-x 3 root root    4096 май  1 16:19 themes
-rw-r--r-- 1 root root    7452 сен  5  2011 ufs2_stage1_5
-rw-r--r-- 1 root root 2560080 июл 27  2011 unicode.pf2
-rw-r--r-- 1 root root    6804 сен  5  2011 vstafs_stage1_5
-rw-r--r-- 1 root root   49237 июл 27  2011 widthspec.h
-rw-r--r-- 1 root root    9576 сен  5  2011 xfs_stage1_5

/boot/grub/grub.cfg (его сгенерил grub2-mkconfig)
http://pastebin.calculate-linux.ru/ru/show/5728

Содержимое /etc/grub.d/ (умолчальное, я там ничего не трогал)

supercomp grub.d # ls -l
итого 60
-rwxr-xr-x 1 root root  7908 авг  6 17:36 00_header
-rwxr-xr-x 1 root root  9654 авг  6 17:36 10_linux
-rwxr-xr-x 1 root root 10329 авг  6 17:16 20_linux_xen
-rwxr-xr-x 1 root root 10140 авг  6 17:16 30_os-prober
-rwxr-xr-x 1 root root   197 янв 10  2013 39_memtest86+
-rwxr-xr-x 1 root root   214 авг  6 17:16 40_custom
-rwxr-xr-x 1 root root   216 авг  6 17:16 41_custom
-rw-r--r-- 1 root root   483 авг  6 17:16 README

Содержимое /etc/default/grub
http://pastebin.calculate-linux.ru/ru/show/5730

Формируется при помощи моего шаблона grub.clt
http://pastebin.calculate-linux.ru/ru/show/5732

(отключен splash, нет фреймбуфера, ибо ядро без него собрано, включен msi для raid, разрешено перекрывать диапазоны адресов acpi для модуля микрухи аппаратного мониторинга)

PS. Неверный URL для grub.clt исправил.

Ах да. Версия grub

sys-boot/grub-2.00_p5086:2  USE="multislot nls sdl truetype -custom-cflags -debug -device-mapper -doc -efiemu -libzfs -mount -static {-test}" GRUB_PLATFORMS="efi-32 efi-64 pc -coreboot -emu -ieee1275 -multiboot -qemu -qemu-mips -yeeloong"

Вывод grub2-mkconfig

supercomp default # grub2-mkconfig | wgetpaste 
Генерируется grub.cfg …
Найден фон: /boot/grub/grub-calculate.png
Найден образ linux: /boot/vmlinuz-3.10.5-x86_64-CLD
Найден образ initrd: /boot/initramfs-3.10.5-x86_64-CLD
Найден образ linux: /boot/vmlinuz-3.10.5-x86_64-CLD.old
Найден образ initrd: /boot/initramfs-3.10.5-x86_64-CLD.old
Найден образ linux: /boot/vmlinuz-3.10.4-x86_64-CLD
Найден образ initrd: /boot/initramfs-3.10.4-x86_64-CLD
Найден образ linux: /boot/vmlinuz-3.10.4-x86_64-CLD.old
Найден образ initrd: /boot/initramfs-3.10.4-x86_64-CLD.old
Найден Windows 7 (loader) на /dev/sdb1
завершено
Your paste can be seen here: http://pastebin.calculate-linux.ru/ru/show/5728

А для чего вам grub2.00_p5086 ? Чем не устраивает 2.00-r5 ?

Сижу на ~ . Должен же кто то её тестировать :slight_smile: Знаю что делаю, что опасно и к чудесам готов морально и технически. В принципе уже готов приступить к откату по очереди груба и утилит, отвлёкся на нашу переписку. Машина всё равно не в продакшне, резервлюсь регулярно, так что уже лет 10 впереди паровоза бегаю, чтобы знать чего ждать в стабильной ветке.

Выше по переписке поправил неверный юрл на grub.clt

Откат на grub-2.00-r5 помог, grub-2.00_p5086 замаскировал. Наверное имеет смысл замаскировать grub-2.00_p5086 в глобальном calculate profile, во избежание так сказать :slight_smile:

Еще отловил один глюк. Если grub.cfg модифицируется cl-kernel, из него пропадает секция загрузки Windows с соседнего диска. Если использовать cl-core --method setup_boot секция присутствует. Ссылка на diff между двумя конфигами:

http://pastebin.calculate-linux.ru/ru/show/5736

Если бы не эта битва, не заметил бы. Привык уже грузиться в винду_для_поиграть через загрузочное меню биос.

Неплохо было бы исправить, кто то уже жаловался ЕМНИП

<<cl-core --method setup_boot>> Вы вызывали после перезагрузки?

Mikhail Hiretsky wrote:

<<cl-core --method setup_boot>> Вы вызывали после перезагрузки?

cl-kernel и cl-core --method setup_boot для дальнейшего сравнения получившихся конфигов на предмет пропадения секции загрузки windows вызывались после перезагрузки на уже отремонтированной системе.