Текущий mkinitrd непозволяет сформировать initrd поднимающий evms. Как следствие -- невидно штатных способов организации suspend to disk при расположении swap раздела на evms томе и загрузке при / на evms.
Created attachment 1616 [details] mkinitrd.evms.patch Patch на mkinitrd, для формирования initrd (при наличии параметра --with-evms) поднимающего evms тома. Краткое описание действий: 1. В initrd будет добавлена /sbin/evms_activate (со всеми требуемыми библиотеками); 2. Также, будут добавлены evms плогины из списка: aix, bbr, bsd, disk, dos, drivelink, gpt, lvm*, md, os2, s390 и/или snapshot (точнее -- те из них, которые присутствуют в системе); 3. Скопирован системный /etc/evms.conf; 4. Добавлен модуль dm_mod; 5. В linuxrc добавлен код для активации EVMS.
Не работает патч, однако :) После "Starting EVMS" вылазит libgcc_s.so.1 must be installed for pthread_cancel to work
(In reply to comment #2) > Не работает патч, однако :) Странно: у меня -- работает. Но я это дело активно эксплуатиррую на x86_64... > После "Starting EVMS" вылазит > libgcc_s.so.1 must be installed for pthread_cancel to work Можете выложить список файлов, входящих в initrd?
> Странно: у меня -- работает. Но я это дело активно эксплуатиррую на x86_64... Я тоже на x86_64 пробовал > Можете выложить список файлов, входящих в initrd? Уже нет, я отказался от использования evms для /
(In reply to comment #4) > > Странно: у меня -- работает. Но я это дело активно эксплуатиррую на x86_64... > > Я тоже на x86_64 пробовал Может, с включением NPTL как-то связано? (Я свои initrd генерил в начале августа, когда его небыло.) OK, буду проверять... > > > Можете выложить список файлов, входящих в initrd? > > Уже нет, я отказался от использования evms для / Для / у меня использовать тоже не получилось. Но по другой причине: lilo непонимал, чего я от него требую.
Не совсем понятно, как с этим патчем должна работать установка /proc/sys/kernel/real-root-dev - как выглядит /proc/partitions в системе с evms? Подозреваю, что в этом случае надо смотреть не в /proc/partitions, а в файлы устройств, созданные evms_activate в /dev (а работать сейчас это может из-за того, что lilo иногда делает странные вещи с параметром root=... типа перевода его в числовые major/minor; grub в этом отношении проще - он просто передаёт ядру то, что написано в параметрах). Относительно libgcc_s.so.1 - libpthread действительно при определённых условиях пытается динамически загружать эту библиотеку (причём как на i586, так на x86_64); это появилось после перехода на glibc 2.5. Вероятно, придётся запрашивать её явно.
(In reply to comment #5) > (In reply to comment #4) > > > Странно: у меня -- работает. Но я это дело активно эксплуатиррую на x86_64... > > > > Я тоже на x86_64 пробовал > > Может, с включением NPTL как-то связано? (Я свои initrd генерил в начале > августа, когда его небыло.) > > OK, буду проверять... Проверял на паре машин (на Сизифах конца Декабря/началя Января) -- у меня всё нормально. PS: Приложить тот mkinitrd, которым я пользовался?
Добавил данную возможность в mkinitrd-3.0.5-alt1 (см. <http://git.altlinux.org/people/solo/packages/?p=mkinitrd.git;a=commit;h=c6aff852768fec3b3d0ef23c58d49eaee6756004>). mkinitrd-3.0.5-alt1.1 (<http://git.altlinux.org/people/solo/packages/?p=mkinitrd.git;a=commit;h=e59e2cd68b0bc29cc7a930d4ef9e0d30ef2de552>) отправлен в incoming/Daedalus. PS: Испытывалось в основном на kernel-image-xen-dom0-2.6.18-alt2.x86_64
2 silicium: ты там LVM прикручивал? ;-)
(In reply to comment #9) > 2 silicium: ты там LVM прикручивал? ;-) Нет, EVMS.
At this time, I'm reluctant to add any enhancements to this monolithic mkinitrd. Please have a look at another implementations that have modular architecture, e.g. make-initrd by Alexey Gladkov and Kirill Shutemov.
1) это теперь к make-initrd; 2) ядерный evms ещё жив?