Summary: | Сломана установка через livecd-install после обновления udev до версии 248.3-alt1 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | Антон Мидюков <antohami> | ||||||
Component: | installer-scripts-remount-stage2 | Assignee: | Антон Мидюков <antohami> | ||||||
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus | ||||||
Severity: | critical | ||||||||
Priority: | P5 | CC: | aen, klark, mike, nickel, shaba | ||||||
Version: | unstable | ||||||||
Hardware: | all | ||||||||
OS: | Linux | ||||||||
Bug Depends on: | |||||||||
Bug Blocks: | 33000 | ||||||||
Attachments: |
|
Похоже, что не произошёл чрут в установленную систему. Если сделать чрут в этом же live, то grub нормально устанавливается. А такая ошибка происходит при запуске grub-install непосредственно в live. Непонятно, как связаны эти сообщения с udev и выводимыми ошибками. Про канонический путь overlay -- надеюсь, речь не о загрузке с bootchain? После вчерашнего обновления на Сизифе на регулярке Rescue наблюдаю такую картину. При переходе в stage2 из initrd с bootchain можно увидеть на консоли сообщения загрузки, в пропагаторных образах этого не видно, как я понял: ... INIT: Entering runlevel: 2 Stopping udevd service: [ DONE ] Failed to send exit request: Connection refused Stopping polld service: [ DONE ] Stopping ueventd service: [ DONE ] ... То есть, в stage1 возможно остался не убитый udevd. Created attachment 9397 [details]
Воспроизвёл на bootchain/altboot с установкой mate
У меня давно был зуб на скрипт remount в инсталляторе. Конкретно на этом выпадении в журнал /tmp/remount.log попадает следующее:
...
+ umount_chroot
+ fuser -vv -k -m /mnt/destination
/usr/sbin/install2-remount-functions: line 106: 5838 File size limit exceeded(core dumped) fuser -vv -k -m "$destdir"
...
+ pushd /dev/mapper
/dev/mapper /
+ for i in *_luks
+ /sbin/cryptsetup luksClose '*_luks'
Device *_luks is not active
+ dmsetup remove '*_luks'
device mapper: remove ioctl on \x2a_luks failed: No such device or address
Command failed.
...
+ /sbin/lvm lvchange -ay --noudevsync
<warnings skipped>
No command with maching syntax recognized.
Run 'lvchange --help' for more information.
lvchange -a|--activate y|n|ay VG|LV|Tag|Select ...
Activate or deactivate an LV.
...
Итого три проблемы, которые надо лечить, не считая мелочи. На данном этапе remount вывел /proc/mounts из 27 строк. На этапе возникновения ошибок там уже 66 строк, overlay встречается дважды, второй раз он смонтирован в /mnt/destination/livecd-root. Но, кажется, у нас и раньше этот ужас присутствовал в desktop installer. Не удивительно, что целевой корень остался смонтированным, так как fuser засегфолтился. Подозреваю, не уложился в лимиты.
# grep /mnt/destination/livecd-root /proc/mounts
33
# grep /mnt/destination/livecd-root /proc/mounts |
cut -f2 -d' ' |tac |umount
# grep /mnt/destination/livecd-root /proc/mounts
# chroot /mnt/destination grub-install /dev/sda
Выполняется установка для платформы i386-pc.
Установка завершена. Ошибок нет.
И psmisc, и installer-scripts-remount-stage2 обновлялись давно, они не являются прямыми виновниками проблемы. Но в них тоже есть очень нехорошие ошибки (в psmisc -- под вопросом, во втором как минимум три баги сразу).
(In reply to Leonid Krivoshein from comment #3) > Не удивительно, что целевой корень остался смонтированным, > так как fuser засегфолтился. Подозреваю, не уложился в лимиты. В лимиты и правда не укладывается с -vv, удаление /etc/security/limits.d/* не помогает. Без -vv fuser не сегфолтится, но и проблемы это не решает. Корень livecd видимо должен оставаться смонтированным. > + /sbin/lvm lvchange -ay --noudevsync Вот эта команда вообще не нужна. А это легко исправляется добавлением set +f и одной проверкой в цикле: > Device *_luks is not active > device mapper: remove ioctl on \x2a_luks failed: No such device or address > Command failed. Судя по выводу, ошибка в grub явно есть: зачем grub-probe пытается дёргать overlay, а не пропускает его? Надо понять, это специфично для bootchain/altboot или же с пропагатором такая же картина. (Ответ для Leonid Krivoshein на комментарий #4) > Судя по выводу, ошибка в grub явно есть: зачем grub-probe пытается дёргать > overlay, а не пропускает его? Надо понять, это специфично для > bootchain/altboot или же с пропагатором такая же картина. Я выше написал, что такая ошибка grub возникает при запуске непосредственно в livecd. А если зачрутиться в устанавливаемую систему, то ок. Т.е. не произошёл чрут в установленную систему и шаг alterator-grub запущен в live системе. (In reply to Антон Мидюков from comment #5) > (Ответ для Leonid Krivoshein на комментарий #4) > Я выше написал, что такая ошибка grub возникает при запуске непосредственно > в livecd. А если зачрутиться в устанавливаемую систему, то ок. Т.е. не > произошёл чрут в установленную систему и шаг alterator-grub запущен в live > системе. Так это диск с пропагатором или без разницы? Просто, такие ошибки позволяют выловить и исправить сразу букет других проблем. (Ответ для Leonid Krivoshein на комментарий #6) > (In reply to Антон Мидюков from comment #5) > > (Ответ для Leonid Krivoshein на комментарий #4) > > Я выше написал, что такая ошибка grub возникает при запуске непосредственно > > в livecd. А если зачрутиться в устанавливаемую систему, то ок. Т.е. не > > произошёл чрут в установленную систему и шаг alterator-grub запущен в live > > системе. > Так это диск с пропагатором или без разницы? Просто, такие ошибки позволяют > выловить и исправить сразу букет других проблем. Да. Но давайте решать другие проблемы отдельно, не надо все в кучу в одном обсуждении. Сравнил точки монтирования на шаге установки grub регулярки за прошлую неделю (исправную) и текущую (неисправную). На исправной на две точки монтирования больше. Это: /dev/sda3 on /run/alteratord type ext4 (rw,relatime) /dev/sda3 on /mnt/destination/livecd-root/run/alteratord type ext4 (rw,relatime) /dev/sda3 - корень устанавливаемой системы. Это не отрабатывает монтирование каталога с сокетом: mount -o bind /mnt/destination//var/run/alteratord /var/run/alteratord По причине того, что отсутствует каталог /mnt/destination/var/run/alteratord Если его создать, то система устанавливается нормально. Буду исправлть livecd-install. Почему изменилось содержимое /mnt/destination/run, мне пока непонятно. Но выглядит оно так, будто раньше выполнялся systemd-tmpfiles --create в нём. Думаю, даже стоит монтировать runfs в /mnt/destination/run, а затем выполнять systemd-tmpfiles --create, чтобы мусора не было. Примечание: /mnt/destination/var/run является симлинком на /mnt/destination/run Нужно это(Ответ для Антон Мидюков на комментарий #8) > Думаю, даже стоит монтировать runfs в /mnt/destination/run, а затем > выполнять systemd-tmpfiles --create, чтобы мусора не было. Это нужно делать в install2-remount-functions. installer-scripts-remount-stage2-0.5.21-alt1 -> sisyphus: Fri Jun 04 2021 Anton Midyukov <antohami@altlinux> 0.5.21-alt1 - install2-remount-functions: Add mount/umount runfs to destination/run (Closes: 40142) |
Created attachment 9396 [details] Невозможно установить загрузчик grub Сломана установка live через livecd-install после обновления udev с версии 247.3-alt2 до версии 248.3-alt1. При установке в режиме UEFI доходит до шага установки загрузчика grub. Раздел /boot/efi создан и смонтирован в целевую систему. efivarfs смонтирована в /sys/firmware/efi/efivars/. Переменные там доступны. Но в alterator-grub установка grub-efi не доступна (соответствующих пунктов выбора нет). Есть только пункт установки на жёсткий диск. Установка на жёсткий диск оканчивается ошибкой "не удалось получить канонический путь overlay". При установке в legacy также доступна только установка загрузчика на Жёсткий диск, и ошибка та же. Проблема есть в live, как с systemd, так и с sysvinit. Виновный пакет был определён следующим образом. Была собрана предыдущая версия systemd с поднятой Epoch. После чего был собран образ icewm-sysv, в котором нет systemd, но есть udev. Образ нормально устанавливается как в режиме UEFI, так и в legacy. Вывод: фатальные изменения произошли в udev. Далее нужно определиться, что это за изменения.