Evms inside initrd
Поднятие evms из initrd
Настройка
Делал по мотивам письма lakostis@ [d-kernel Re: Ситуация с поддержкой evms* в ALTLinux]. Дерево для initrd генерил руками (на основании заготовки полученной спомощью mkinitrd).
Для моей конкретной системы (MaxSelect A3 с kernel-2.6.16-std26-smp-alt9.x86_64) делал следующие:
- Втащил в дерево initrd evms_activate (в /bin) и потребные для неё библиотеки (список скорее всего избыточен: оптимизацией ещё не занимался.):
$ sudo -H ls -Rl initrd.evms/tree/lib initrd.evms/tree/lib: итого 1845 drwxr-xr-x 3 root root 72 Авг 22 12:52 evms -rwxr-xr-x 1 root root 111034 Май 26 18:12 ld-2.3.6.so lrwxrwxrwx 1 root root 11 Авг 22 13:30 ld-linux-x86-64.so.2 -> ld-2.3.6.so -rwxr-xr-x 1 root root 1188440 Май 26 18:12 libc-2.3.6.so lrwxrwxrwx 1 root root 13 Авг 22 13:30 libc.so.6 -> libc-2.3.6.so -rw-r--r-- 1 root root 10368 Май 26 18:14 libdl-2.3.6.so lrwxrwxrwx 1 root root 14 Авг 22 13:30 libdl.so.2 -> libdl-2.3.6.so lrwxrwxrwx 1 root root 18 Авг 22 13:30 libevms-2.5.so.0 -> libevms-2.5.so.0.5 -rw-r--r-- 1 root root 454000 Авг 6 21:37 libevms-2.5.so.0.5 lrwxrwxrwx 1 root root 18 Авг 22 13:30 libevms.so -> libevms-2.5.so.0.5 -rw-r--r-- 1 root root 101260 Май 26 18:14 libpthread-0.10.so lrwxrwxrwx 1 root root 18 Авг 22 13:30 libpthread.so.0 -> libpthread-0.10.so lrwxrwxrwx 1 root root 14 Авг 22 13:30 libuuid.so.1 -> libuuid.so.1.2 -rw-r--r-- 1 root root 10696 Июн 6 13:03 libuuid.so.1.2 drwxr-xr-x 3 root root 88 Авг 22 12:10 modules initrd.evms/tree/lib/evms: итого 0 drwxr-xr-x 2 root root 328 Авг 22 12:54 2.5.5 initrd.evms/tree/lib/evms/2.5.5: итого 732 -rw-r--r-- 1 root root 41456 Авг 6 21:37 bbr-1.1.15.so -rw-r--r-- 1 root root 42096 Авг 6 21:37 bbr_seg-1.1.13.so -rw-r--r-- 1 root root 45848 Авг 6 21:37 disk-1.2.13.so -rw-r--r-- 1 root root 167984 Авг 6 21:37 dos-1.1.16.so -rw-r--r-- 1 root root 60368 Авг 6 21:37 drivelink-3.0.6.so -rw-r--r-- 1 root root 158856 Авг 6 21:37 lvm-1.1.15.so -rw-r--r-- 1 root root 163688 Авг 6 21:37 lvm2-1.0.5.so -rw-r--r-- 1 root root 52552 Авг 6 21:37 snapshot-3.1.11.so ...
- Создал ссылку lib64 -> lib (для упрощения, возможно не прав).
- Добавил модуль dm-mod.ko.
- Создал каталоги /dev/evms и /var/lock, для монтирования в них tmpfs.
- В linuxrc добавлены:
- загрузка dm-mod.ko;
- монтирование tmpfs
/bin/mount -t tmpfs -o size=64k evms /dev/evms /bin/mount -t tmpfs -o size=64k tmpfs /var/lock
- вызов evms_activate
- отмонтирование /dev/evms и /var/lock
Если всё сделано правельно -- evms тома поднимаются в initrd.
Проверка
Теперь, если отмантирование /dev/evms в linuxrc не делать и /initrd существует -- можно наблюдать evms тома, поднятые при загрузке ядра. (Будут видны в /initrd/dev/evms/.)
Ссылки
* [d-kernel Re: Ситуация с поддержкой evms* в ALTLinux] * altbug:9958 -- содержит patch на mkinitrd