Bug 28600

Summary: отвалилась вторая попытка с --force из-за перевода сообщения с предложением blocklists
Product: Sisyphus Reporter: barssc <barssc>
Component: alterator-grubAssignee: Michael Shigorin <mike>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: aen, boyarsh, cas, ekorneechev, mike, sem, vsu, zerg
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 27685    
Attachments:
Description Flags
Логи от установщика none

Description barssc 2013-02-25 19:23:12 MSK
Created attachment 5751 [details]
Логи от установщика

Сборка regular-tde-latest-i586.iso от 20.02, установка идет на виртуал бокс 4.2.4 альт 6.0.2. 
1)Запускаем установку из под live cd
2)Доходим до разбивки диска, выбираем вручную, видим неразмеченный диск в 8Гб (по умолчанию в виртуал бокс выставлен размер)
3)Выбираем данный диск и нажимаем создать файловую систему
4)Выбираем файловая система ext2/3/4 с установкой галок о создании журнала ext3 и расширений ext4 (еще обнаружил траблу, если жмакнуть галку расширенные функции то вообще все диски исчезают)
5)Жмем Ок, далее по умолчанию оставляем точку монтирования / и соглашаемся с форматированием
6)Далее идет обычная установка системы, доходим до пункта установка загрузчика и вот здесь начинается самое интересное
7)Ставим загрузчик на диск sda (он один единственный с единственным разделом sda) и вылазит ошибка следующего вида "Невозможно установить загрузчик на /dev/sda :/usr/sbin/grub-bios-setup: предупреждение: Файловая система  ext2 не поддерживает встраивание" жмем ок, пробуем поставить на раздел sda и то же самое, проходит только отказ от установки загрузчика
Логи прилагаются в архиве, если выбрать автоматическую разбивку диска, то загрузчик устанавливается на ура, так же бегло пощупал остальные регулярные сборки и та же ерунда.
Comment 1 Michael Shigorin 2013-02-25 19:49:33 MSK
(In reply to comment #0)
> 2)Доходим до разбивки диска, выбираем вручную, видим неразмеченный диск в 8Гб
> (по умолчанию в виртуал бокс выставлен размер)
> 3)Выбираем данный диск и нажимаем создать файловую систему
А теперь попробуйте снести /dev/sda и создать разделы, на которых уже делать ФС.

См. remount.log:
+ rootfs=/dev/evms/sda

Этот случай специфичен для виртуалок и действительно многих смущает, но исправлять его следует в alterator-vm.  Либо удалять руками sda и делать sdaX.
Comment 2 timonbl4@altlinux.org 2013-02-26 13:49:17 MSK
Это же не баг, а фича

Если возражений ни у кого нет, могу убрать
Comment 3 Michael Shigorin 2013-02-26 14:25:40 MSK
Суть проблемы в том, что если получаем на единственном sda корень, то загрузиться с него далее не представляется возможным (по крайней мере для grub, lilo при некоторых ФС может и поместиться в специально незадействованный кусочек места, формально принадлежащий такой файловой системе).

Соответственно надо постараться избежать ситуаций, когда тестирование в виртуалке приводит к быстрому и удобному получению такого корня, затратам времени на распаковку базовой системы на него и предсказуемому ещё на этапе разбивки облому при установке загрузчика.

Делать ли это предупреждением при единственном sda и/или определении его виртуальности или ещё как -- пока не знаю, но хотя бы так.

Сама-то фича создания ФС на целом устройстве полезна, конечно.
Comment 4 Sergey V Turchin 2013-02-26 15:08:22 MSK
(В ответ на комментарий №0)
> 7)Ставим загрузчик на диск sda
> (он один единственный с единственным разделом sda)
> и вылазит ошибка следующего вида "Невозможно установить загрузчик на
> /dev/sda :/usr/sbin/grub-bios-setup: предупреждение:
> Файловая система  ext2 не поддерживает встраивание"
То же самое при попытке установить загрузчик на отдельный раздел (sda6) на реальной системе.
Comment 5 Michael Shigorin 2013-02-26 19:48:52 MSK
(In reply to comment #4)
> > "Невозможно установить загрузчик на /dev/sda :/usr/sbin/grub-bios-setup:
> > предупреждение: Файловая система  ext2 не поддерживает встраивание"
> То же самое при попытке установить загрузчик на отдельный раздел (sda6) на
> реальной системе.
Во, так воспроизвёл.  Суть проблемы IMHO одна и та же, см. тж.
http://www.gnu.org/software/grub/manual/html_node/BIOS-installation.html

Предупреждение в твоём случае сделать сложнее, т.к. это надо догадаться о намерении сделать мультибут... _возможно_, в alterator-vm есть смысл предупреждать при корне на ext*, что на него (sdX или раздел) не получится поставить grub, а в alterator-grub отфильтровывать такие разделы из предлагалки.
Comment 6 Sergey V Turchin 2013-02-26 19:59:27 MSK
Если на раздел с умолчательной файловой системой нельзя поставить загрузчик, то это неприемлимо.
Comment 7 Michael Shigorin 2013-02-26 20:03:59 MSK
1) это весьма частный случай (обычно в MBR);
2) боюсь, к ext[234] даже патчи на такую тему не приняли бы.

