SHA256
1
0
forked from pool/libguestfs

fix libguestfs.test.simple.create-opensuse-guest.sh

OBS-URL: https://build.opensuse.org/package/show/Virtualization/libguestfs?expand=0&rev=259
This commit is contained in:
Olaf Hering 2014-01-22 11:32:55 +00:00 committed by Git OBS Bridge
parent 898c43d60f
commit 7792574f1e

View File

@ -33,28 +33,44 @@ unset ${!LC_*}
cpus=`grep -Ec 'cpu[0-9]' /proc/stat || echo 1`
output_diskimage=/dev/shm/$LOGNAME/testcase.img
final_repo=http://download.opensuse.org/distribution/12.3/repo/oss/
initial_repo=http://download.opensuse.org/distribution/13.1/repo/oss/
final_repo=http://download.opensuse.org/distribution/13.1/repo/oss/
initial_repo=http://download.opensuse.org/distribution/12.3/repo/oss/
force=false
guest_zypper_in__pattern_name="base"
guest_zypper_in__package_list="less vim grub master-boot-code parted nfs-utils"
guest_root_password="root"
diskname_inside_vm=/dev/sda
case "$0" in
/*) progname="$0" ;;
*) progname="$PWD/$0" ;;
esac
_exit() {
echo "Exiting '$0 $*'."
exit 1
}
_unrpm() {
CPIO_OPTS="--extract --unconditional --preserve-modification-time --make-directories"
FILES="$@"
for f in $FILES; do
echo -ne "$f:\t"
rpm2cpio $f | cpio ${CPIO_OPTS}
done
}
until test $# -lt 1
do
case "$1" in
--unrpm) shift ; _unrpm "$@" ; exit 0 ;;
-n) diskname_inside_vm="$2" ; shift ;;
-o) output_diskimage="$2" ; shift ;;
-R) initial_repo="$2" ; shift ;;
-r) final_repo="$2" ; shift ;;
-f) force=true ;;
-x) set -x ;;
*) echo "Unknown option '$1'" exit 1 ;;
*) echo "Unknown option '$1'" ; exit 1 ;;
esac
shift
done
@ -82,6 +98,11 @@ then
_exit
fi
fi
zypper --version
cpio --version
guestfish --version
qemu-system-`uname -m` --version
mkdir -vp "${output_diskimage%/*}"
td=`mktemp -d --tmpdir=/dev/shm/${LOGNAME}`
tf=`mktemp --tmpdir=/dev/shm/${LOGNAME}`
@ -142,7 +163,7 @@ zypper \
--download-only \
${packages}
cd ${dir_root}
find ${dir_cache} -xdev -name "*.rpm" -print0 | sort -z | xargs -0 -n 1 -P ${cpus} unrpm
find ${dir_cache} -xdev -name "*.rpm" -print0 | sort -z | xargs -0 -n 1 -P ${cpus} bash "${progname}" --unrpm
mkdir -vp etc/zypp/repos.d
grep -w search /etc/resolv.conf >> etc/resolv.conf
echo nameserver 169.254.2.3 >> etc/resolv.conf
@ -205,12 +226,31 @@ sh "cp --verbose --sparse=never --remove-destination --target-directory=/boot/gr
sh "grub --batch --verbose < /etc/grub.conf" : \
sh "echo BOOTPROTO='dhcp' >> /etc/sysconfig/network/ifcfg-eth0" : \
sh "echo STARTMODE='auto' >> /etc/sysconfig/network/ifcfg-eth0" : \
sh "echo 'Password for root is ${guest_root_password}' >> /etc/issue" : \
sh "echo 'Password for User root is: ${guest_root_password}' >> /etc/issue" : \
cat /etc/fstab : \
quit
ls -lhsS "${output_diskimage}"
qemu-kvm \
: ${diskname_inside_vm}
case "${diskname_inside_vm}" in
*vda*)
qemu_drive_options="
-drive file=${output_diskimage},cache=writeback,id=hd0,if=none \
-device virtio-blk-pci,drive=hd0 \
"
;;
*sda*)
qemu_drive_options="
-device virtio-scsi-pci,id=scsi \
-drive file=${output_diskimage},cache=unsafe,format=raw,id=hd0,if=none \
-device scsi-hd,drive=hd0 \
"
;;
*)
echo "${diskname_inside_vm} not handled"
_exit
esac
qemu-system-`uname -m` -enable-kvm \
-global virtio-blk-pci.scsi=off \
-enable-fips \
-machine accel=kvm:tcg \
@ -218,8 +258,7 @@ qemu-kvm \
-m 500 \
-no-reboot \
-no-hpet \
-drive file=${output_diskimage},cache=writeback,id=hd0,if=none \
-device virtio-blk-pci,drive=hd0 \
${qemu_drive_options} \
-device virtio-serial-pci \
-serial stdio \
-device sga \