From 4f2fce70da878ad03dc77324f6916bfcae447e1e Mon Sep 17 00:00:00 2001 From: Jo¶rgen Karlsson Date: Wed, 9 Sep 2015 10:56:40 +0200 Subject: Add support for building images on CentOS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is a workaround for building on CentOS. CentOS don't have nbd so guestfstool is used to mount the ubuntu image. The http sources has been changed to ftp as the apt-get tool inside the Ubuntu image dont work well with http sources when running on CentOS. Change-Id: I23679ff034ea76782dcc73d3283cb70ebace5ee8 JIRA: YARDSTICK-136 Signed-off-by: Jo¶rgen Karlsson --- tools/ubuntu-server-cloudimg-modify.sh | 4 ++++ tools/yardstick-img-modify | 21 ++++++++++++++------- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/tools/ubuntu-server-cloudimg-modify.sh b/tools/ubuntu-server-cloudimg-modify.sh index 41d654a08..0e9bb4182 100755 --- a/tools/ubuntu-server-cloudimg-modify.sh +++ b/tools/ubuntu-server-cloudimg-modify.sh @@ -25,6 +25,10 @@ fi # iperf3 only available for trusty in backports grep trusty /etc/apt/sources.list && \ echo "deb http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse" >> /etc/apt/sources.list + +# Workaround for building on CentOS (apt-get is not working with http sources) +sed -i 's/http/ftp/' /etc/apt/sources.list + apt-get update apt-get install -y \ fio \ diff --git a/tools/yardstick-img-modify b/tools/yardstick-img-modify index eba85473c..c90027213 100755 --- a/tools/yardstick-img-modify +++ b/tools/yardstick-img-modify @@ -66,15 +66,22 @@ download() { cd - } -# mount image using qemu-nbd +# mount image setup() { - modprobe nbd max_part=16 - qemu-nbd -c /dev/nbd0 $imgfile - partprobe /dev/nbd0 - mkdir -p $mountdir - mount /dev/nbd0p1 $mountdir - + if [ -f /etc/centos-release ]; then + # CentOS, mount image using guestmount. + # (needs libguestfs-tools installed) + export LIBGUESTFS_BACKEND=direct + guestmount -a $imgfile -i --rw $mountdir + else + # mount image using qemu-nbd + modprobe nbd max_part=16 + qemu-nbd -c /dev/nbd0 $imgfile + partprobe /dev/nbd0 + + mount /dev/nbd0p1 $mountdir + fi cp $cmd $mountdir/$(basename $cmd) } -- cgit 1.2.3-korg