Bug 28827

Summary: Не устанавливается загрузчик в режиме EFI
Product: Sisyphus Reporter: rotkart <rotkart>
Component: kernel-image-std-defAssignee: Michael Shigorin <mike>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: critical    
Priority: P3 CC: aen, cas, ildar, jackie.rosen, kernelbot, led, placeholder, sem, vt
Version: unstableKeywords: regression
Hardware: all   
OS: Linux   
URL: https://bugzilla.kernel.org/show_bug.cgi?id=55471
Bug Depends on:    
Bug Blocks: 27685    

Description rotkart 2013-04-10 11:15:20 MSK
Доброго дня!
Устанавливаю следующие продукты:
1) Альфа КДесктоп
2) Вторая бета Кентавр
3) Regular c КДЕ4
на компьютер с материнской платой ASROCK H61M-GE и двумя HDD.
Установка проходит без ошибок, на соответствующем шаге выбираю установку загрузчика в EFI. 
По окончании установки ПК не загружается из-за отсутствия загрузчика.
Если же в конце установки переключиться в терминал и из чрута выполнить последовательность команд:
modprobe efivars; grub-mkconfig; grub-install
то загрузчик устанавливается и ОС начинает грузиться.
Comment 1 Michael Shigorin 2013-04-10 20:54:33 MSK
(In reply to comment #0)
> Если же в конце установки переключиться в терминал и из чрута выполнить
> последовательность команд:
> modprobe efivars;
Прошу по возможности проверить -- существовал ли каталог /sys/firmware/efi/ _до_ этой команды? (модуль должен загружаться ещё на старте инсталятора и эта команда должна быть точно излишней)

> grub-mkconfig
Скорее update-grub, чтоб вывод не перенаправлять руками в /boot/grub/grub.cfg

> grub-install
Эти две выполняются /usr/lib/alterator/backend3/grub, но в обратном порядке
(причём не менялся этот скрипт уже больше месяца).

> то загрузчик устанавливается и ОС начинает грузиться.
Спасибо, воспроизвёл, думаю.

Наблюдал уже некоторое время назад в virtualbox, но предположил, что сломалось на 4.2.10 и как раз тогда не успевал проверить на железе...
Comment 2 rotkart 2013-04-11 10:04:47 MSK
(In reply to comment #1)
> Прошу по возможности проверить -- существовал ли каталог /sys/firmware/efi/
> _до_ этой команды? (модуль должен загружаться ещё на старте инсталятора и эта
> команда должна быть точно излишней)
Да, присутствует _до_ этой команды, сразу после загрузки с флешки:
[root@localhost ~]# ls /sys/firmware/efi/
efivars  systab  vars
Я эту команду ввёл благодаря вики-страничке - перестраховка, так сказать

> > grub-mkconfig
> Скорее update-grub, чтоб вывод не перенаправлять руками в /boot/grub/grub.cfg
В том и странность - я ничего никуда не перенаправляю ;-)

Без grub-mkconfig вывод grub-install такой:
[root@localhost /]# grub-install
«/boot/grub/x86_64-efi/core.efi» -> «/boot/efi/EFI/altlinux/grubx64.efi»
Установка завершена. Ошибок нет.
Система после этого не грузится. grub.cfg при этом лежит на месте - он есть!

Если просто выполнить grub-mkconfig без перенаправления вывода в файл, то поведение grub-install меняется! 
Он таки запускает efibootmgr и переключает загрузчик на ALT!

> > grub-install
> Эти две выполняются /usr/lib/alterator/backend3/grub, но в обратном порядке
> (причём не менялся этот скрипт уже больше месяца).
>
> > то загрузчик устанавливается и ОС начинает грузиться.
> Спасибо, воспроизвёл, думаю.
>
> Наблюдал уже некоторое время назад в virtualbox, но предположил, что сломалось
> на 4.2.10 и как раз тогда не успевал проверить на железе...
Comment 3 rotkart 2013-04-11 11:59:50 MSK
Скачал сегодняшний regular-kde4 64-битный.
Перестало ставить загрузчик вообще!
После grub-install идёт только копирование .efi файла.
Попытка руками прописать загрузчик в EFI молча ничего не делает, на --verbose не реагирует, но код выполнения - не ноль.

[root@localhost /]# efibootmgr -c -d /dev/sda -p 1 -l /boot/efi/EFI/altlinux/grubx64.efi -L ALT
[root@localhost /]# echo $?
1

Соответственно пункта меню не появляется.
Comment 4 AEN 2013-04-11 12:06:20 MSK
Давайте дадим mike@ время разобраться. Ошибку он воспроизвел, это полдела.
Comment 5 rotkart 2013-04-11 12:45:08 MSK
(В ответ на комментарий №4)
> Давайте дадим mike@ время разобраться. Ошибку он воспроизвел, это полдела.
Да я не тороплю :-)
Я проверил то, что он просил. Ну и залез чуть глубже, сорри ;-)
Comment 6 Michael Shigorin 2013-04-11 14:34:10 MSK
Не-не, Вам только признателен :)
Comment 7 Michael Shigorin 2013-04-14 19:34:46 MSK
Проверка на nightly показала, что:
* 20130220 +
* 20130227 +
* 20130306 +
* 20130313 +
* 20130320 -
* 20130327 -

