1 #!/bin/bash 2 3 set -e 4 5 if [ "$#" -ne 1 ]; then 6 echo "$0 path-to-system.img | path-to-vendor.img" >&2 7 exit 1 8 fi 9 10 srcimg=$1 11 base_srcimg=`basename $srcimg` 12 label="${base_srcimg%.*}" 13 dir_name=$(dirname $srcimg) 14 target=${dir_name}/$label-qemu.img 15 16 dd if=/dev/zero of=$target ibs=1024k count=1 17 dd if=$srcimg of=$target conv=notrunc,sync ibs=1024k obs=1024k seek=1 18 unamestr=`uname` 19 if [[ "$unamestr" == 'Linux' ]]; then 20 curdisksize=$(stat -c %s $target) 21 elif [[ "$unamestr" == 'Darwin' ]]; then 22 curdisksize=$(stat -f %z $target) 23 else 24 echo "Cannot determine OS type, quit" 25 exit 1 26 fi 27 28 dd if=/dev/zero of=$target conv=notrunc bs=1 count=1024k seek=$curdisksize 29 30 disksize=`expr $curdisksize + 1024 \* 1024 ` 31 32 end=`expr $disksize \/ 512 - 2048 - 1` 33 ${SGDISK:-sgdisk} --clear $target 34 ${SGDISK:-sgdisk} --new=1:2048:$end --type=1:8300 --change-name=1:$label $target 35