Created attachment 5663 [details] remount script draft По мотивам bug #28020, bug #28136 и результатам эксперимента решили: - после завершения разбивки/форматирования ФС при помощи EVMS отключать эти ФС и тома под ними с тем, чтобы освободить блочные устройства для возможности работы с ними напрямую либо подъёма в штатном виде (LVM2- плагин EVMS назначает имена устройств вида /dev/mapper/lvm2|main|root, что не устраивает нынешнюю libdevmapper); - перед продолжением (как минимум до установки загрузчика) обеспечить подъём блочных устройств, включая mdraid, lvm2 и luks-контейнеры, в их итоговом виде, соответствующем ситуации в установленной системе. При этом: - добавляется скрипт installer/preinstall.d/11-remount.sh в installer; - убирается grub-2.00-evms-crap-alt.patch из grub2; - можно убрать хаки в alterator-grub/{backend3/grub,bin/grub-disk} из alterator-grub и в installer/preinstall.d/50-initrd.sh из installer. Набросок пока без поддержки LUKS (для которой также потребуется дополнительная работа по alterator-vm и ещё один шаг установки в случае создания таких контейнеров) прилагается. Если найдутся проблемы или потребуются дополнительные доработки -- переоткрываем.
Created attachment 5664 [details] cleaned up version Этот вариант хотя бы можно читать; у меня работает с md и lvm.
installer-1.8.0-alt1 -> sisyphus: * Tue Dec 04 2012 Michael Shigorin <mike@altlinux> 1.8.0-alt1 - introduced volume remounting (closes: #28181)
(В ответ на комментарий №2) > installer-1.8.0-alt1 -> sisyphus: > > * Tue Dec 04 2012 Michael Shigorin <mike@altlinux> 1.8.0-alt1 > - introduced volume remounting (closes: #28181) С LUKS работает? Если пока нет, то переоткрывайте, не спешите. Или заведите новый баг только про поддержку LUKS при перемонтировании.
Просьба к RM по возможности проверить у себя работу инсталятора с переделанными: grub2 >= 2.00-alt7 alterator-grub >= 0.9-alt1 installer >= 1.8.0-alt1 У меня на x86_64 и i586 при корне (и других ФС) на sdaX, mdX и LVM они работают. Обратите внимание на необходимость make-initrd-lvm в системах с LVM root. (In reply to comment #3) > С LUKS работает? Нет, на этой стадии и не предполагалось -- надо сделать интерфейс запроса пароля и убрать его из alterator-vm, не хотелось застревать. > Или заведите новый баг только про поддержку LUKS при перемонтировании. Разве что так.
Ещё надо перепроверить корень на mdraid с суперблоком версии 1, у нас с boyarsh@ обнаружились проблемы в initrd (make-initrd-mdadm-0.7.9-alt1 у меня установлен).
Сегодняшний образ Кентавра выдаёт ошибку в скрипте 11-remount.sh: double free в umount
Created attachment 5667 [details] Лог крэша
(В ответ на комментарий №6) > Сегодняшний образ Кентавра выдаёт ошибку в скрипте 11-remount.sh: > double free в umount Дайте ссылку на образ, пожалуйста.
(В ответ на комментарий №8) > (В ответ на комментарий №6) > > Сегодняшний образ Кентавра выдаёт ошибку в скрипте 11-remount.sh: > > double free в umount > > Дайте ссылку на образ, пожалуйста. Сегодняшний ночной кентавр, Миша знает где брать.
Comment on attachment 5667 [details] Лог крэша Установка производилась на два раздела: / (обычный ext4), /home (LUKS, ext4).
(В ответ на комментарий №10) > (From update of attachment 5667 [details]) > Установка производилась на два раздела: / (обычный ext4), /home (LUKS, ext4). 2cas@: перемонтирование для LUKS пока не работает. Прошу подтвердить ошибку без него.
2mike: Прошу не закрывать багу до решения проблемы с LUKS (он упомянут в формулировке). Если cas@ подтвердит, что проблема только в LUKS, то можно перевесить на timonbl4@
(В ответ на комментарий №12) > Если cas@ подтвердит, что проблема только в LUKS, то можно перевесить на > timonbl4@ Увы, на двух обычных разделах тоже падает. Второй (/home) даже не примонтировался. Во вложении лог /tmp/11-remount.log.
Created attachment 5668 [details] Лог выполнения скрипта перемонтирования
Comment on attachment 5668 [details] Лог выполнения скрипта перемонтирования Падает при выполнении команды chroot /mnt/destination umount -a
/etc/mtab (нужный для umount -a) - симлинк на /proc/mounts, который не смонтирован. Следовательно, в скрипте нужно до чрутнутого запуска сделать mount --bind /proc /mnt/destination/proc а размонтировать: chroot /mnt/destination/ umount -a -v (чтобы писало, что происходит)
...правда, выдаёт /dev target is busy (/ в чруте подцеплен, как /dev/evms/sda1). Возможно, нужно chroot /mnt/destination/ umount -a -v -е ext2,ext3,ext4,xfs,ntfs,vfat Но тогда теряется смысл скрипта.
(In reply to comment #16) > /etc/mtab (нужный для umount -a) - симлинк на /proc/mounts, который не > смонтирован. (исходный ответ) Если ты смотришь после отвала 11-remount.sh -- то да, _уже_ размонтирован. Отладочная версия скрипта (самый первый аттач) для того и делала несколько раз дамп смонтированного в $destdir из /proc/mounts, а вручную отключается только $destdir/dev/pts. (после уточнения) Оказывается, в Centaurus действительно не смонтирован; учту, спасибо. > Следовательно, в скрипте нужно до чрутнутого запуска сделать > mount --bind /proc /mnt/destination/proc ...если не смонтирован. > а размонтировать: > chroot /mnt/destination/ umount -a -v > (чтобы писало, что происходит) При отладке в начало скрипта добавлял: set -x exec 2>/tmp/11.log >&2 а в конец или перед интересующим местом -- sleep 3600 ||:, чтоб qtbrowser не успел зацепиться за новый сокет в $destdir/tmp/alterator и при этом killall sleep позволял пройти дальше. LUKS действительно пока в работе (см. тж. bug #28200).
(В ответ на комментарий №18) > LUKS действительно пока в работе (см. тж. bug #28200). Источник косяков найден. Это был... (барабанная дробь!) существующий раздела LUKS. Но он не подцеплялся и тихонько лежал себе. Если его не трогать, а изменять другие разделы (удалять, создавать, менять точку монтирования), то проблема не возникает.
(В ответ на комментарий №19) > (В ответ на комментарий №18) > > LUKS действительно пока в работе (см. тж. bug #28200). > Источник косяков найден. Это был... (барабанная дробь!) существующий раздела > LUKS. Но он не подцеплялся и тихонько лежал себе. Если его не трогать, а > изменять другие разделы (удалять, создавать, менять точку монтирования), то > проблема не возникает. Увы, это не так, у меня не работает и без остаточного luks. Работает только в случае, когда задействованы только первычные разделы (1-4). При появлении вторичного раздела -- ломается по device buisy (думаю, это evms гадит)
Created attachment 5669 [details] swapoff/swapon <boyarsh> установка / /var работает <boyarsh> установка swap / /var -- нет [...] *mike не делал swap... <boyarsh> а, всё ясно
Ещё одна неприятность замечена при двух lvm vg: группа с root lv поднимается, группа с home lv после vgchange -ay остаётся без LIVE-таблицы в dmsetup info и, соответственно, без /dev/mapper/data-home с /dev/data/home; vgchange -ay выдаёт: device-mapper: reload ioctl on failed: Invalid argument Гуглится плохо, вот у кого-то похожее в другом случае (у меня data lv на sda5): https://www.linux-answered.com/2012/05/02/rhel-6-3-lvm-raid-lets-try-this-again/
Created attachment 5670 [details] 0001-11-remount-initial-luks-support.patch Учёт существования свопов и исправление помарки со слишком ранней попыткой отмонтирования /mnt/destination/ ушли в сизиф как installer-1.8.1-alt1; набросок, с которым вручную тестирую перемонтирование LUKS, на всякий прилагается (без рукоприкладства на него сейчас можно класть только своп, который не подключится).
(In reply to comment #18) > (In reply to comment #16) > > /etc/mtab [...] симлинк на /proc/mounts, который не смонтирован. > (после уточнения) Оказывается, в Centaurus действительно не смонтирован (ещё раз посмотрев) Смонтирован, дело было не в бобине.
installer-1.8.5-alt1 alterator-preinstall-0.7.1-alt1
(В ответ на комментарий №25) > installer-1.8.5-alt1 > alterator-preinstall-0.7.1-alt1 А поддержка LUKS работает? 28200, от которой зависит эта бага, не закрыта.
(In reply to comment #26) > А поддержка LUKS работает? Она проверялась отдельным бранчем (installer делает только деактивацию); спортировал на текущую реализацию сегодня утром, как раз допроверял на примере свопа (как вариант, /opt -- чтобы не повлияло на установленную систему). Сделано в installer-1.8.7-alt1; отправил 1.8.8-alt1 с исправлением для случая "lvm over mdraid". > 28200, от которой зависит эта бага, не закрыта. Эта зависимость добавлена скорее для связности, смыслового блокера нет. (BTW в bugzilla есть поле "see also" для наборов ссылок на ту же/другие BTS)
На данный момент все известные мне проблемы по этой баге решены; при возникновении неизвестных прошу открыть новую.
TWIMC: при столкновении с livecd-install скрипты перемонтирования были вынесены в отдельный пакет installer-scripts-remount-stage2; дёргаются они из alterator-livecd и alterator-preinstall, а не livecd-install и installer, как можно было бы подумать.
А ещё в os-prober был костыль, оторванный в 1.52-alt2.
(В ответ на комментарий №30) > А ещё в os-prober был костыль, оторванный в 1.52-alt2. А я-то думал, почему в нормальной установке не работает?!
(В ответ на комментарий №30) > А ещё в os-prober был костыль, оторванный в 1.52-alt2. Кстати, а почему $DURING_INSTALL пустой в случае LiveCD?
(In reply to comment #32) > Кстати, а почему $DURING_INSTALL пустой в случае LiveCD? Думаю, это ещё одна ошибка, которую надо будет исправлять после внимательного сличения исходников installer и livecd-install/alterator-livecd (что в планах).
На всякий попробуйте установку на несколько разделов(с /home,/usr) и обычным установщиком (не с LiveCD).
(In reply to comment #34) > попробуйте установку на несколько разделов и обычным установщиком УМВР. Если у тебя что-то не Р, вешай отдельно и внятно: http://egorfine.com/ru/articles/effective-bugreports/ :)
(В ответ на комментарий №35) > УМВР. В каком regular можно это воспроизвести при обычном установщике(не с LiveCD)?
(В ответ на комментарий №36) > (В ответ на комментарий №35) > > УМВР. > В каком regular можно это воспроизвести при обычном установщике(не с LiveCD)? Во всех regular установка только с Live by design.
(В ответ на комментарий №37) > Во всех regular установка только с Live by design. Если у нас будет такой "design" до выхода KDesktop, я лучше исключу в нем обычную установку совсем и добавлю установку с LiveCD во избежании.
(В ответ на комментарий №38) > (В ответ на комментарий №37) > > Во всех regular установка только с Live by design. > Если у нас будет такой "design" до выхода KDesktop, я лучше исключу в нем > обычную установку совсем и добавлю установку с LiveCD во избежании. В Симпли и Кентавре есть полные установки и они тестируются. Если сейчас остались проблемы, то откройте, пожалуйста, новую багу и опишите способ воспроизведния по шагам. А regular останутся такими как есть, -- это не дистрибутивы.
(В ответ на комментарий №39) > В Симпли и Кентавре есть полные установки и они тестируются. "Тестируются", значит. > Если сейчас остались проблемы Откуда ж я знаю, какие проблемы вылезут после выхода дистрибутива? > А regular останутся такими как есть, -- это не дистрибутивы. starterkits лежат в каталоге distributions
(В ответ на комментарий №40) > (В ответ на комментарий №39) > > В Симпли и Кентавре есть полные установки и они тестируются. > "Тестируются", значит. > > > Если сейчас остались проблемы > Откуда ж я знаю, какие проблемы вылезут после выхода дистрибутива? Тестируйте до выхода. > > > А regular останутся такими как есть, -- это не дистрибутивы. > starterkits лежат в каталоге distributions Тем не менее в release notes написано, что это не дистрибутивы. И об их назначении -- тоже. И давайте закончим этот бесплодный разговор.
(В ответ на комментарий №41) > > starterkits лежат в каталоге distributions > Тем не менее в release notes написано, что это не дистрибутивы. В лицензионном соглашении большими буквами -- "ДИСТРИБУТИВ". Нужно исправить.
(В ответ на комментарий №42) > В лицензионном соглашении большими буквами -- "ДИСТРИБУТИВ". Так же, подобную информацию нужно давать до установки, а не после.
(В ответ на комментарий №43) > Так же, подобную информацию нужно давать до установки, а не после. Например, в бетах на картинках сразу нарисовано красными буквами "бета".