aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRolf Fokkens <rolf@rolffokkens.nl>2013-10-06 20:30:07 +0200
committerGabriel <g2p.code@gmail.com>2013-10-07 12:57:31 +0200
commit7703224daa1c5b75c5a104b7db2d7fdcd3816cdf (patch)
treef24e39dd8c7ac71da415d9595a0937362dd7d730
parent86ba62c6a19a7ebb1e672a668ce991fb940c415d (diff)
downloadbcache-tools-7703224daa1c5b75c5a104b7db2d7fdcd3816cdf.tar.gz
Add a dracut module for bcache
-rw-r--r--Makefile3
-rw-r--r--dracut/module-setup.sh34
2 files changed, 37 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index a3179304..825e86f7 100644
--- 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
index 00000000..5a067cb0
--- /dev/null
+++ b/dracut/module-setup.sh
@@ -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
+}