diff options
Diffstat (limited to 'tools/yardstick-img-modify')
-rwxr-xr-x | tools/yardstick-img-modify | 55 |
1 files changed, 11 insertions, 44 deletions
diff --git a/tools/yardstick-img-modify b/tools/yardstick-img-modify index da8e1c92f..599768555 100755 --- a/tools/yardstick-img-modify +++ b/tools/yardstick-img-modify @@ -48,8 +48,8 @@ fi image_path="${release}/current/${release}-server-cloudimg-${YARD_IMG_ARCH}-${boot_mode}.img" image_url=${IMAGE_URL:-"https://${host}/${image_path}"} -md5sums_path="${release}/current/MD5SUMS" -md5sums_url=${MD5SUMS_URL:-"https://${host}/${md5sums_path}"} +sha256sums_path="${release}/current/SHA256SUMS" +sha256sums_url=${SHA256SUMS_URL:-"https://${host}/${sha256sums_path}"} imgfile="${workspace}/yardstick-image.img" raw_imgfile_basename="yardstick-${release}-server.raw" @@ -62,41 +62,20 @@ apt-get install -y parted download() { test -d $workspace || mkdir -p $workspace cd $workspace - rm -f MD5SUMS # always download the checksum file to a detect stale image - wget $md5sums_url + rm -f SHA256SUMS # always download the checksum file to a detect stale image + wget $sha256sums_url test -e $filename || wget -nc --progress=dot:giga $image_url - grep $filename MD5SUMS | md5sum -c || + grep $filename SHA256SUMS | sha256sum -c || if [ $? -ne 0 ]; then rm $filename wget -nc --progress=dot:giga $image_url - grep $filename MD5SUMS | md5sum -c + grep $filename SHA256SUMS | sha256sum -c fi for i in $(seq 0 9); do [ -a /dev/loop$i ] || mknod -m 660 /dev/loop$i b 7 $i done - if [[ "${YARD_IMG_ARCH}" = "arm64" && "$release" = "vivid" ]]; then - cd /tmp - if [ ! -f /tmp/${release}-server-cloudimg-${YARD_IMG_ARCH}-kernel-info.txt ]; then - wget http://${host}/${release}/current/${release}-server-cloudimg-${YARD_IMG_ARCH}-kernel-info.txt - fi - export CLOUD_KERNEL_VERSION=$(cut -d$'\t' -f4 ${release}-server-cloudimg-${YARD_IMG_ARCH}-kernel-info.txt) - - mkdir -p /tmp/${release}-modules - if [ ! -f "/tmp/${release}-server-cloudimg-${YARD_IMG_ARCH}.tar.gz" ]; then - wget $CLOUD_IMG_URL - fi - if [ ! -f "/tmp/${release}-server-cloudimg-${YARD_IMG_ARCH}.img" ]; then - tar zxvf ${release}-server-cloudimg-${YARD_IMG_ARCH}.tar.gz ${release}-server-cloudimg-${YARD_IMG_ARCH}.img - fi - mkdir -p /mnt/${release} - mount /tmp/${release}-server-cloudimg-${YARD_IMG_ARCH}.img /mnt/${release} - cp -r /mnt/${release}/lib/modules/$(echo $CLOUD_KERNEL_VERSION) /tmp/${release}-modules - umount /mnt/${release} - rm /tmp/${release}-server-cloudimg-${YARD_IMG_ARCH}.img - cd $workspace - fi qemu-img convert $filename $raw_imgfile cd - } @@ -104,23 +83,12 @@ download() { # mount image setup() { # qemu-img resize $raw_imgfile +5GB - if [ "${YARD_IMG_ARCH}" = "arm64" ]; then - echo -e "d\nn\np\n1\n\n\nw" | parted -l $raw_imgfile - fi mkdir -p $mountdir - #kpartx fails with image paths longer than 63 characters - #try shortest relative path to image as temporary workaround - cd ${workspace} - loopdevice=$(kpartx -l $raw_imgfile_basename | head -1 | cut -f1 -d ' ') + loopdevice=$(kpartx -l $raw_imgfile | head -1 | cut -f1 -d ' ') - kpartx -av $raw_imgfile_basename - cd - + kpartx -av $raw_imgfile - if [[ "${YARD_IMG_ARCH}" = "arm64" && "$release" = "vivid" ]]; then - e2fsck -p -f /dev/mapper/$loopdevice - resize2fs /dev/mapper/$loopdevice - fi # for trouble shooting sleep 2 dmsetup ls @@ -128,11 +96,10 @@ setup() { mount /dev/mapper/$loopdevice $mountdir mount -t proc none $mountdir/proc - if [[ "${YARD_IMG_ARCH}" = "arm64" && "$release" = "vivid" ]]; then - cp -r /tmp/${release}-modules/$(echo $CLOUD_KERNEL_VERSION) "$mountdir/lib/modules" - cp $(which "qemu-aarch64-static") "$mountdir/usr/bin" - fi cp $cmd $mountdir/$(basename $cmd) + if [ "${YARD_IMG_ARCH}" = "arm64" ]; then + cp /usr/bin/qemu-aarch64-static $mountdir/usr/bin + fi } # modify image running a script using in a chrooted environment |