При этом grub2 и alterator-grub менялись последний раз 20130305, efibootmgr -- 20130205.
Comment 8 Michael Shigorin 2013-04-15 15:31:17 MSK
Откат кода efivars.ko до состояния 3.8.2 помогает (спасибо boyarsh@).
Там четыре коммита, один из которых -- по мотивам самсунговского бракоделия.
Comment 9 Michael Shigorin 2013-04-15 22:54:32 MSK
Отбисектили (ещё раз спасибо Антону), проблемный коммит -- верхний из четырёх:
http://git.altlinux.org/tasks/95404/gears/100/git?p=git;a=commitdiff;h=9f677cf27341b7a53915ad0e018912dc022a2a24

2 rotkart: при возможности проверьте, пожалуйста, на том же железе любую из регулярных сборок от 20130313 или более ранние.  У меня воспроизводится в virtualbox-4.2.10/4.2.4 и на ASUS C60M1-I.
Comment 10 AEN 2013-04-16 00:41:35 MSK
Я все же верну исходный заголовок, так как именно он описывает ошибку точно.
К тому же, мне непонятно, почему, если дело в efivars, то (цитирую описание ошибки):
"Если же в конце установки переключиться в терминал и из чрута выполнить
последовательность команд:
modprobe efivars; grub-mkconfig; grub-install
то загрузчик устанавливается и ОС начинает грузиться."
А потому оставлю mike@ главным исполнителем. Если дело в ядре -- хорошо, меньше хлопот.
Comment 11 rotkart 2013-04-16 09:54:25 MSK
(В ответ на комментарий №9)
> 2 rotkart: при возможности проверьте, пожалуйста, на том же железе любую из
> регулярных сборок от 20130313 или более ранние.  У меня воспроизводится в
> virtualbox-4.2.10/4.2.4 и на ASUS C60M1-I.
Проверил на http://nightly.altlinux.org/sisyphus/snapshots/20130313/regular-kde4-20130313-x86_64.iso
Загрузчик устанавливается.
Comment 12 rotkart 2013-04-16 10:10:52 MSK
(В ответ на комментарий №11)
> (В ответ на комментарий №9)
> > 2 rotkart: при возможности проверьте, пожалуйста, на том же железе любую из
> > регулярных сборок от 20130313 или более ранние.  У меня воспроизводится в
> > virtualbox-4.2.10/4.2.4 и на ASUS C60M1-I.
> Проверил на
> http://nightly.altlinux.org/sisyphus/snapshots/20130313/regular-kde4-20130313-x86_64.iso
> Загрузчик устанавливается.
В дополнение: устанавливается и в режиме авторазбивки и в режиме ручного указания разделов.
Comment 13 Repository Robot 2013-04-16 11:02:07 MSK
kernel-image-std-def-1:3.8.7-alt2 -> sisyphus:

