Evms inside initrd: различия между версиями
м (Форматирование ссылок) |
м (Замена <tt> на <code>) |
||
Строка 6: | Строка 6: | ||
=== Настройка === | === Настройка === | ||
Делал по мотивам письма lakostis@ [http://lists.altlinux.org/pipermail/devel-kernel/2005-October/005819.html <nowiki>[d-kernel] Re: Ситуация с поддержкой evms* в ALTLinux</nowiki>]. Дерево для < | Делал по мотивам письма lakostis@ [http://lists.altlinux.org/pipermail/devel-kernel/2005-October/005819.html <nowiki>[d-kernel] Re: Ситуация с поддержкой evms* в ALTLinux</nowiki>]. Дерево для <code>initrd</code> генерил руками (на основании заготовки полученной спомощью <code>mkinitrd</code>). | ||
Для моей конкретной системы (MaxSelect A3 с kernel-2.6.16-std26-smp-alt9.x86_64) делал следующие: | Для моей конкретной системы (MaxSelect A3 с kernel-2.6.16-std26-smp-alt9.x86_64) делал следующие: | ||
# Втащил в дерево < | # Втащил в дерево <code>initrd</code> <code>evms_activate</code> (в <code>/bin</code>) и потребные для неё библиотеки (<div style="display: inline; color: red;">список скорее всего избыточен: оптимизацией ещё не занимался.</div>): | ||
<pre>$ sudo -H ls -Rl initrd.evms/tree/lib | <pre>$ sudo -H ls -Rl initrd.evms/tree/lib | ||
initrd.evms/tree/lib: | initrd.evms/tree/lib: | ||
Строка 48: | Строка 48: | ||
...</pre> | ...</pre> | ||
# Создал ссылку < | # Создал ссылку <code>lib64 -> lib</code> (для упрощения, возможно не прав). | ||
# Добавил модуль < | # Добавил модуль <code>dm-mod.ko</code>. | ||
# Создал каталоги < | # Создал каталоги <code>/dev/evms</code> и <code>/var/lock</code>, для монтирования в них <code>tmpfs</code>. | ||
# В < | # В <code>linuxrc</code> добавлены: | ||
** загрузка < | ** загрузка <code>dm-mod.ko</code>; | ||
** монтирование < | ** монтирование <code>tmpfs</code> | ||
<pre>/bin/mount -t tmpfs -o size=64k evms /dev/evms | <pre>/bin/mount -t tmpfs -o size=64k evms /dev/evms | ||
/bin/mount -t tmpfs -o size=64k tmpfs /var/lock</pre> | /bin/mount -t tmpfs -o size=64k tmpfs /var/lock</pre> | ||
** вызов < | ** вызов <code>evms_activate</code> | ||
** отмонтирование < | ** отмонтирование <code>/dev/evms</code> и <code>/var/lock</code> | ||
Если всё сделано правельно — evms тома поднимаются в < | Если всё сделано правельно — evms тома поднимаются в <code>initrd</code>. | ||
=== Проверка === | === Проверка === | ||
Теперь, если отмантирование < | Теперь, если отмантирование <code>/dev/evms</code> в <code>linuxrc</code> не делать и <code>/initrd</code> существует — можно наблюдать evms тома, поднятые при загрузке ядра. (Будут видны в <code>/initrd/dev/evms/</code>.) | ||
==== Ссылки ==== | ==== Ссылки ==== | ||
* [http://lists.altlinux.org/pipermail/devel-kernel/2005-October/005819.html <nowiki>[d-kernel] Re: Ситуация с поддержкой evms* в ALTLinux</nowiki>] | * [http://lists.altlinux.org/pipermail/devel-kernel/2005-October/005819.html <nowiki>[d-kernel] Re: Ситуация с поддержкой evms* в ALTLinux</nowiki>] | ||
* [[altbug:9958|Поднятие EVMS из initrd]] -- содержит patch на mkinitrd | * [[altbug:9958|Поднятие EVMS из initrd]] -- содержит patch на mkinitrd |
Версия от 01:10, 12 ноября 2008
Поднятие 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