Lynn Bendixsen
2006-Dec-08 21:53 UTC
[Xen-devel] [PATCH] [XM-TEST] Add modules for modularized kernels
Greetings, The ramdisk built by xm-test does not work on modularized kernels (e.g. SUSE kernels). The attached patch remedies that by adding the required modules to the ramdisk. For this patch to work it must be built on a machine booted to the same kernel as the target machine. Signed- off- by: Lynn Bendixsen <lbendixs@novell.com> --- Add needed modules to the ramdisk if the modules exist on the current system. (i.e. the current system contains a modularized kernel) diff -ruN xm-test.3_0_4.untarred/ramdisk/Makefile.am xm-test/ramdisk/Makefile.am --- xm-test.3_0_4.untarred/ramdisk/Makefile.am 2006-12-07 08:25:41.000000000 -0700 +++ xm-test/ramdisk/Makefile.am 2006-12-07 08:40:38.000000000 -0700 @@ -35,7 +35,12 @@ XMTEST_MAJ_VER = $(shell echo @PACKAGE_VERSION@ | perl -pe ''s/(\d+)\.(\d+)\.\d+/\1.\2/'') XMTEST_VER_IMG = initrd-$(XMTEST_MAJ_VER)-$(BR_ARCH).img -EXTRA_ROOT_DIRS = sys +EXTRA_ROOT_DIRS = sys modules + +BLKDRV = /lib/modules/$(shell uname -r)/kernel/drivers/xen/blkfront/xenblk.ko +NETDRV = /lib/modules/$(shell uname -r)/kernel/drivers/xen/netfront/xennet.ko +PKTDRV = /lib/modules/$(shell uname -r)/kernel/net/packet/af_packet.ko + if HVM all: initrd.img disk.img @@ -59,7 +64,11 @@ $(XMTEST_VER_IMG): $(BR_IMG) chmod a+x skel/etc/init.d/rcS - (cd skel; mkdir -p $(EXTRA_ROOT_DIRS); tar cf - .) \ + cd skel && mkdir -p $(EXTRA_ROOT_DIRS) + -[ -e "$(BLKDRV)" ] && cp $(BLKDRV) skel/modules + -[ -e "$(NETDRV)" ] && cp $(NETDRV) skel/modules + -[ -e "$(PKTDRV)" ] && cp $(PKTDRV) skel/modules + (cd skel; tar cf - .) \ | (cd $(BR_SRC)/$(BR_ROOT); tar xvf -) cd $(BR_SRC) && make cp $(BR_IMG) $(XMTEST_VER_IMG) diff -ruN xm-test.3_0_4.untarred/ramdisk/skel/etc/init.d/rcS xm-test/ramdisk/skel/etc/init.d/rcS --- xm-test.3_0_4.untarred/ramdisk/skel/etc/init.d/rcS 2006-12-07 08:25:41.000000000 -0700 +++ xm-test/ramdisk/skel/etc/init.d/rcS 2006-12-07 08:43:16.000000000 -0700 @@ -6,3 +6,14 @@ if uname -r | grep -q ''^2.6''; then mount -t sysfs none /sys fi + +# If the block, net, and packet drivers are modules, we need to load them +if test -e /modules/xenblk.ko; then + insmod /modules/xenblk.ko > /dev/null 2>&1 +fi +if test -e /modules/xennet.ko; then + insmod /modules/xennet.ko > /dev/null 2>&1 +fi +if test -e /modules/af_packet.ko; then + insmod /modules/af_packet.ko > /dev/null 2>&1 +fi --- Lynn Bendixsen Software Engineer lbendixs@novell.com 801-861-2887 Novell, Inc. SUSE* Linux Enterprise 10 Your Linux is ready http://www.novell.com/linux _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ewan Mellor
2007-Jan-09 17:24 UTC
Re: [Xen-devel] [PATCH] [XM-TEST] Add modules for modularized kernels
On Fri, Dec 08, 2006 at 02:53:45PM -0700, Lynn Bendixsen wrote:> Greetings, > > The ramdisk built by xm-test does not work on modularized kernels (e.g. SUSE kernels). > The attached patch remedies that by adding the required modules to the ramdisk. For this patch to work it must be built on a machine booted to the same kernel as the target machine. > > > Signed- off- by: Lynn Bendixsen <lbendixs@novell.com>Applied. Apologies for the delay -- I lost this one in the flood. Ewan. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel