From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7010760649199321088 X-Received: by 2002:a2e:9a58:: with SMTP id k24mr34427737ljj.496.1632319915389; Wed, 22 Sep 2021 07:11:55 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6512:3a83:: with SMTP id q3ls587069lfu.2.gmail; Wed, 22 Sep 2021 07:11:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyCuEhBh25gTkO4/4rEQzGLngd/Twb6qP5XVI0OA2f6oqFv/9GcsAGXEivzsHZvStISlG5Q X-Received: by 2002:ac2:46d8:: with SMTP id p24mr27773778lfo.227.1632319914029; Wed, 22 Sep 2021 07:11:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632319914; cv=none; d=google.com; s=arc-20160816; b=yJCqbG9Q3hm1655tVFdxapei21rsYrVyXlLjv6/sP9ZC8b3Oh4GipuUThsCouEJAwI XdlDZ1PifqAWNqygzpGHxkm7Uz4WzD27T1X8tO3OXmU2iz9YaWOMF1YhOeiE6vmDVCfa xPWprnvpcpgauT/XxwzOqWiGILJ/i+F4B9RKE2MzxZd2GxCFeKiWDRD1oUVcFoe5Ch8Z vfMQpJmZtvGDogI626IdeLJqcpClioJx/8JDpKoB0juP0lf3EsdNBJWtSRr4VQEIiM+Q NwjDGWH5+8XXiwLi3BtjNujusAaCDCy/LVVH8BUwhjmugAj+K3MMnW+zlIxfQPAgRY5m LuVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from; bh=NjNB9ySMK7niJbZRXLVyifd+oDRk4nJK0YnXdRkpmCw=; b=JQPGDLJYNev2IZReACgyG0PZnUbnguyQBqA2o4mlQ7WTGVgzqk3Y65zcNw2ZGs+L0k 0BLOxua6teBY3vpm1L+rzvXkCCSOiRv5VyzkxdE+qPIUFnK8lxFiYk8VhhtG4zl+JPNV b/+7aQ6WbNNMNkIOqtfvd5bb2CGe+PXWsO9I2eIGjzhJDQD3wgIFdAYPffXQzPdHtsiQ MvrnP06eOlBVXooT4BIohA2O4CywgxxmjCU4fBTOq37nQDbteGA/3ZZAZuiSMLTC1Lw3 78Bfbq3+Du38EdZkeFz8ptFQ4ffpK6D0sNwpLOzQEIX2c/908xUOcqifLHgbpBlhKIam Ma5Q== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.14 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from david.siemens.de (david.siemens.de. [192.35.17.14]) by gmr-mx.google.com with ESMTPS id g11si148662lfr.3.2021.09.22.07.11.53 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 22 Sep 2021 07:11:54 -0700 (PDT) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.14 as permitted sender) client-ip=192.35.17.14; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.14 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by david.siemens.de (8.15.2/8.15.2) with ESMTPS id 18MEBruK003021 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 22 Sep 2021 16:11:53 +0200 Received: from localhost.localdomain ([167.87.35.234]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id 18MEBqiA013583; Wed, 22 Sep 2021 16:11:52 +0200 From: Henning Schild To: isar-users@googlegroups.com Cc: "Q . Gylstorff" , Henning Schild Subject: [PATCH 2/7] vm-img: use two different ovf templates for vmware/virtualbox Date: Wed, 22 Sep 2021 16:11:42 +0200 Message-Id: <20210922141147.4696-3-henning.schild@siemens.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210922141147.4696-1-henning.schild@siemens.com> References: <20210922141147.4696-1-henning.schild@siemens.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TUID: VIfPo2kIetYJ Both vmware and virtualbox have their own dialects of "ovf", there is no common way to describe things. That combined template was trying by mixing both dialects into one file. But the result caused parsing error on recent vmware. Instead of trying one size fits all, this patch introduces two templates. Both derived from ovf exports done on recent version of vmware and virtualbox. Because of the vmdk sub-format it was anyways not possible to build one ova image that would work for both VMMs. We also now set the uppercase version of OVA_FIRMWARE, which is needed for virtualbox. Before it was called OVA_FIRMWARE_VIRTUALBOX but was not set. Signed-off-by: Henning Schild --- meta-isar/conf/machine/vmware.conf | 2 + meta/classes/vm-img.bbclass | 6 +- ...te.ovf.tmpl => vm-img-virtualbox.ovf.tmpl} | 132 +++++++----------- meta/classes/vm-img/vm-img-vmware.ovf.tmpl | 127 +++++++++++++++++ 4 files changed, 185 insertions(+), 82 deletions(-) rename meta/classes/vm-img/{vm-template.ovf.tmpl => vm-img-virtualbox.ovf.tmpl} (54%) create mode 100644 meta/classes/vm-img/vm-img-vmware.ovf.tmpl diff --git a/meta-isar/conf/machine/vmware.conf b/meta-isar/conf/machine/vmware.conf index 731559e78d3b..56035530e007 100644 --- a/meta-isar/conf/machine/vmware.conf +++ b/meta-isar/conf/machine/vmware.conf @@ -11,5 +11,7 @@ WKS_FILE ?= "sdimage-efi" IMAGER_INSTALL += "${GRUB_BOOTLOADER_INSTALL}" +OVF_TEMPLATE_FILE ?= "vm-img-vmware.ovf.tmpl" + VMDK_SUBFORMAT = "streamOptimized" IMAGE_TYPE ?= "vm-img" diff --git a/meta/classes/vm-img.bbclass b/meta/classes/vm-img.bbclass index 79f3b7e45e83..debdf3b2fdf8 100644 --- a/meta/classes/vm-img.bbclass +++ b/meta/classes/vm-img.bbclass @@ -8,7 +8,8 @@ inherit buildchroot inherit wic-img FILESPATH_prepend := "${LAYERDIR_core}/classes/vm-img:" -SRC_URI += "file://vm-template.ovf.tmpl" +OVF_TEMPLATE_FILE ?= "vm-img-virtualbox.ovf.tmpl" +SRC_URI += "file://${OVF_TEMPLATE_FILE}" IMAGER_INSTALL += "qemu-utils gawk uuid-runtime" @@ -93,6 +94,7 @@ do_create_ova() { export SECONDARY_MAC=$(macgen) export DISK_NAME=$(basename -s .vmdk ${VIRTUAL_MACHINE_DISK}) export LAST_CHANGE=$(date -u "+%Y-%m-%dT%H:%M:%SZ") + export OVA_FIRMWARE_UPPERCASE=$(echo ${OVA_FIRMWARE} | tr '[a-z]' '[A-Z]') image_do_mounts @@ -102,7 +104,7 @@ do_create_ova() { export DISK_UUID=$(uuidgen) export VM_UUID=$(uuidgen) # create ovf - cat ${PP_WORK}/vm-template.ovf.tmpl | envsubst > ${PP_DEPLOY}/${OVA_NAME}.ovf + cat ${PP_WORK}/${OVF_TEMPLATE_FILE} | envsubst > ${PP_DEPLOY}/${OVA_NAME}.ovf tar -cvf ${PP_DEPLOY}/${OVA_NAME}.ova -C ${PP_DEPLOY} ${OVA_NAME}.ovf # VirtualBox needs here a manifest file. VMware does accept that format. diff --git a/meta/classes/vm-img/vm-template.ovf.tmpl b/meta/classes/vm-img/vm-img-virtualbox.ovf.tmpl similarity index 54% rename from meta/classes/vm-img/vm-template.ovf.tmpl rename to meta/classes/vm-img/vm-img-virtualbox.ovf.tmpl index e6b53058c1c7..c9561a2c3e53 100644 --- a/meta/classes/vm-img/vm-template.ovf.tmpl +++ b/meta/classes/vm-img/vm-img-virtualbox.ovf.tmpl @@ -1,7 +1,7 @@ - + List of the virtual disks used in the package @@ -29,7 +29,6 @@ virtualbox-2.2 - hertz * 10^6 ${OVA_NUMBER_OF_CPU} virtual CPU Number of virtual CPUs ${OVA_NUMBER_OF_CPU} virtual CPU @@ -64,92 +63,65 @@ PIIX4 5 - - true - Ethernet adapter on 'NAT' - NAT - Ethernet adapter on 'NAT' - 5 - E1000 - 10 - 0 disk1 Disk Image disk1 /disk/vmdisk1 - 6 + 5 3 17 - - - - - - - - - - Complete VirtualBox machine configuration in VirtualBox format - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + true + Ethernet adapter on 'NAT' + NAT + Ethernet adapter on 'NAT' + 6 + 10 + + + + Complete VirtualBox machine configuration in VirtualBox format + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/meta/classes/vm-img/vm-img-vmware.ovf.tmpl b/meta/classes/vm-img/vm-img-vmware.ovf.tmpl new file mode 100644 index 000000000000..5280f33509b4 --- /dev/null +++ b/meta/classes/vm-img/vm-img-vmware.ovf.tmpl @@ -0,0 +1,127 @@ + + + + + + + Virtual disk information + + + + The list of logical networks + + The nat network + + + + A virtual machine + ${OVA_NAME} + + The kind of installed guest operating system + + + Virtual hardware requirements + + Virtual Hardware Family + 0 + ${OVA_NAME} + vmx-18 + + + hertz * 10^6 + Number of Virtual CPUs + ${OVA_NUMBER_OF_CPU} virtual CPU(s) + 1 + 3 + ${OVA_NUMBER_OF_CPU} + + + byte * 2^20 + Memory Size + ${OVA_MEMORY}MB of memory + 2 + 4 + ${OVA_MEMORY} + + + 0 + IDE Controller + ideController0 + 3 + 5 + + + 0 + disk0 + ovf:/disk/vmdisk1 + 4 + 3 + 17 + + + + 1 + true + nat + E1000 ethernet adapter on "nat" + ethernet0 + 5 + E1000 + 10 + + + + + + false + video + 6 + 24 + + + + false + vmci + 7 + vmware.vmci + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- 2.32.0