Bug 27561

Summary: После обновление до t6 и установки нового ядра система не грузится ни в новое, ни в старые ядра
Product: Branch t6 Reporter: Andrew Kornilov <hiddenman>
Component: bootloader-utilsAssignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED WONTFIX QA Contact: QA t6 <qa-t6>
Severity: blocker    
Priority: P3 CC: cas, evg, gns, grenka, legion, mike
Version: не указана   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
Сервер1
none
Сервер2 none

Description Andrew Kornilov 2012-07-22 01:49:05 MSK
Коллеги, приветствую.

Вешаю пока на t6 и bootloader-utils, т.к. installkernel из него, просьба переместить на правильный компонент.

Кратко проблему и способ решения описал здесь: http://www.altlinux.org/Update

"При обновлении системы с p5 до t6 branch и наличии аппаратного RAID, для которого нужен модуль в initrd, воспроизводится следующий баг: система обновляется, устанавливается новое ядро, генерируется initrd, но абсолютно стандартный, без необходимых модулей RAID и т.д. После перезагрузки вы получите нерабочую систему, в которую невозможно загрузиться. Причем со старым ядром тоже! Причину этого выяснить пока не удалось, но проблема 100% воспроизводима. Временное решение такое: грузиться с Rescue Disk (например: http://www.sysresccd.org/Sysresccd-manual-en_How_to_install_SystemRescueCd_on_an_USB-stick), монтировать нужный / и /boot, туда же монтировать /proc, /dev и /sys из загруженного Rescue, делать chroot в систему и внутри уже заново запустить installkernel 2.6.x-flavour, после чего будет корректно перегенерирован initrd с нужными модулями. Отмонтируете все, перегружаетесь и получаете рабочую систему"

Я провел увлекательную ночь в дата-центре, пытаясь выяснить, что произошло, думал, что самое плохое - что-то с разделами или RAID-ом случилось.

Я бы понял, если бы не грузилось только новое ядро без модулей (в моем случае aacraid сотоварищи). Но почему не грузятся старые, где эти модули есть?!

Два make-initrd bug-report в аттачах, хотя они вряд ли помогут. Почему installkernel генерировал практически "пустой" initrd? Куда он смотрит для генерации? Может быть надо было просто udevd перезапустить?
Comment 1 Andrew Kornilov 2012-07-22 01:50:09 MSK
Created attachment 5516 [details]
Сервер1
Comment 2 Andrew Kornilov 2012-07-22 01:52:09 MSK
Created attachment 5517 [details]
Сервер2
Comment 3 Andrew Kornilov 2012-07-22 01:58:43 MSK
Добавлю, что в голове были какие-то обрывки "знаний" про новые initramfs и прочее, поэтому ядра устанавливал уже после dist-upgrade-а, когда все нужное новое установилось.
Comment 4 Andrew Kornilov 2012-07-22 02:05:33 MSK
Ну и последнее замечание: *возможно* системы были не чистыми p5, а 5.0/5.1, обновленные частично до p5. Что сути дела особо не меняет.
Comment 5 Michael Shigorin 2012-07-22 14:29:05 MSK
Если достаточно перегенерации initrd, то дело скорее в make-initrd, чем в bootloader-utils.
Comment 6 Evgenii Terechkov 2012-07-22 21:46:28 MSK
Ну а старое то ядро чем мотивировало?
Comment 7 Andrew Kornilov 2012-07-22 21:56:42 MSK
Еще вспомнил кое-что:

изначально ругался fsck на то, что не может найти устройство с UUID=, поэтому первым этапом я весь fstab передалал на /dev/sdaX, думал, в этом дело какое-то.

Но не помогло.  Когда понял, что нет устройства, сделал костыль - modprobe aacraid перед стартом udevd, но тоже не помогло.
При этом вывод dmesg мне показывал наличие /dev/sdb, который тоже на этом RAID-е сделан, второе зеркало.

В общем, какие-то чудеса. Жаль, что когда понял, что installkernel в chroot помог, я не продолжил эксперименты, т.к. и так сервисы лежали 3 часа.

Может нужно просто как-то "правильно" обновляться?
Comment 8 Andrew Kornilov 2012-07-22 22:05:44 MSK
(В ответ на комментарий №6)
> Ну а старое то ядро чем мотивировало?

А равно тем же самым.

Симптомы были одинаковые: грузится ядро и его initrd. В этот момент, судя по выводу dmesg, оно таки устройство видит, просто /dev/sdb вывело последним, почему я и написал, что он был, а теперь понял, что просто /dev/sda был выше.
Далее какие-то там прихотовления происходят, после чего останавливался udev из initrd(он там разве есть? но сообщения я такое видел). 
Далее система входила в интерактивную стадию, даже писало setting hostname my.hostname (то есть она его откуда-то взяла, т.к.  в initrd же его нет), после этого checking root filesystem и тут всё, постановка.

Если штатно грузится, то fsck не может найти устройство, если с fastboot, то выводились стандартные сообщения про "что-то там у вас все плохо, зайдите root-ом или нажмите ctrl-d для продолжения загрузки".  При этом, кстати, usb-клавиатура не работала никаких образом. PS/2 почему-то тоже.

В общем, диагностику по фотографии сделать сложно, но явно какой-то косяк.  Если найду где-то машинку, попробую повторить ситуацию.
Comment 9 Grigory Ustinov 2018-08-10 19:48:35 MSK
Данный дистрибутив более не поддерживается. Закрываю баг, как End of Life.