]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
60xen: add support for loading Xen modules
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Wed, 13 Jan 2010 14:37:05 +0000 (15:37 +0100)
committerHarald Hoyer <harald@redhat.com>
Wed, 13 Jan 2010 14:37:05 +0000 (15:37 +0100)
dracut.spec
modules.d/60xen/check [new file with mode: 0644]
modules.d/60xen/install [new file with mode: 0644]
modules.d/60xen/installkernel [new file with mode: 0644]
modules.d/60xen/xen-pre-udev.sh [new file with mode: 0644]

index d5e89955c2b1c61603e4222005f4df89c56a5e15..326a3e7b5bbadac1a13d793090f64bc3619d4b09 100644 (file)
@@ -168,6 +168,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_datadir}/dracut/modules.d/10redhat-i18n
 %{_datadir}/dracut/modules.d/10rpmversion
 %{_datadir}/dracut/modules.d/50plymouth
+%{_datadir}/dracut/modules.d/60xen
 %{_datadir}/dracut/modules.d/90crypt
 %{_datadir}/dracut/modules.d/90dm
 %{_datadir}/dracut/modules.d/90dmraid
diff --git a/modules.d/60xen/check b/modules.d/60xen/check
new file mode 100644 (file)
index 0000000..fbad012
--- /dev/null
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+# No Xen-detect? Boo!!
+which xen-detect >/dev/null 2>&1 || exit 1
+
+. $dracutfunctions
+[[ $debug ]] && set -x
+
+# Yes, we are under Xen PV env.
+xen-detect | egrep -q -v 'PV' || exit 0
+
+exit 1
diff --git a/modules.d/60xen/install b/modules.d/60xen/install
new file mode 100644 (file)
index 0000000..71a508f
--- /dev/null
@@ -0,0 +1,4 @@
+#!/bin/bash
+inst xen-detect 
+inst_hook pre-udev 40 "$moddir/xen-pre-udev.sh"
+
diff --git a/modules.d/60xen/installkernel b/modules.d/60xen/installkernel
new file mode 100644 (file)
index 0000000..cb14064
--- /dev/null
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+for i in \
+    xenbus_probe_frontend xen-pcifront \
+    xen-fbfront xen-kbdfront xen-blkfront xen-netfront \
+    ; do
+    modinfo -k $kernel $i >/dev/null 2>&1 && instmods $i
+done
+
diff --git a/modules.d/60xen/xen-pre-udev.sh b/modules.d/60xen/xen-pre-udev.sh
new file mode 100644 (file)
index 0000000..96faf44
--- /dev/null
@@ -0,0 +1,10 @@
+xen-detect
+RC=$?
+if [ "$RC" = "1" ] ; then
+        modprobe xenbus_probe_frontend
+        modprobe xen-kbdfront
+        modprobe xen-fbfront
+        modprobe xen-blkfront
+        modprobe xen-netfront
+        modprobe xen-pcifront
+fi