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
- Поднятие EVMS из initrd -- содержит patch на mkinitrd