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. Далее нужно определиться, что это за изменения.
Похоже, что не произошёл чрут в установленную систему. Если сделать чрут в этом же 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)