* Tue Apr 16 2013 Anton V. Boyarshinov <boyarsh@altlinux> 1:3.8.7-alt2
- uefi boot record instalation fixed (closes #28827)
Comment 14 AEN 2013-04-16 11:27:14 MSK
(В ответ на комментарий №12)
> (В ответ на комментарий №11)
> > (В ответ на комментарий №9)
> > > 2 rotkart: при возможности проверьте, пожалуйста, на том же железе любую из
> > > регулярных сборок от 20130313 или более ранние.  У меня воспроизводится в
> > > virtualbox-4.2.10/4.2.4 и на ASUS C60M1-I.
> > Проверил на
> > http://nightly.altlinux.org/sisyphus/snapshots/20130313/regular-kde4-20130313-x86_64.iso
> > Загрузчик устанавливается.
> В дополнение: устанавливается и в режиме авторазбивки и в режиме ручного
> указания разделов.

Спасибо!
Но все же не отписывайтесь от этой баги, нужно будет проверить образы с новым исправленным ядром, когда mike@ их сделает.
Comment 15 rotkart 2013-04-16 13:11:02 MSK
(В ответ на комментарий №14)
> Спасибо!
> Но все же не отписывайтесь от этой баги, нужно будет проверить образы с новым
> исправленным ядром, когда mike@ их сделает.
ОК.
С нетерпением жду новых образов. 
После установщика следующий шаг - EFI + root на GPT RAID1 :-)
Comment 16 AEN 2013-04-16 13:41:22 MSK
(В ответ на комментарий №15)
> После установщика следующий шаг - EFI + root на GPT RAID1 :-)

А Вы багшу повесьте. Без баги не чиним. :-)
Comment 17 Michael Shigorin 2013-04-16 16:46:55 MSK
Спасибо raorn@, что заметил вчерашний движняк и подсказал, что исправляли:
http://lkml.org/lkml/2013/4/15/307
http://lkml.org/lkml/2013/4/15/306
Comment 18 Michael Shigorin 2013-04-16 17:21:42 MSK
Виноват, это действительно была не последняя версия патчсета даже на вчера:
http://lkml.org/lkml/2013/4/15/471
http://lkml.org/lkml/2013/4/15/472
http://lkml.org/lkml/2013/4/15/476

<vsu> как будто те рабочие :)
<vsu> хотя проще, конечно, просто сделать CONFIG_EFI_VARS=y

Видимо, сейчас оставим с откаченным g9f677c, а патчсет пусть едет штатным путём.
Comment 19 AEN 2013-04-16 18:09:08 MSK
(В ответ на комментарий №18)
> Виноват, это действительно была не последняя версия патчсета даже на вчера:
> http://lkml.org/lkml/2013/4/15/471
> http://lkml.org/lkml/2013/4/15/472
> http://lkml.org/lkml/2013/4/15/476
> 
> <vsu> как будто те рабочие :)
> <vsu> хотя проще, конечно, просто сделать CONFIG_EFI_VARS=y
> 
> Видимо, сейчас оставим с откаченным g9f677c, а патчсет пусть едет штатным
> путём.

Да. И эта бага исправлена. Можете завести другую на тему патчсета, который едет.
Comment 20 Michael Shigorin 2014-01-31 19:16:19 MSK
(В ответ на комментарий №15)
> После установщика следующий шаг - EFI + root на GPT RAID1 :-)
И всё-таки просьба повесить отдельно на alterator-grub.
На самом же деле потребуется ещё и bug 28247 порешать (RAID-разделы на GPT).