/usr/sbin/ocs-img-2-vdk is in clonezilla 3.27.16-2.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 | #!/bin/bash
# License: GPL
# Author: Steven Shiau <steven _at_ nchc org tw>
# Description: Program to convert the Clonezilla image to virtual machine disk file
# TODO:
# 1. Change output dir to $ocsroot?
# 2. Show disk size info when selecting image? i.e Prompt when selecting the image name (not restoring or converting compression)
# 3. If something goes wrong, how to debug or login kvm to shutdown?
# 4. Serial console for grub?
# 5. Option to use the booting Clonezilla live as template iso?
# 6. Parsing the image to prepare the MBR or uEFI KVM machine. Now only MBR works, and it's not parsed.
#
DRBL_SCRIPT_PATH="${DRBL_SCRIPT_PATH:-/usr/share/drbl}"
. $DRBL_SCRIPT_PATH/sbin/drbl-conf-functions
. /etc/drbl/drbl-ocs.conf
. $DRBL_SCRIPT_PATH/sbin/ocs-functions
# Load the config in ocs-live.conf. This is specially for Clonezilla live. It will overwrite some settings of /etc/drbl/drbl-ocs.conf, such as $DIA...
[ -e "/etc/ocs/ocs-live.conf" ] && . /etc/ocs/ocs-live.conf
# Settings
cz_iso="i2v-preseed.iso"
kvm_ram_size="1024" # MB
# By default only qcow2 format is created. The vmdk format is not.
create_vmdk_format_def="no"
# For template iso file
iso_arch_def="amd64"
iso_branch_def="alternative"
# By default the template iso in the working dir is reused.
reuse_i2v_iso="yes"
#
USAGE() {
echo "$ocs - To convert the image of Clonezilla to virtual disk"
echo "Usage:"
echo "To run $ocs:"
echo "$ocs [OPTION] IMAGE_NAME VDISK_IMAGE_NAME"
echo "Options:"
echo "-a, --iso-arch ARCH: Force to use the CPU arch for the iso file. E.g. if i686-pae is assigned, the i686-pae version of Clonezilla live will be downloaded and use for KVM. Available arch are: i386, amd64 for Ubuntu-based (alternative) branch, and i486, i686, i686-pae, amd64 for Debian-based (regular) release. //NOTE// (1) By using this, the original file name assigned in the option '-i' will be changed as appropriate file name. (2) If the host machine is x86 arch, then it's recommended to use x86 for the virtual machine, not x86-64. Otherwise the performance will be bad."
echo "-b, --batch-mode Run image checking in batch mode"
echo "-c, --create-vmdk Besides qcow2 virtual disk , create the vmdk (compat6) format disk file, too."
echo "-i, --iso-url ISO_URL: Use the ISO_URL (e.g. http://downloads.sourceforge.net/clonezilla/clonezilla-live-2.1.2-35-i686-pae.iso or file:///usr/share/iso/clonezilla-live-2.1.2-35-amd64.iso) instead of the one assigned in drbl-ocs.conf. $0 will download clonezilla-live iso file from ISO_URL then use the as the OS of KVM when running Clonezilla job. //NOTE// Use iso file name only, not the zip one."
echo "-or, --ocsroot DIR Specify DIR (absolute path) as directory ocsroot (i.e. overwrite the ocsroot assigned in drbl.conf)"
echo "-r, --branch NAME: Force to use the Clonezilla live from branch NAME (stable, testing, alternative, alternative_testing). If not assigned, stable will be used."
echo "IMAGE_NAME is the image dir name, not absolute path"
echo "VDISK_IMAGE_NAME is the virtual disk file name"
echo "If IMAGE_NAME is not assigned, a dialog menu will be shown to allow selection."
echo "If no VDISK_IMAGE_NAME is not specified, a dialog menu will be shown."
echo "Ex:"
echo "To convert the image \"my-image\", which is located in $ocsroot/my-image, to virtual disk file \"my-image.qcow2\", run"
echo " $ocs my-image my-image.qcow2"
echo
} # end of USAGE
#
ask_if_create_vmdk_format() {
local TMP=`mktemp /tmp/ocs_cvt.XXXXXX`
local c_opt
trap "[ -f "$TMP" ] && rm -f $TMP" HUP INT QUIT TERM EXIT
# Question about convert the image to vmdk format, too
$DIA --backtitle "$msg_nchc_free_software_labs" --title \
"$msg_nchc_clonezilla" --menu "$msg_choose_if_create_vmdk_format" \
0 0 0 $DIA_ESC \
" " "$msg_not_create_vmdk_format" \
"-c" "$msg_create_vmdk_format" \
2> $TMP
c_opt="$(cat $TMP)"
case "$c_opt" in
"-c") create_vmdk_format="yes";;
*) create_vmdk_format="no";;
esac
[ -f "$TMP" ] && rm -f $TMP
} # ask_if_create_vmdk_format
####################
### Main program ###
####################
ocs_file="$0"
ocs=`basename $ocs_file`
#
#
while [ $# -gt 0 ]; do
case "$1" in
-a|--iso-arch)
shift;
if [ -z "$(echo $1 |grep ^-.)" ]; then
# skip the -xx option, in case
iso_arch="$1"
[ -z "$iso_arch" ] && USAGE && exit 1
shift
reuse_i2v_iso="no"
fi
;;
-c|--create-vmdk) create_vmdk_format="yes"; shift;;
-b|--batch) ocs_batch_mode="on"; shift;;
-i|--iso-url)
shift;
if [ -z "$(echo $1 |grep ^-.)" ]; then
# skip the -xx option, in case
iso_url="$1"
[ -z "$iso_url" ] && USAGE && exit 1
shift
reuse_i2v_iso="no"
fi
;;
-or|--ocsroot)
# overwrite the ocsroot in drbl.conf
shift;
if [ -z "$(echo $1 |grep ^-.)" ]; then
# skip the -xx option, in case
ocsroot="$1"
shift;
fi
[ -z "$ocsroot" ] && USAGE && exit 1
;;
-r|--branch)
shift;
if [ -z "$(echo $1 |grep ^-.)" ]; then
# skip the -xx option, in case
iso_branch="$1"
[ -z "$iso_branch" ] && USAGE && exit 1
shift
reuse_i2v_iso="no"
fi
;;
-*) echo "${0}: ${1}: invalid option" >&2
USAGE >& 2
exit 2 ;;
*) break ;;
esac
done
if [ -z "$*" ]; then
mode="interactive"
else
ocs_src_img_name="$1"
shift
ocs_qcow2_img_name="$1"
fi
# Fedora Core 1 seems to use dumb for rc1, we have to force it use linux.
# otherwise setterm will complain.
[ -z "$TERM" -o "$TERM" = "dumb" ] && TERM="linux"
echo "Setting the TERM as $TERM"
export TERM="$TERM"
#
check_if_root
ask_and_load_lang_set
# check DIA
check_DIA_set_ESC $DIA
# imagedir is a variable which ask_user related function need
imagedir="$ocsroot"
# Check required packages...
if ! type qemu-img &>/dev/null; then
[ "$BOOTUP" = "color" ] && $SETCOLOR_FAILURE
echo "Command qemu-img _NOT_ found!"
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
echo "$msg_program_stop!"
exit 1
fi
if ! type kvm &>/dev/null; then
[ "$BOOTUP" = "color" ] && $SETCOLOR_FAILURE
echo "Command kvm _NOT_ found!"
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
echo "$msg_program_stop!"
exit 1
fi
#
WD="$(pwd)"
#
[ -z "$ocs_src_img_name" ] && ocs_src_img_name="ask_user"
[ -z "$ocs_qcow2_img_name" ] && ocs_qcow2_img_name="ask_user"
[ -z "$iso_arch" ] && iso_arch="$iso_arch_def"
[ -z "$iso_branch" ] && iso_branch="$iso_branch_def"
if [ "$ocs_src_img_name" = "ask_user" ]; then
get_target_dir_name_when_converting_img -o p2v
if [ -n "$target_dir" ]; then
ocs_src_img_name="$target_dir"
[ "$BOOTUP" = "color" ] && $SETCOLOR_WARNING
echo "The image to convert to virtual disk: $ocs_src_img_name"
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
else
[ "$BOOTUP" = "color" ] && $SETCOLOR_FAILURE
echo "No image was chosen!"
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
echo "$msg_program_stop!"
exit 1
fi
fi
if [ "$ocs_qcow2_img_name" = "ask_user" ]; then
ASK_IMGNAME=1
while [ "$ASK_IMGNAME" -eq 1 ]; do
target_dir=""
get_target_dir_name_when_saving ${ocs_src_img_name}.qcow2 # get $target_dir
if [ -e "$target_dir" ]; then
$DIA --backtitle "$msg_nchc_free_software_labs" --title "$msg_nchc_clonezilla | $msg_mode: $ocs_mode_prompt" \
--yesno "$msg_the_image \"$target_dir\" $msg_was_saved_before!\n\n$msg_do_you_want_to_replace ?" 0 0 2> $TMP
# Yes (to overwrite) is chosen, $?=0, if no is chosen, $?=1
ASK_IMGNAME=$?
else
ASK_IMGNAME=0
fi
done
ocs_qcow2_img_name="$target_dir"
fi
#
if [ "$mode" = "interactive" ]; then
ask_if_create_vmdk_format
else
if [ -z "$create_vmdk_format" ]; then
create_vmdk_format="$create_vmdk_format_def"
fi
fi
#
ecryptfs_rc="1"
if is_ecryptfs_img $ocsroot/$ocs_src_img_name; then
# If it's encrypted image, we have to decrypt it.
ocs_sr_type="restore"
target_dir="$ocs_src_img_name"
# //NOTE// If encrypt_ocs_img="yes", after this step, ocsroot and target_dir will be changed
# The original ones will be kept as ocsroot_orig and target_dir_orig.
prepare_ecryptfs_mount_point_if_necessary
ecryptfs_rc="$?"
if [ "$ecryptfs_rc" -eq 0 ]; then
# Now new ocs_src_img_name is the one from prepare_ecryptfs_mount_point_if_necessary
ocs_src_img_name="$target_dir"
else
echo "$msg_program_stop"
my_ocs_exit 1
fi
fi
#
# Use the function download_clonezilla_live in /usr/sbin/drbl-ocs-live-prep
# //NOTE// Must prepare MBR (isolinux.cfg) and uEFI mode (grub.cfg)
echo $msg_delimiter_star_line
if [ "$reuse_i2v_iso" = yes -a -e "$cz_iso" ]; then
# Reuse the previous one.
echo "Reuse the existing \"$cz_iso\"..."
ocs_live_iso_file="$cz_iso"
else
# Use the fresh one
if [ -e "$iso_url" ]; then
# local file
echo "Try to use the local Clonezilla live iso file \"$iso_url\"..."
ocs_live_iso_file="$iso_url"
else
echo "Try to download Clonezilla live iso file from network..."
# If host machine is x86 arch, not x86-64/amd64, then we force to use
# x86 arch for KVM
if [ "$(LC_ALL=C uname -m)" != "x86_64" ]; then
case "$iso_branch" in
alternative*) iso_arch="i386";;
*) iso_arch="i686-pae";;
esac
[ "$BOOTUP" = "color" ] && $SETCOLOR_WARNING
echo "The host machine is not running x86-64 arch. Therefore force to use \"$iso_arch\" for virtual machine."
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
fi
# Try to download the file. The download file will be in $ocs_live_iso_file
download_clonezilla_live $iso_arch $iso_branch $iso_url
fi
fi
echo $msg_delimiter_star_line
echo "Preparing the pre-configured Clonezilla live iso for virtual machine..."
ocs_iso_mnt="$(mktemp -d /tmp/ocs_iso_mnt.XXXXXX)"
ocs_wdir="$(mktemp -d /tmp/ocs_wdir.XXXXXX)"
mount -o loop $ocs_live_iso_file $ocs_iso_mnt
rsync -aqP $ocs_iso_mnt/. $ocs_wdir/
# Patch boot parameters in isolinux.cfg, syslinux.cfg, and grub config in live CD/USB
# //NOTE// ocs_kvm_cvt_begin and ocs_kvm_cvt_end are used to mark the append, so that
# it won't be append more than once.
# //NOTE// Here the virtio mounting point we use the fixed one /home/partimag, not $ocsroot. Otherwise if it's changed by prepare_ecryptfs_mount_point_if_necessary to /tmp, then some temp files after ocs_prerun1 won't be written. It will fail the converting.
append_param="ocs_kvm_cvt_begin noeject keyboard-layouts=NONE locales=en_US.UTF-8 ocs_prerun1=\"mount -t 9p -o trans=virtio,version=9p2000.L hostshare /home/partimag/\" ocs_prerun2=\"sleep 2\" live-getty console=ttyS0,115200n81 ocs_kvm_cvt_end"
cfg_list="isolinux syslinux"
cfg_tmp="$(mktemp /tmp/syslinux_cfg.XXXXXX)"
# mktemp will create file in mode 600 without honoring umask, we want mode 644
chmod go+r $cfg_tmp
# Modify isolinux.cfg and syslinux.cfg of live CD
echo "Modifying isolinux.cfg, syslinux.cfg and grub.cfg of live CD..."
for i in $cfg_list; do
cfg_f="$ocs_wdir/syslinux/$i.cfg"
# Only show the first boot menu
line_no="$(LC_ALL=C grep -n "^MENU BEGIN Other modes of Clonezilla live" $cfg_f | awk -F":" '{print $1}')"
if [ -n "$line_no" ]; then
line_no="$((line_no - 1))"
else
line_no="$(LC_ALL=C wc -l $cfg_f | awk -F" " '{print $1}')"
fi
# Clean cfg_tmp
> $cfg_tmp
# Append serial console in the 1st line for syslinux/isolinux if there is not.
if [ -z "$(grep -E "^serial 0 115200" $cfg_f 2>/dev/null)" ]; then
echo "serial 0 115200" > $cfg_tmp
fi
head -n $line_no $cfg_f >> $cfg_tmp
cp -a $cfg_tmp $cfg_f
# Begin modifying
perl -pi -e "s|^timeout .*|timeout 1|g" $cfg_f
perl -pi -e "s|^([[:space:]]*append)(.*)quiet(.*)|\$1\$2\$3|g" $cfg_f
perl -pi -e "s|^([[:space:]]*)(MENU COLOR.*)|\$1#\$2|g" $cfg_f
perl -pi -e "s|^ALLOWOPTIONS .*|ALLOWOPTIONS 0|g" $cfg_f
perl -pi -e "s|^([[:space:]]*)MENU LABEL Clonezilla live.*|\$1MENU LABEL Clonezilla live ($ocs_src_img_name -> virtual disk)|g" $cfg_f
perl -pi -e "s|ocs_live_run=\".*\"|ocs_live_run=\"ocs-sr -nogui -g auto -e1 auto -e2 -batch -r -j2 -p poweroff restoredisk $ocs_src_img_name sda\"|g" $cfg_f
if [ -n "$(grep -E "append initrd=/live/initrd.img" $cfg_f | grep -E ocs_kvm_cvt_begin)" ]; then
perl -pi -e "s|(append initrd=/live/initrd.img.*)[[:space:]]+ocs_kvm_cvt_begin.*ocs_kvm_cvt_end|\$1 $append_param|g" $cfg_f
else
perl -pi -e "s|(append initrd=/live/initrd.img.*)|\$1 $append_param|g" $cfg_f
fi
# Check if kernel and append line exist... Just in case.
if [ -z "$(grep -E "^[[:space:]]*kernel .*" $cfg_f)" ]; then
[ "$BOOTUP" = "color" ] && $SETCOLOR_FAILURE
echo "No kernel line was found in $cfg_f! The patched part failed!"
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
echo "$msg_program_stop!"
exit 1
fi
if [ -z "$(grep -E "^[[:space:]]*append initrd=.*ocs_live_run.*" $cfg_f)" ]; then
[ "$BOOTUP" = "color" ] && $SETCOLOR_FAILURE
echo "No appropriate append line was found in $cfg_f! The patched part failed!"
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
echo "$msg_program_stop!"
exit 1
fi
done
# Modify grub.cfg of live CD
cfg_f="$ocs_wdir/EFI/boot/grub.cfg"
# Only show the first boot menu
line_no="$(LC_ALL=C grep -E -n "^menuentry \"Clonezilla live \(Default settings, VGA 1024x768.*" $cfg_f | awk -F":" '{print $1}')"
if [ -n "$line_no" ]; then
line_no="$((line_no - 1))"
else
line_no="$(LC_ALL=C wc -l $cfg_f | awk -F" " '{print $1}')"
fi
# Clean cfg_tmp
> $cfg_tmp
# TODO: Serial console for grub
head -n $line_no $cfg_f > $cfg_tmp
cp -a $cfg_tmp $cfg_f
if [ -n "$(grep -E "^[[:space:]]*linux /live/vmlinuz.*" $cfg_f | grep -E ocs_kvm_cvt_begin)" ]; then
perl -pi -e "s|^([[:space:]]*linux /live/vmlinuz.*)[[:space:]]+ocs_kvm_cvt_begin.*ocs_kvm_cvt_end|\$1 $append_param|g" $cfg_f
else
perl -pi -e "s|^([[:space:]]*linux /live/vmlinuz.*)|\$1 $append_param|g" $cfg_f
fi
# TODO: Check linux line for required boot parameters, just in case.
(cd $ocs_wdir
genisoimage -quiet -A 'Clonezilla live CD' -f -r -hide-rr-moved -hide-joliet-trans-tbl -J -l -allow-limited-size -b syslinux/isolinux.bin -c syslinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -efi-boot EFI/images/efiboot.img -no-emul-boot ./ > $WD/$cz_iso
)
umount $ocs_iso_mnt
if [ -d "$ocs_iso_mnt" -a -n "$(echo "$ocs_iso_mnt" | grep "ocs_iso_mnt")" ]; then
rm -rf $ocs_iso_mnt
fi
if [ -d "$ocs_wdir" -a -n "$(echo "$ocs_wdir" | grep "ocs_wdir")" ]; then
rm -rf $ocs_wdir
fi
echo $msg_delimiter_star_line
# Get disk size
# We can only convert 1 disk.
src_dsk_n="$(get_disk_list_from_img $ocsroot/$ocs_src_img_name | awk -F" " '{print $1}')"
if [ -z "$src_dsk_n" ]; then
[ "$BOOTUP" = "color" ] && $SETCOLOR_FAILURE
echo "No disk name was found in image $ocs_src_img_name"
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
echo "$msg_program_stop!"
my_ocs_exit 1
fi
src_disk_size_sec="$(LC_ALL=C grep -E "^Disk /dev/" $ocsroot/$ocs_src_img_name/$(to_filename ${src_dsk_n})-pt.parted | awk -F":" '{print $2}' | sed -r -e "s/s$//g" -e "s/^[[:space:]]*//g")"
vmdk_size_GB="$(LC_ALL=C echo "scale=1; $src_disk_size_sec*512/1000.0^3" | bc -l)"
# What if there are 2 or more disks? Need for loop to do that here.
if [ -z "$vmdk_size_GB" ]; then
[ "$BOOTUP" = "color" ] && $SETCOLOR_FAILURE
echo "No disk size was found from image $ocs_src_img_name"
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
echo "$msg_program_stop!"
my_ocs_exit 1
fi
#
echo $msg_delimiter_star_line
echo "Creating virtual disk file $ocs_qcow2_img_name with size $vmdk_size_GB GB..."
qemu-img create -f qcow2 $ocs_qcow2_img_name ${vmdk_size_GB}G
kvm_serial_log="$ocs_qcow2_img_name.log"
# Get CPU core number. We use half of that of hosts.
host_cpu_cores="$(LC_ALL=C grep -E "^processor[[:space:]]+" /proc/cpuinfo | wc -l)"
if [ "$host_cpu_cores" -gt 1 ]; then
client_cpu_cores="$(LC_ALL=C echo "scale=0; $host_cpu_cores/2.0" | bc -l)"
else
client_cpu_cores="1"
fi
echo $msg_delimiter_star_line
[ "$BOOTUP" = "color" ] && $SETCOLOR_WARNING
echo "$msg_kvm_started_for_conversion"
echo "$msg_do_not_panic_for_booting_msg_of_kvm"
echo "$msg_only_output_for_kvm_no_input"
echo "$msg_press_ctrl_c_to_quit_tail"
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
echo $msg_delimiter_star_line
if [ "$ocs_batch_mode" != "on" ]; then
echo -n "$msg_press_enter_to_continue..."
read
fi
echo $msg_delimiter_star_line
echo "Starting KVM to do the conversion..."
# Set kvm pid file
kvm_pid_f="$(mktemp /tmp/kvm_pid.XXXXXX)"
# //NOTE// Must separate MBR or uEFI mode from the image
# MBR mode:
kvm -name clonezilla -cdrom $cz_iso -m $kvm_ram_size -cpu host -smp $client_cpu_cores -display none -daemonize -pidfile $kvm_pid_f -boot d -chardev file,id=serial0,path=${kvm_serial_log},server,nowait -serial chardev:serial0 -drive file=$ocs_qcow2_img_name,index=0,media=disk,aio=native,cache=none,if=scsi -fsdev local,security_model=mapped,id=fsdev0,path=$ocsroot -device virtio-9p-pci,id=fs0,fsdev=fsdev0,mount_tag=hostshare
kvm_job_rc="$?"
echo
if [ "$kvm_job_rc" -ne 0 ]; then
[ "$BOOTUP" = "color" ] && $SETCOLOR_FAILURE
echo "$msg_failed_to_start_kvm_to_convert"
[ "$BOOTUP" = "color" ] && $SETCOLOR_NORMAL
echo "$msg_program_stop!"
my_ocs_exit 1
else
kvm_pid="$(cat $kvm_pid_f)"
echo "KVM process pid: $kvm_pid"
fi
#
tail --pid $kvm_pid -f $kvm_serial_log
echo $msg_delimiter_star_line
if [ "$create_vmdk_format" = "yes" ]; then
ocs_vmdk_img_name="${ocs_qcow2_img_name/.qcow2/}.vmdk"
echo "Now converting qcow2 format to vmdk (compat6) format. The converted file name will be: $ocs_vmdk_img_name"
qemu-img convert -O vmdk -o compat6 -p $ocs_qcow2_img_name $ocs_vmdk_img_name
echo $msg_delimiter_star_line
fi
# Clean the tmp files
rm -f $kvm_pid_f $cfg_tmp
# The downloaded clonezilla live file
if [ -d "$ocslive_tmp" -a -n "$(echo "$ocslive_tmp" | grep "ocslive")" ]; then
rm -rf $ocslive_tmp
fi
echo "Program finished!"
my_ocs_exit 0
|