aboutsummaryrefslogtreecommitdiffstats
path: root/tools/xm-test/ramdisk
diff options
context:
space:
mode:
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2006-07-14 11:54:10 +0100
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2006-07-14 11:54:10 +0100
commit8c5ea9ceb8f7f43646015846102a0d0915d39bd1 (patch)
treef73e8e55583a93b9499674148cba8c9c93f4f68f /tools/xm-test/ramdisk
parent815077ee40b2190def5ecef3df015c01e5207b34 (diff)
downloadxen-8c5ea9ceb8f7f43646015846102a0d0915d39bd1.tar.gz
xen-8c5ea9ceb8f7f43646015846102a0d0915d39bd1.tar.bz2
xen-8c5ea9ceb8f7f43646015846102a0d0915d39bd1.zip
Xm-test HVM network testing is broken. The new qemu code doesn't support
pcnet32, which is the current default driver loaded onto the disk.img. This patch changes teh default to the rtl8139, which is xend's default. This patch also adds a new "--with-network-drv" configuration option so people can configure different drivers than the default. Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
Diffstat (limited to 'tools/xm-test/ramdisk')
-rw-r--r--tools/xm-test/ramdisk/Makefile.am9
-rw-r--r--tools/xm-test/ramdisk/bin/create_disk_image33
2 files changed, 25 insertions, 17 deletions
diff --git a/tools/xm-test/ramdisk/Makefile.am b/tools/xm-test/ramdisk/Makefile.am
index f4f19ff980..032212403a 100644
--- a/tools/xm-test/ramdisk/Makefile.am
+++ b/tools/xm-test/ramdisk/Makefile.am
@@ -51,13 +51,14 @@ disk.img: existing
chmod a+x $(HVM_SCRIPT)
@if test ! "$(HVMKERNEL)" = "no" -a ! "$(DRVDIR)" = "no"; then \
$(HVM_SCRIPT) -r $(XMTEST_VER_IMG) -k $(HVMKERNEL) \
- -d $(DRVDIR); \
+ -d $(DRVDIR) -n $(NETDRV); \
elif test "$(HVMKERNEL)" = "no" -a ! "$(DRVDIR)" = "no"; then \
- $(HVM_SCRIPT) -r $(XMTEST_VER_IMG) -d $(DRVDIR); \
+ $(HVM_SCRIPT) -r $(XMTEST_VER_IMG) -d $(DRVDIR) -n $(NETDRV); \
elif test ! "$(HVMKERNEL)" = "no" -a "$(DRVDIR)" = "no"; then \
- $(HVM_SCRIPT) -r $(XMTEST_VER_IMG) -k $(HVMKERNEL); \
+ $(HVM_SCRIPT) -r $(XMTEST_VER_IMG) -k $(HVMKERNEL) \
+ -n $(NETDRV); \
else \
- $(HVM_SCRIPT) -r $(XMTEST_VER_IMG); \
+ $(HVM_SCRIPT) -r $(XMTEST_VER_IMG) -n $(NETDRV); \
fi
existing:
diff --git a/tools/xm-test/ramdisk/bin/create_disk_image b/tools/xm-test/ramdisk/bin/create_disk_image
index 513af46d35..6b1bfde2ae 100644
--- a/tools/xm-test/ramdisk/bin/create_disk_image
+++ b/tools/xm-test/ramdisk/bin/create_disk_image
@@ -51,20 +51,21 @@ Command creates a hvm guest disk image for xm-test.
Usage: $0 [OPTIONS]
OPTIONS:
- -d|--dvrdir <name> Directory where to fine network driver
+ -d|--dvrdir <name> Directory where to find network driver
to use for disk image.
-i|--image <name> Image name to create.
-k|--kernel <name> Kernel name to use for disk image.
+ -n|--netdrv <name> Network driver name to use for disk image.
-r|--rootfs <image> Rootfs image to use for disk image.
-This script currently only supports the pcnet32 driver for network
-tests. If a dvrdir isn't added on the command-line, it will look
-in /lib/modules/ directory relating to the supplied kernel. If the
+This script defaults to using the 8139too.ko driver for network tests.
+If a dvrdir isn't added on the command-line, it will look in
+/lib/modules/ directory relating to the supplied kernel. If the
network driver is built into the kernel, you can specify the key word
"builtin" with the -d option and the script will continue.
-Note: The pcnet32 driver relies upon mii.ko. This script will look
-for that module in the same location as the pcnet32 driver, either
+Note: Many network drivers rely upon mii.ko. This script will look
+for that module in the same location as the network driver, either
for the kernel or the location used with the -d option.
EOU
@@ -94,6 +95,7 @@ function initialize_globals()
IMAGE="disk.img"
KERNEL=""
DRVDIR=""
+ NETDRV="8139too.ko"
LCONF="lilo.conf"
LOOPD="" # Loop device for entire disk image
LOOPP="" # Loop device for ext partition
@@ -126,6 +128,11 @@ function get_options()
KERNEL=${1}
shift
;;
+ -n|--netdrv)
+ shift
+ NETDRV=${1}
+ shift
+ ;;
-r|--rootfs)
shift
ROOTFS=${1}
@@ -256,23 +263,23 @@ function copy_netdriver_to_image()
mkdir "$MNT/lib/modules"
if [ -e "$DRVDIR" ]; then
- if [ -e "$DRVDIR/pcnet32.ko" ]; then
+ if [ -e "$DRVDIR/$NETDRV" ]; then
cp $DRVDIR/mii.ko $MNT/lib/modules
- cp $DRVDIR/pcnet32.ko $MNT/lib/modules
+ cp $DRVDIR/$NETDRV $MNT/lib/modules
else
- die "Failed to find pcnet32.ko at $DRVDIR."
+ die "Failed to find $NETDRV at $DRVDIR."
fi
- elif [ -e "$fdir/pcnet32.ko" ]; then
+ elif [ -e "$fdir/$NETDRV" ]; then
cp $fdir/mii.ko $MNT/lib/modules
- cp $fdir/pcnet32.ko $MNT/lib/modules
+ cp $fdir/$NETDRV $MNT/lib/modules
else
- die "Xm-test requires the pcnet32 driver to run."
+ die "Xm-test requires at minimum the 8139too.ko driver to run."
fi
# Make sure that modules will be installed
if [ -e "$MNT/etc/init.d/rcS" ]; then
echo "insmod /lib/modules/mii.ko" >> $MNT/etc/init.d/rcS
- echo "insmod /lib/modules/pcnet32.ko" >> $MNT/etc/init.d/rcS
+ echo "insmod /lib/modules/$NETDRV" >> $MNT/etc/init.d/rcS
else
die "Failed to add insmod command to rcS file on image."
fi