Так что это была моя ошибка: твой случай отчасти схож, но не про эту багу.
Здесь предлагаю ограничиться решением того, что делать с / на sdX.
Comment 8 Sergey Vlasov 2013-02-26 22:12:17 MSK
На самом деле раньше grub вполне ставился на раздел с файловой системой. Он должен уметь это и сейчас, но со следующими ограничениями:

1) не поддерживаются RAID и LVM;
2) не поддерживаются некоторые файловые системы - например, btrfs (но там для embed есть почти 64K), nilfs2;
3) установка должна происходить на тот же диск, где находится /boot;
4) в параметры grub-bios-setup (или grub-install) необходимо добавлять опцию --force, при этом всё равно будут выдаваться жалобы на то, что данный режим ненадёжен.
Comment 9 AEN 2013-02-27 14:30:55 MSK
(В ответ на комментарий №7)
> 1) это весьма частный случай (обычно в MBR);
> 2) боюсь, к ext[234] даже патчи на такую тему не приняли бы.
> 
> Так что это была моя ошибка: твой случай отчасти схож, но не про эту багу.

Тогда повесьте новую багу про случай zerg@. Сергей не может regular-kde4 установить из-за этого.
Comment 10 Sergey V Turchin 2013-02-27 14:39:22 MSK
(В ответ на комментарий №8)
> На самом деле раньше grub вполне ставился на раздел с файловой системой. 
И lilo тоже. Я всю дорогу так дополнительные OS ставлю на попробовать -- 1 root и туда же загрузчик.

При этом все тестовые разделы в конце диска, чтоб с ними можно было что угодно делать.
Comment 11 Sergey V Turchin 2013-02-27 19:00:38 MSK
На XFS тоже не ставится: "Ну могу туда загрузчик в стиле DOS"
Comment 12 Sergey V Turchin 2013-02-27 19:56:19 MSK
JFS и RaiserFS: "не поддерживает встраивание"
На Btrfs поставился, но пункт меню grub не появляется. Видимо os-prober его не находит, а раньше находил.
Comment 13 AEN 2013-02-27 20:12:37 MSK
(В ответ на комментарий №12)
> JFS и RaiserFS: "не поддерживает встраивание"
> На Btrfs поставился, но пункт меню grub не появляется. Видимо os-prober его не
> находит, а раньше находил.

Повесьте, пожалуйста, отельную багу на grub про Ваш случай. Блокером на p7
Comment 14 Sergey Vlasov 2013-02-27 21:46:51 MSK
На XFS действительно ставится не должно — там суперблок ФС лежит прямо в нулевом секторе, код загрузки класть некуда (хотя в последних syslinux mbr для XFS есть хак — делается попытка читать загрузчик из следующего сектора, который свободен, но, похоже, больше нигде подобное извращение не поддерживается).

А вот на jfs и reiserfs установка должна проходить, но только с опцией --force. Правда, не совсем понимаю, почему не сделали embed для reiserfs — там же перед суперблоком для загрузчика свободно 64K, как в btrfs. Видимо, просто reiserfs никому не нужна.
Comment 15 Michael Shigorin 2013-02-27 22:23:44 MSK
(В ответ на комментарий №14)
> А вот на jfs и reiserfs установка должна проходить, но только с опцией --force.
Эту опцию alterator-grub в качестве фолбэка подсовывал, но только при виде "using blocklists" в выхлопе первой попытки.  Ну или если теперь снести grub.mo. :)

Так, заберу-ка я эту багу себе на alterator-grub, а на alterator-vm надо повесить новую и внятную -- про предупреждение о ситуации "/dev/sda как единственный диск и одновременно блочное устройство под корневой ФС".

