From: Victor Lowther Date: Thu, 21 May 2009 02:55:04 +0000 (-0700) Subject: Make running qemu a little more generic X-Git-Tag: 0.1~214 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ac6da96cc8b286693766d744fe4bfca0830a1844;p=thirdparty%2Fdracut.git Make running qemu a little more generic Also create the root filesystem from within the virtual env, this way there will be no nasty suprises w.r.t interactions with the host machine. This is important when we test booting to LVM, LUKS, and mdraid. --- diff --git a/test/make-test-root b/test/make-test-root index de0376211..d79153df6 100755 --- a/test/make-test-root +++ b/test/make-test-root @@ -1,9 +1,6 @@ #!/bin/bash dd if=/dev/zero of=test/root.ext2 bs=1M count=20 -mke2fs -F test/root.ext2 -mkdir test/mnt -mount -o loop test/root.ext2 test/mnt initdir=test/mnt kernel=$(uname -r) @@ -21,6 +18,12 @@ kernel=$(uname -r) targetfs="$initdir" unset initdir +./dracut -l -i "$targetfs" /source \ + -m "dash kernel-modules test crypt lvm udev-rules base rootfs-block" \ + -d "ata_piix ext2 sd_mod" \ + -f test/initramfs.makeroot -umount test/mnt -rm -fr test/mnt +test/run-qemu -hda test/root.ext2 -m 512M -nographic -net none \ + -kernel "/boot/vmlinuz-$kernel" \ + -append "root=/dev/dracut/root rw rootfstype=ext2 quiet console=ttyS0,115200n81" \ + -initrd test/initramfs.makeroot diff --git a/test/run-qemu b/test/run-qemu new file mode 100644 index 000000000..c1068e57c --- /dev/null +++ b/test/run-qemu @@ -0,0 +1,9 @@ +#!/bin/bash +for f in kvm qemu-kvm qemu; do + type $f >/dev/null 2>&1 || continue + $f "$@" + exit +done +echo "Could not find a working KVM or QEMU to test with!" +echo "Please install kvm or qemu." +exit 1 \ No newline at end of file diff --git a/test/test-initramfs b/test/test-initramfs index f82830775..3c75553fa 100755 --- a/test/test-initramfs +++ b/test/test-initramfs @@ -1,11 +1,8 @@ #!/bin/bash [[ -f test/root.ext2 ]] || test/make-test-root -./dracut $DRACUTOPTS -c test/dracut.conf.test -l -f test/initramfs.testing || exit - -qemu-kvm -hda test/root.ext2 -m 512M -nographic \ - -net nic,macaddr=52:54:00:12:34:57 -net socket,mcast=230.0.0.1:1234 \ - -kernel /boot/vmlinuz-$(uname -r) \ - -initrd test/initramfs.testing \ - -append "root=/dev/sda rw console=ttyS0,115200n81 $APPEND" - +test/run-qemu -hda test/root.ext2 -m 512M -nographic \ + -net nic,macaddr=52:54:00:12:34:57 -net socket,mcast=230.0.0.1:1234 \ + -kernel /boot/vmlinuz-$(uname -r) \ + -append "root=/dev/sda rw console=ttyS0,115200n81 $APPEND" \ + -initrd test/initramfs.testing