From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7041591381282783232 X-Received: by 2002:a05:6512:1395:: with SMTP id p21mr6704826lfa.98.1639514169401; Tue, 14 Dec 2021 12:36:09 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a2e:bc09:: with SMTP id b9ls692ljf.2.gmail; Tue, 14 Dec 2021 12:36:07 -0800 (PST) X-Google-Smtp-Source: ABdhPJx+vG3eVJEa6SMuqYs4T9+bvkxaQnUZENMt/TyAyx/dRtXxO6AXuKdb3gwgPO/WH2AbEakW X-Received: by 2002:a05:651c:2119:: with SMTP id a25mr6998938ljq.131.1639514167887; Tue, 14 Dec 2021 12:36:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1639514167; cv=none; d=google.com; s=arc-20160816; b=AZdIG9/PBIq3zQLHoRjK6QJ5PTT3Zm+XPBogVo8n8NKh0rHY9Yf/enF9aCOmvCDvEW M8Bn6uWwX8A9O6UG4QNNdxOIQmXtmTREvkj3s3MkIgTCFJj36z3lmnJMDzZXYvG8YCSl tM/HliZE86pMb8FYK3hSbXXFf4uk2gKd54OZn7LU/2qAP2HKJ10VPxLlKxzBVEqmpgID kegV361EQs68716uypJuCPJCmYrwn542dSk3fL67EH8zhCFxIA6jvagWlgUeJ403tp1T UVWg+UyPJNm9q25+5gm2w15OkUPewiwMT3kPmgCUscmqdpnWWYygwElqsANsfwa4IYDl P3Lg== 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=xDXcxkjUup7GmD3sagSgrwx5gbwaSxFBnOwzPc73nQo=; b=MclaNWKpxXMCzPyQJtsgz5orwMkn76mjg0Sds4+VIro6Q+P9xMfHI1JlfUJZ/ELtaT 6CgeXf87UO/QTxENPZLTeAeiNMe3o73BX0rjNWMMkIVc5QmdkOFS9sbr2q5+zmeSu2RZ hE7538MA8GNkAYVacb2SiOgWdvrfhr182OcbN6bYFG6o9gp6oqzlGbdqJDOw2RjUB1UU PyW0gBmjE8U80WLNo4HSnSOMHBEUa4soWOQMpsf7Ov5ks0ZeyQhQZu9wCCWLs55JTB2U oOTFMYT6IhthlGj3ZD3jwNZV9V8OXgYLBLst1e4bOQUFh4YZaq4Pv06I0P4m19EJ20K+ V5EQ== 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 f11si41653lfv.6.2021.12.14.12.36.06 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 14 Dec 2021 12:36:06 -0800 (PST) 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 1BEKa68K021343 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 14 Dec 2021 21:36:06 +0100 Received: from localhost.localdomain ([139.22.39.210]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id 1BEKa5qO009540; Tue, 14 Dec 2021 21:36:05 +0100 From: Henning Schild To: isar-users@googlegroups.com Cc: Henning Schild Subject: [PATCH v2 2/7] vm-img: use two different ovf templates for vmware/virtualbox Date: Tue, 14 Dec 2021 21:35:57 +0100 Message-Id: <20211214203602.21996-2-henning.schild@siemens.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211214203602.21996-1-henning.schild@siemens.com> References: <20211214203602.21996-1-henning.schild@siemens.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TUID: L8RLiH6u/Lzs 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 5832b29955b5..9bf1fd96c5cc 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_FSTYPES ?= "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