Тимур, прошу прощения за очередной спам на голову.
Comment 16 Michael Shigorin 2013-02-27 22:37:01 MSK
Объехано в alterator-grub 0.9.6-alt1, более ударопрочный фикс в работе (завязан на изменения в grub2, которые тоже в работе).
Comment 17 Anton V. Boyarshinov 2013-02-28 11:23:45 MSK
> Правда, не совсем понимаю, почему не сделали embed для reiserfs — там же перед
> суперблоком для загрузчика свободно 64K, как в btrfs. Видимо, просто reiserfs
> никому не нужна.
А умеет ли grub загружать ядро и initrd с raiserfs и jfs? Если нет, но действительно получается возможно, но не очень нужно.
Comment 18 Sergey V Turchin 2013-02-28 15:37:22 MSK
Все это нужно проверять в конце alterator-vm, но с учетом какой именно загрузчик будет ставиться (это, естественно, никогда сделано у нас не будет).
Comment 20 Michael Shigorin 2013-03-05 00:06:10 MSK
(In reply to comment #16)
> (завязан на изменения в grub2, которые тоже в работе)
(сделаны в grub2-2.00-alt12 и alterator-grub-0.9.7-alt1)
Comment 21 Sergey V Turchin 2013-03-12 17:56:21 MSK
С сегодняшним образом KDesktop os-prober не нашел установленную на sda6 систему.

P.S.
Если тестировать образы на реальном железе мне не нужно, то блок для p7 для меня неактуален.
Comment 22 AEN 2013-03-12 18:02:02 MSK
(В ответ на комментарий №21)
> С сегодняшним образом KDesktop os-prober не нашел установленную на sda6
> систему.
> 
> P.S.
> Если тестировать образы на реальном железе мне не нужно, 

Нужно
Comment 23 Sergey V Turchin 2013-03-12 18:16:43 MSK
(В ответ на комментарий №22)
> Нужно
Ну, это шутка :-) Просто, блокер уже снимали.
Comment 24 Sergey V Turchin 2013-03-15 18:35:38 MSK
(В ответ на комментарий №21)
> С сегодняшним образом KDesktop os-prober не нашел установленную на sda6
> систему.
Не. Все нормально. grub был не настроен правильно.
Comment 25 Michael Shigorin 2013-03-15 21:23:16 MSK
В общем, для случая ext4 диагностировано и исправлено.
Comment 26 Michael Shigorin 2013-03-20 14:20:52 MSK
(In reply to comment #24)
> > [...] os-prober не нашел установленную на sda6 систему.
> Не. Все нормально. grub был не настроен правильно.
Вот здесь хорошо бы подробнее -- сегодня перепроверил, первая система с корнем на sda2 и загрузчиком в MBR, вторая -- на sda5 и в sda5; первая грузится своим GRUB нормально, вторую этот grub не видит, хотя запущенный на первой os-prober вторую находит.  Наверное, это безобразие стоит повесить отдельно, только пока не знаю, на что именно.
Comment 27 Sergey V Turchin 2013-03-20 14:47:18 MSK
(В ответ на комментарий №26)
> > Не. Все нормально. grub был не настроен правильно.
> Вот здесь хорошо бы подробнее
Это уже в прошлом. Не имеет отношения к более поздней проблеме, когда пришлось руками переустановить grub.
Comment 28 Sergey V Turchin 2013-03-20 14:50:56 MSK
(В ответ на комментарий №26)
> сегодня перепроверил
Можешь проверить на KDesktop. У меня воспроизвелось на 2-х соседних сборках, при этом с regular-kde было все нормально.

Одно из предположений: при одноименных системах на sda и sdaX может что-то не срабатывать при установке на sdaX.
Comment 29 Michael Shigorin 2013-03-20 18:36:27 MSK
Похоже, требуется update-grub на том корне, откуда он устанавливается в MBR.
Comment 30 Sergey V Turchin 2013-03-20 18:40:14 MSK
(В ответ на комментарий №29)
> Похоже, требуется update-grub на том корне, откуда он устанавливается в MBR.
На нем делал только grub-mkconfig. Сразу после установки не нашлось, а после chroot; grub-install; exit -- нашлось.
Comment 31 Michael Shigorin 2013-03-20 20:04:39 MSK
(In reply to comment #30)
> > update-grub
> grub-mkconfig
update-grub и дёргает grub-mkconfig, просто удобней :)
Comment 32 Sergey V Turchin 2013-04-16 16:09:33 MSK
(В ответ на комментарий №29)
> Похоже, требуется update-grub на том корне, откуда он устанавливается в MBR.
Не работает. Только послее chroot и установки загрузчика.