[gnome-continuous-yocto/gnomeostree-3.28-rocko: 2750/8267] runqemu: explicitly set image format
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-continuous-yocto/gnomeostree-3.28-rocko: 2750/8267] runqemu: explicitly set image format
- Date: Sat, 16 Dec 2017 23:40:06 +0000 (UTC)
commit 5753147ea214cedb317ca1bbb8599cb896e5dc13
Author: Ed Bartosh <ed bartosh linux intel com>
Date: Wed Sep 28 12:16:14 2016 +0300
runqemu: explicitly set image format
QEMU produces a warning if drive format is not specified:
WARNING: Image format was not specified for
'tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.wic'
and probing guessed raw.
Automatically detecting the format is dangerous for raw images,
write operations on block 0 will be restricted.
Specify the 'raw' format explicitly to remove the restrictions.
Set image format to 'vmdk', 'qcow2' or 'vdi' for correspondent image
types. Set it to 'raw' for the rest of image types.
(From OE-Core rev: 5100bb36502ef7c81220a3c4809eb1b3ac83801f)
Signed-off-by: Ed Bartosh <ed bartosh linux intel com>
Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>
scripts/runqemu | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)
---
diff --git a/scripts/runqemu b/scripts/runqemu
index 45bcad7..09b231b 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -817,11 +817,13 @@ class BaseConfig(object):
else:
self.setup_tap()
+ rootfs_format = self.fstype if self.fstype in ('vmdk', 'qcow2', 'vdi') else 'raw'
+
qb_rootfs_opt = self.get('QB_ROOTFS_OPT')
if qb_rootfs_opt:
self.rootfs_options = qb_rootfs_opt.replace('@ROOTFS@', self.rootfs)
else:
- self.rootfs_options = '-drive file=%s,if=virtio,format=raw' % self.rootfs
+ self.rootfs_options = '-drive file=%s,if=virtio,format=%s' % (self.rootfs, rootfs_format)
if self.fstype in ('cpio.gz', 'cpio'):
self.kernel_cmdline = 'root=/dev/ram0 rw debugshell'
@@ -835,14 +837,15 @@ class BaseConfig(object):
cmd2 = "grep -q 'root=/dev/hd' %s" % self.rootfs
if subprocess.call(cmd1, shell=True) == 0:
logger.info('Using scsi drive')
- vm_drive = '-drive if=none,id=hd,file=%s -device virtio-scsi-pci,id=scsi -device
scsi-hd,drive=hd' % self.rootfs
+ vm_drive = '-drive if=none,id=hd,file=%s,format=%s -device virtio-scsi-pci,id=scsi
-device scsi-hd,drive=hd' \
+ % (self.rootfs, rootfs_format)
elif subprocess.call(cmd2, shell=True) == 0:
logger.info('Using scsi drive')
- vm_drive = self.rootfs
+ vm_drive = "%s,format=%s" % (self.rootfs, rootfs_format)
else:
logger.warn("Can't detect drive type %s" % self.rootfs)
logger.warn('Tring to use virtio block drive')
- vm_drive = '-drive if=virtio,file=%s' % self.rootfs
+ vm_drive = '-drive if=virtio,file=%s,format=%s' % (self.rootfs, rootfs_format)
self.rootfs_options = '%s -no-reboot' % vm_drive
self.kernel_cmdline = 'root=%s rw highres=off' % (self.get('QB_KERNEL_ROOT'))
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]