From: "Luis R. Rodriguez" <mcgrof@do-not-panic.com>
To: xen-devel@lists.xenproject.org
Cc: "Luis R. Rodriguez" <mcgrof@suse.com>
Subject: [PATCH v7 6/8] xencommons: move module list into a generic place
Date: Thu, 17 Jul 2014 16:28:17 -0700 [thread overview]
Message-ID: <1405639699-13494-7-git-send-email-mcgrof@do-not-panic.com> (raw)
In-Reply-To: <1405639699-13494-1-git-send-email-mcgrof@do-not-panic.com>
From: "Luis R. Rodriguez" <mcgrof@suse.com>
This will allows us to share the same module list with
sysemd, and lets us upkeep it in one place. Document this
while at it on the top level README and expand on the wiki:
http://wiki.xen.org/wiki/Category:Host_Configuration#Linux_kernel_modules
In order to upkeep parallelism builds be explicit about the
requirement to complete all actions before any installation
targets.
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
---
README | 12 ++++++++
config/Linux.modules | 20 ++++++++++++
tools/hotplug/Linux/Makefile | 36 +++++++++++++++++++---
.../Linux/init.d/{xencommons => xencommons.in} | 16 +---------
4 files changed, 65 insertions(+), 19 deletions(-)
create mode 100644 config/Linux.modules
rename tools/hotplug/Linux/init.d/{xencommons => xencommons.in} (89%)
diff --git a/README b/README
index 9bbe734..c6cc09b 100644
--- a/README
+++ b/README
@@ -183,3 +183,15 @@ There are optional targets as part of Xen's top-level makefile that will
download and build tboot: install-tboot, build-tboot, dist-tboot, clean-tboot.
These will download the latest tar file from the SourceForge site using wget,
then build/install/dist according to Xen's settings.
+
+Required Linux modules
+======================
+
+Xen has a set of Linux modules which the init scripts ensure to load before
+before starting Xen guests. The list of modules are maintained in one place:
+
+ * config/modules
+
+For more details refer to:
+
+http://wiki.xen.org/wiki/Category:Host_Configuration#Linux_kernel_modules
diff --git a/config/Linux.modules b/config/Linux.modules
new file mode 100644
index 0000000..8a764df
--- /dev/null
+++ b/config/Linux.modules
@@ -0,0 +1,20 @@
+# The file supports a simple language, comments are ignored, and if you there
+# are module replacements this can be listed by using a pipe to show preference
+# for the first module, followed by the older module.
+
+xen-evtchn
+xen-gntdev
+xen-gntalloc
+xen-blkback
+xen-netback
+xen-pciback
+evtchn
+gntdev
+netbk
+blkbk
+xen-scsibk
+usbbk
+pciback
+xen-acpi-processor
+# Prefer to load blktap2 if found, otherwise load blktap
+blktap2|blktap
diff --git a/tools/hotplug/Linux/Makefile b/tools/hotplug/Linux/Makefile
index d5de9e6..1805746 100644
--- a/tools/hotplug/Linux/Makefile
+++ b/tools/hotplug/Linux/Makefile
@@ -33,17 +33,45 @@ UDEV_RULES_DIR = $(CONFIG_DIR)/udev
UDEV_RULES = xen-backend.rules $(UDEV_RULES-y)
.PHONY: all
-all:
+all: $(XENCOMMONS_INITD)
+
+$(XENCOMMONS_INITD): $(XEN_ROOT)/config/$(XEN_OS).modules $(XENCOMMONS_INITD).in
+ @set -e ; \
+ IFS='' ;\
+ cat $(XEN_ROOT)/config/$(XEN_OS).modules | ( \
+ while read l ; do \
+ if echo $${l} | egrep -q "^#" ; then \
+ continue ;\
+ fi ;\
+ if echo "$${l}" | egrep -q "\|" ; then \
+ m1=$${l%%|*} ;\
+ m2=$${l#*|} ;\
+ echo " modprobe $$m1 2>/dev/null || modprobe $$m2 2>/dev/null" ;\
+ else \
+ echo " modprobe $$l 2>/dev/null" ;\
+ fi ;\
+ done \
+ ) > $(XENCOMMONS_INITD).modules ;\
+ cat $(XENCOMMONS_INITD).in | ( \
+ while read l ; do \
+ if echo "$${l}" | egrep -q "@LOAD_MODULES@" ; then \
+ cat $(XENCOMMONS_INITD).modules ;\
+ else \
+ echo $$l ;\
+ fi ;\
+ done \
+ ) > $@
+ @rm -f $(XENCOMMONS_INITD).modules
.PHONY: build
-build:
+build: all
.PHONY: install
install: all install-initd install-scripts install-udev
# See docs/misc/distro_mapping.txt for INITD_DIR location
.PHONY: install-initd
-install-initd:
+install-initd: all
[ -d $(DESTDIR)$(INITD_DIR) ] || $(INSTALL_DIR) $(DESTDIR)$(INITD_DIR)
[ -d $(DESTDIR)$(SYSCONFIG_DIR) ] || $(INSTALL_DIR) $(DESTDIR)$(SYSCONFIG_DIR)
[ -d $(DESTDIR)$(LIBEXEC) ] || $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC)
@@ -55,7 +83,7 @@ install-initd:
$(INSTALL_PROG) init.d/xen-watchdog $(DESTDIR)$(INITD_DIR)
.PHONY: install-scripts
-install-scripts:
+install-scripts: all
[ -d $(DESTDIR)$(XEN_SCRIPT_DIR) ] || \
$(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR)
set -e; for i in $(XEN_SCRIPTS); \
diff --git a/tools/hotplug/Linux/init.d/xencommons b/tools/hotplug/Linux/init.d/xencommons.in
similarity index 89%
rename from tools/hotplug/Linux/init.d/xencommons
rename to tools/hotplug/Linux/init.d/xencommons.in
index 4ebd636..3939bcc 100644
--- a/tools/hotplug/Linux/init.d/xencommons
+++ b/tools/hotplug/Linux/init.d/xencommons.in
@@ -57,21 +57,7 @@ do_start () {
local time=0
local timeout=30
- modprobe xen-evtchn 2>/dev/null
- modprobe xen-gntdev 2>/dev/null
- modprobe xen-gntalloc 2>/dev/null
- modprobe xen-blkback 2>/dev/null
- modprobe xen-netback 2>/dev/null
- modprobe xen-pciback 2>/dev/null
- modprobe evtchn 2>/dev/null
- modprobe gntdev 2>/dev/null
- modprobe netbk 2>/dev/null
- modprobe blkbk 2>/dev/null
- modprobe xen-scsibk 2>/dev/null
- modprobe usbbk 2>/dev/null
- modprobe pciback 2>/dev/null
- modprobe xen-acpi-processor 2>/dev/null
- modprobe blktap2 2>/dev/null || modprobe blktap 2>/dev/null
+ @LOAD_MODULES@
mkdir -p /var/run/xen
if ! `${BINDIR}/xenstore-read -s / >/dev/null 2>&1`
--
2.0.1
next prev parent reply other threads:[~2014-07-17 23:28 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-17 23:28 [PATCH v7 0/8] xen: add systemd support Luis R. Rodriguez
2014-07-17 23:28 ` [PATCH v7 1/8] xenstored: enable usage of config.h on both xenstored and oxenstored Luis R. Rodriguez
2014-07-17 23:28 ` [PATCH v7 2/8] cxenstored: add support for systemd active sockets Luis R. Rodriguez
2014-07-24 15:10 ` Ian Campbell
2014-07-24 15:54 ` Ian Campbell
2014-07-25 22:45 ` Luis R. Rodriguez
2014-07-28 9:48 ` Ian Campbell
2014-07-28 15:06 ` Luis R. Rodriguez
2015-08-05 10:06 ` George Dunlap
2015-08-05 10:17 ` Ian Campbell
2015-08-05 10:56 ` George Dunlap
2015-08-05 11:11 ` Ian Campbell
2015-08-05 11:14 ` Ian Campbell
2015-08-05 11:21 ` George Dunlap
2015-08-05 11:27 ` Ian Campbell
2015-08-05 13:17 ` Wei Liu
2015-08-05 16:30 ` George Dunlap
2015-08-05 17:24 ` Wei Liu
2015-08-05 18:19 ` Wei Liu
2015-08-06 9:13 ` Ian Campbell
2015-08-06 9:20 ` Wei Liu
2015-08-06 9:29 ` Ian Campbell
2015-08-06 9:36 ` Wei Liu
2015-08-06 10:17 ` Wei Liu
2015-08-06 10:48 ` Ian Campbell
2015-08-06 10:56 ` Wei Liu
2015-08-06 11:03 ` Ian Campbell
2015-08-06 13:56 ` George Dunlap
2014-07-17 23:28 ` [PATCH v7 3/8] oxenstored: " Luis R. Rodriguez
2014-07-17 23:28 ` [PATCH v7 4/8] oxenstored: force FD_CLOEXEC with Unix.set_close_on_exec on LSB init Luis R. Rodriguez
2014-07-24 15:09 ` Ian Campbell
2014-07-17 23:28 ` [PATCH v7 5/8] autoconf: xen: move standard path variables to config/Paths.mk.in Luis R. Rodriguez
2014-07-24 15:29 ` Ian Campbell
2014-07-17 23:28 ` Luis R. Rodriguez [this message]
2014-07-24 15:35 ` [PATCH v7 6/8] xencommons: move module list into a generic place Ian Campbell
2014-07-25 23:16 ` Luis R. Rodriguez
2014-07-17 23:28 ` [PATCH v7 7/8] autoconf: xen: enable explicit preference option for xenstored preference Luis R. Rodriguez
2014-07-24 15:40 ` Ian Campbell
2014-07-25 23:25 ` Luis R. Rodriguez
2014-07-17 23:28 ` [PATCH v7 8/8] systemd: add xen systemd service and module files Luis R. Rodriguez
2014-07-24 15:47 ` Ian Campbell
2014-07-25 23:34 ` Luis R. Rodriguez
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1405639699-13494-7-git-send-email-mcgrof@do-not-panic.com \
--to=mcgrof@do-not-panic.com \
--cc=mcgrof@suse.com \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).