summaryrefslogtreecommitdiffstats
path: root/abs/core/lvm2/sd-lvm2_install
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/lvm2/sd-lvm2_install')
-rw-r--r--abs/core/lvm2/sd-lvm2_install49
1 files changed, 49 insertions, 0 deletions
diff --git a/abs/core/lvm2/sd-lvm2_install b/abs/core/lvm2/sd-lvm2_install
new file mode 100644
index 0000000..f90cc82
--- /dev/null
+++ b/abs/core/lvm2/sd-lvm2_install
@@ -0,0 +1,49 @@
+#!/usr/bin/bash
+
+build() {
+ local mod
+ local symlink
+
+ # device mapper modules
+ for mod in dm-mod dm-snapshot dm-mirror dm-cache dm-cache-smq dm-thin-pool; do
+ add_module "$mod"
+ done
+
+ # device mapper and lvm2 systemd units
+ # binaries and libraries are pull automatically, except ...
+ add_systemd_unit "dm-event.service"
+ add_systemd_unit "lvm2-lvmetad.service"
+ add_systemd_unit "lvm2-pvscan@.service"
+ add_symlink "/usr/lib/systemd/system/sysinit.target.wants/lvm2-lvmetad.socket"
+
+ # ... dmsetup and ...
+ add_binary "dmsetup"
+
+ # ... these, which are dlopen()ed
+ for library in libdevmapper-event-lvm2{mirror,raid,snapshot,thin}; do
+ add_binary "/usr/lib/${library}.so"
+ done
+
+ # from thin-provisioning-tools
+ add_binary "pdata_tools"
+ for symlink in cache_{check,dump,metadata_size,repair,restore} thin_{check,delta,dump,ls,metadata_size,repair,restore,rmap,trim}; do
+ add_symlink "/usr/bin/${symlink}" "pdata_tools"
+ done
+
+ # udev rules and lvm configuration
+ add_file "/usr/lib/udev/rules.d/10-dm.rules"
+ add_file "/usr/lib/udev/rules.d/13-dm-disk.rules"
+ add_file "/usr/lib/udev/rules.d/95-dm-notify.rules"
+ add_file "/usr/lib/udev/rules.d/11-dm-lvm.rules"
+ add_file "/usr/lib/udev/rules.d/69-dm-lvm-metad.rules"
+ add_file "/usr/lib/initcpio/udev/11-dm-initramfs.rules" "/usr/lib/udev/rules.d/11-dm-initramfs.rules"
+ add_file "/etc/lvm/lvm.conf"
+}
+
+help() {
+ cat <<HELPEOF
+This hook enables LVM2 volumes in systemd-based initramfs.
+HELPEOF
+}
+
+# vim: set ft=sh ts=4 sw=4 et: