]> git.sesse.net Git - bcachefs-tools-debian/commitdiff
Add a dracut module for bcache
authorRolf Fokkens <rolf@rolffokkens.nl>
Sun, 6 Oct 2013 18:30:07 +0000 (20:30 +0200)
committerGabriel <g2p.code@gmail.com>
Mon, 7 Oct 2013 10:57:31 +0000 (12:57 +0200)
Makefile
dracut/module-setup.sh [new file with mode: 0644]

index a31793043e050025e784a6f607be95c5a7e502bc..825e86f7190ac00ef38be8f27831105bb4382a90 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -10,6 +10,9 @@ install: make-bcache probe-bcache bcache-super-show
        install -m0755 probe-bcache bcache-register             $(DESTDIR)$(UDEVLIBDIR)/
        install -m0644 69-bcache.rules  $(DESTDIR)$(UDEVLIBDIR)/rules.d/
        -install -T -m0755 initramfs/hook       $(DESTDIR)/usr/share/initramfs-tools/hooks/bcache
+       if [ -d $(DESTDIR)/lib/dracut/modules.d ]; \
+       then install -D -m0755 dracut/module-setup.sh $(DESTDIR)/lib/dracut/modules.d/90bcache/module-setup.sh; \
+       fi
        install -m0644 -- *.8 $(DESTDIR)${PREFIX}/share/man/man8/
 #      install -m0755 bcache-test $(DESTDIR)${PREFIX}/sbin/
 
diff --git a/dracut/module-setup.sh b/dracut/module-setup.sh
new file mode 100644 (file)
index 0000000..5a067cb
--- /dev/null
@@ -0,0 +1,34 @@
+#!/bin/bash
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+# ex: ts=8 sw=4 sts=4 et filetype=sh
+
+#
+# At some point (util-linux v2.24) blkid will be able to identify bcache
+# but until every system has this version of util-linux, probe-bcache is
+# provided as an alternative.
+#
+
+check() {
+    if [[ $hostonly ]] || [[ $mount_needs ]]
+    then
+        for fs in "${host_fs_types[@]}"; do
+            [[ $fs = "bcache" ]] && return 0
+        done
+        return 255
+    fi
+
+    return 0
+}
+
+depends() {
+    return 0
+}
+
+installkernel() {
+    instmods bcache
+}
+
+install() {
+    inst_multiple ${udevdir}/probe-bcache ${udevdir}/bcache-register
+    inst_rules 69-bcache.rules
+}