Собрал инитрд с включенным lvm. При загрузке вылазит пачка No volume groups found (примерно в то же время, что выводится какой-то мусор про сетевые настройки), потом про каждую (?) группу The link %s should had been created by udev but it was not found. Falling back to direct link creation. Вроде вылазило ещё и Symbolic link %s not created: file exists, но надо проверить, не пропало ли с новым LVM. lvm2-2.02.61-alt1 make-initrd-0.2.2-alt1
Кирилл, тебе виднее что с этим делать.
Такс. Всё это дело практически сломало загрузку с LVM root. Налицо race, из-за которого, по всей видимости, далеко не всегда создаётся/находится устройство, на котором корень. За десяток загрузок видно, что количество и содержимое сообщений меняются, и такое ощущение, что одни и те же файлы создаются двумя процессами.
Created attachment 4290 [details] Скриншот неудачной загрузки Вот, например, один из вариантов. Обращаю внимание на повторные упоминания файлов и на страшный dm-name-
Created attachment 4291 [details] Скриншот неудачной загрузки
А можешь попробовать с lvm2-2.02.61-alt2 из моего git.
(В ответ на комментарий №5) > А можешь попробовать с lvm2-2.02.61-alt2 из моего git. Всмысле из сизифа? С ним и пробовал, после того как на alt1 не загрузилось.
Вот как поддержка lvm сделана в dracut: http://dracut.git.sourceforge.net/git/gitweb.cgi?p=dracut/dracut;a=tree;f=modules.d/90lvm;h=f5e54ba8dfd201d10957dea1c5aedbfa7b0e611a;hb=16add2aac7ed4526d39132b011300de3c4e17f41 Может наведёт на мысли.
2wrar@: можешь проверить то, что у меня в git + lvm2.git-2.02.61-alt3 + udev-150-alt4 ?
Я изменил принцип обработки эвентов от udev. Теперь рейсов быть не должно, но нужно тщательно тестировать. У меня нет lvm. http://git.altlinux.org/people/legion/packages/make-initrd.git?p=make-initrd.git;a=shortlog;h=refs/heads/udev-events
Просто виснет (точнее, перестаёт что-либо делать) в том месте, где раньше пыталось смонтировать корень.
(В ответ на комментарий №10) > Просто виснет (точнее, перестаёт что-либо делать) в том месте, где раньше > пыталось смонтировать корень. Предётся поднимать рут lvm ... у вас случайно нет qemu-образа с такой конфигурацией ?
Увы, нету.
(В ответ на комментарий №12) > Увы, нету. Тогда ждём пока kas@ появится. Без стенда я допилить этот вид загрузки не смогу.
Извиняйте, что пропал. Сегодня-завтра посмотрю.
(В ответ на комментарий №14) > Извиняйте, что пропал. Сегодня-завтра посмотрю. Сделай мне образ плз. :)
Created attachment 4317 [details] Образ диска с lvm. Образ диска с lvm. Вместо /sbin/init лежит ash, который даже не запускается, поскольку я забыл /dev/* подложить ;) Но это не важно. Главное добиться стабильного монтирования root'а. Я запускал так: qemu -enable-kvm -kernel /boot/vmlinuz-2.6.34-rc1 -hdd rootfs -append 'root=UUID=0518a50d-467e-447e-af94-de2f9225c4b5 init=/sbin/init vga=0xF07 rootdelay=10' -initrd myinitrd.img Модифицируйте по своему усмотрению.
(В ответ на комментарий №16) > Created an attachment (id=4317) [details] > Образ диска с lvm. Спасибо. Уже нашёл ошибку. Сегодня вечером будет коммит с исправлением.
Кстати, нужно будет подобные образы сделать для всех типичных и не очень конфигураций и положить в git. Что б легче тестировать было.
(В ответ на комментарий №18) > Кстати, нужно будет подобные образы сделать для всех типичных и не очень > конфигураций и положить в git. Что б легче тестировать было. Согласен, но только такие, которые грузятся :)
Запушил исправления в тот же бранч.
48c743dcaa8fe22347b249413d12a7442dd49757 ? Не вижу разницы.
(В ответ на комментарий №21) > 48c743dcaa8fe22347b249413d12a7442dd49757 ? Не вижу разницы. Ничего не понял.
C make-initrd, собранным из указанного коммита, поведение такое же, как в https://bugzilla.altlinux.org/show_bug.cgi?id=23077#c10
(В ответ на комментарий №23) > C make-initrd, собранным из указанного коммита, поведение такое же, как в У вас присутствует ли lvm в FEATURES если выполнить make-initrd guess-config ? Если нет, то пропишите его руками в /etc/initrd.mk. Инициализируются ли при загрузке диски ? У меня приложенный rootfs загрузился насколько это возможно. Я пользовался командой: qemu -enable-kvm -hdd /tmp/rootfs -kernel /tmp/vmlinuz -initrd /tmp/initrd.img -append 'root=UUID=0518a50d-467e-447e-af94-de2f9225c4b5 rootdelay=10'
(В ответ на комментарий №24) > > C make-initrd, собранным из указанного коммита, поведение такое же, как в > У вас присутствует ли lvm в FEATURES если выполнить make-initrd guess-config ? > Если нет, то пропишите его руками в /etc/initrd.mk. Давно прописано. > Инициализируются ли при загрузке диски ? Да, если речь о "sda: sda1 sda2 sda3" и проч.
(В ответ на комментарий №25) > Да, если речь о "sda: sda1 sda2 sda3" и проч. А как вы указываете root= ? Для меня ситуация странная ... не может быть чтобы в эмуляторе работало, а у вас нет.
(В ответ на комментарий №26) > А как вы указываете root= ? root=UUID=9c8473ff-08fe-4f21-bf82-3a3657d83858 > Для меня ситуация странная ... не может быть чтобы в эмуляторе работало, а у > вас нет. Какой-нибудь аццки подробный дебаг загрузки initrd можно ведь включить?
2 wrar@: можешь посмотреть с фиксами из моего гита (бранч udev-events). у меня загружается.
Вот, с a1afbbc1981d0b4ee7f615721cb8cdc474f1474e работает.
(In reply to comment #29) > Вот, с a1afbbc1981d0b4ee7f615721cb8cdc474f1474e работает. tnx. Лёша, смержишь?
make-initrd-0.3.0-alt1 -> sisyphus: * Wed Mar 31 2010 Alexey Gladkov <legion@altlinux> 0.3.0-alt1 - Rewrite handling of udev events. - Fix mounting the root before resume (ALT#23183). - Fix races in the lvm activation (ALT#23077).