From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7159568422443941888 X-Received: by 2002:a05:6512:798:b0:497:aa2b:8b10 with SMTP id x24-20020a056512079800b00497aa2b8b10mr22572696lfr.636.1666967565485; Fri, 28 Oct 2022 07:32:45 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6512:2024:b0:48b:2227:7787 with SMTP id s4-20020a056512202400b0048b22277787ls2143478lfs.3.-pod-prod-gmail; Fri, 28 Oct 2022 07:32:44 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4CikphrrcasvBdSTngXP0/syqXv9i04fZPrbsuLlB11W2mCe73OkI2PrI6WjMRY8ANN8OL X-Received: by 2002:ac2:53aa:0:b0:4ae:24b2:62f6 with SMTP id j10-20020ac253aa000000b004ae24b262f6mr7014965lfh.109.1666967564241; Fri, 28 Oct 2022 07:32:44 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1666967564; cv=pass; d=google.com; s=arc-20160816; b=nvgE/rc918RMiq4DElEXvK4L04RcbSp7JHZW/NdvZb3MKnOh1NDZnm0QP1QrL5SPA6 mkDfZOCdr8M1bJgy8R4dXfEG3tOdTvd4vnOmQkpSfEYzjPUwWF+3xLbTjp0Q3W3/p43S rX8TlhO+JnD9xIrn3KQGb30ieLKsn3R6ugpzlVtye8fuY2oDhtaTrD0HArWvzzzhvbXd PeJBDMF3QnPu2DWPC/ZbT2vs7D1Nwcol4f4bl/C1MSKrAvwGD7xPGITDitc2ZUJ5cz8z JWcicNRo+5NC8SOlOPFWappAVlE9UVwhysG7e48Wlf6yCdep1dJG21tWZRbZToTutj12 UAiQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:content-transfer-encoding:references:in-reply-to :message-id:subject:cc:to:from:date:dkim-signature; bh=lMV3BlGg94GWTXDzR+BHovK9t74I1dwlf66q4Az/SVw=; b=KTjY/pTlLZsRU9eYPzjVwgQ38r5BlH2igOJ1IgexjobMQvvkauLrSsSnrux1ayuO9A Mx2UdPFiD6wq4qQqhVRgDxSD1qwEwHA/fjCzpB01foEO70XwAqZTsTOl4zAaWjzuAGFR VAEWYOqh84hxAGkGRwhuD8AXl4iKD598iaYfIrsyuG+F/JHcxnUHF73kTt7t0cA1GRBz x4Q4I2FT9x6TQ/f07rNChJnH8n1MaDDZEJ4iC9gG0x+/8hJ487XAGbo8MGq8khoKsbVg JW1l6p5pw8RmiUg6uCJ5tosT2kXDNYrcEUTNUzDNANPE0P9JyovP9HpaTp3+OvE89tv3 ZScw== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=lenGmbAQ; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of henning.schild@siemens.com designates 40.107.7.79 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 EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70079.outbound.protection.outlook.com. [40.107.7.79]) by gmr-mx.google.com with ESMTPS id p16-20020a2ea4d0000000b0027737e93a12si58945ljm.0.2022.10.28.07.32.44 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 28 Oct 2022 07:32:44 -0700 (PDT) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 40.107.7.79 as permitted sender) client-ip=40.107.7.79; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=lenGmbAQ; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of henning.schild@siemens.com designates 40.107.7.79 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IpJpobRkt2fhTU9kWct9VFVYF4RTEmdRXZ013MY5kaKcPJcvoIfSEIda3spS8ERocrfcUOA5U0vnMNhmx5Wzu+5M7dvc7ohdh9fKA8y/cdwv9qm5WD0tWHfI4ZtaGBDlka7wM0lX71NBAo72ZdFyez1Qz1F0uyAHmMujjOhybd7jJtvv2SUMm3TY8wKx8hNsKUQqQScr51t5PnfDV9z4GnsxcignatIdhqpitSDBqDzALF1GmWsuBCeRAjp1dDI6I+SPIYTo87IMfgrNJGj2hsU0NK8E6tUyhZ+kk6QNgUPyCsod60xhYk83w0M9dGs50lbmeJYlo1jcbvsmvzmBpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=lMV3BlGg94GWTXDzR+BHovK9t74I1dwlf66q4Az/SVw=; b=SNVRVOQN7rNCNKergmDQC4tbkBTiUmcrhc9XBA3M1qbRaV+o+7b1xkEq6a8/0EJU/EmzbFIfeTOO0ws8Wyp5tm68C1nqH/hyU9su4U3klqHkNSicFyOaRR2pG20iSu0naf0DBOMw5Hnj8vWOcE56YiSKM/WA+XLjlGel4rO5JzUvY4OfS4sqJ4q5A3b1DvbfRGX6+ot6l3hYnnh67RDRFmo8YlI2DCq7M24u3N6Q6g87wT80NcSye0YygSzoGVUGDYTJHM/5foqGHYmVLe6i/okk/p1BhY8ejW8ALILXYs0feJwTJsp/pCWDjCw83ofjxGPcLjAcJOjc8ezz25NTlA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com; dkim=pass header.d=siemens.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siemens.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lMV3BlGg94GWTXDzR+BHovK9t74I1dwlf66q4Az/SVw=; b=lenGmbAQKshwrbIBXaRt8BowWZPONmTzKs1D31ln2nybgvdfft7xrswQjKMCd+TnTXoXXnTXc8o+gK0PZ9jW3xdg/x+6bfLjM0IX0KxtzNZqe2Rt5Fn4BfHoA/h8Hc4MjD9EOaN+wLqGl04DvCGcdmmpfF7Y5YD6a6nsdAEiC8yPqVZFrcK+RSZIRJ8IjYfg6PgZdyiPj3Vp/Wozp6ksT2ntIjyTXbJ+BKzFfbbBXorjlrnTAff3kf+d0TuB7Qvvwg0YXJ30NeMvKuI4yM9/gbIEPotzfFHwKlsFZOSCwey2MkM9TJ9xp5UGUqLDkXpbIGV4QalDksDkUYg9L8wcog== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=siemens.com; Received: from PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:269::8) by DB8PR10MB3225.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:118::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.23; Fri, 28 Oct 2022 14:32:43 +0000 Received: from PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM ([fe80::1cd8:9066:48b1:b1c2]) by PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM ([fe80::1cd8:9066:48b1:b1c2%9]) with mapi id 15.20.5746.028; Fri, 28 Oct 2022 14:32:43 +0000 Date: Fri, 28 Oct 2022 16:32:30 +0200 From: Henning Schild To: Cc: Tobias Schmidl Subject: Re: [PATCH 2/2] CI: install expand-on-first-boot in all tests and also test Message-ID: <20221028163230.58f4be4d@md1za8fc.ad001.siemens.net> In-Reply-To: <20221028142145.4428-3-henning.schild@siemens.com> References: <20221028142145.4428-1-henning.schild@siemens.com> <20221028142145.4428-3-henning.schild@siemens.com> X-Mailer: Claws Mail 4.1.0 (GTK 3.24.34; x86_64-pc-linux-gnu) Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-ClientProxiedBy: CH0PR04CA0020.namprd04.prod.outlook.com (2603:10b6:610:76::25) To PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:269::8) Return-Path: henning.schild@siemens.com MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PA4PR10MB5780:EE_|DB8PR10MB3225:EE_ X-MS-Office365-Filtering-Correlation-Id: e7d74316-4cbf-44da-d9ba-08dab8f14601 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: eGmQm83OhvdL7RjkdR9bKxsR7qD3WGjqCyY+XEg2gtwrCJCrg7KwSVbJmOxUP8D7tBv607VcO6AL+bhXCmFmfrL9LiTKWDm0HkxODLFY24ZA0oenXXnri1xwcsePxEj5qMzelTsa8YjiSV7QtYDgnlaw0FHVylUDkv1oAIPFnaC7keHWfKYXJsuMDNfklLFAHZxTxNbVjAysb5neKmxuvHFrJCyNXByBGhJ37+95cG/pMy4wOW1RoeN5k+VgknfgPw7h6tBzNNP7A5TWeq8rzcs377QuDOAgDkzniHRJ/8ejdAogkFX6zPxXd3KAvX+H7gDCNcIacmDnCHyWneluPLPA18Hb2F9MgXwxvhfo5NqZL6bHEfsExp2Jc+45FCt3yIk/GN3qpXS0e/FH7T4i/SGJ3ZV3vxkqI950DDTOy3WCuQ48NCSqqOFO+B9dGqFYxfzRww+cOBiXH4WzTUQ2AWgAPvP/yGjR82Oq5CbSxjea4NgM+uyK8svqTpyFWvmIyDiv/LnBfzaVDLE2ZeuKhlK1y+NvvGrqDSaXTRM3RVWr4iN0OKcv/sg+wQZcJuerQyYGzzVy2FCWAUo2HZUNGmi+wCtGHh421uTUimWFlowtIz7hR49dsAojcfQDE5xw03qBz4FVsbqe9N5yQWOa/ucpul8oVgZIbmS7dBlyMiSJOQLHRzlaiD+AK/bsZ3JDp1e2Z/xJRSVad0kSEyZZpw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(376002)(39860400002)(396003)(346002)(136003)(451199015)(4326008)(1076003)(8676002)(66946007)(82960400001)(186003)(66476007)(107886003)(2906002)(6916009)(316002)(6666004)(44832011)(5660300002)(41300700001)(9686003)(8936002)(6506007)(66556008)(6512007)(86362001)(478600001)(83380400001)(6486002)(38100700002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?wKOc4i2CQ/uIIwlKPPd5pHZGfOjBBwnletAB07oNGoxi7tXWZze6fOKHJgxc?= =?us-ascii?Q?LtpQxMsOUZ1ewBK6r6KOYk7+yrzz3+UAbdON7UjRxLKoOVDsyRqTg4R8m2eu?= =?us-ascii?Q?hATUXbGm64sESGT7rtyA7IDX01Dwc13Q1GmD3qxaMXzzVKpXGnSYkWvRuDFz?= =?us-ascii?Q?UdU+i6qMxI1nWeBAxJOY2TdLHjxuydGYyTh3BlLrxIXFk+Eagd6azMmAsCxs?= =?us-ascii?Q?Eaz/cNchQPQKgnqePMdIjr12kv7XgSnAtCfXBKIf8gmMCJLhTDpbnaHQO3KX?= =?us-ascii?Q?t0iVmjJwErqtKETRnLAkCnCFyp2IZQRhlm5Zyu3bLFMNXJQUumJxN+60Q2jF?= =?us-ascii?Q?48a4orIWhcd8g7A/OeKkuA4bqhVZL0y5gXgGZ9uTjsAIoZi1S8Mfu6lKLtrZ?= =?us-ascii?Q?vk/5DZYGtCngB3fBzvBFXi6EZorhL1z4FDWZhZV4AoucTS+jtwviYdu9O2vr?= =?us-ascii?Q?8b7dKG/fmMPyuxRP2CedCB1Lkk+bzrT4eNorKZ4sUrJJtObnY8zuuteJVNZd?= =?us-ascii?Q?6iC2xUX8nylfr/1V6OdeN5iOfzbl7CECMGc7/bUAnxnagpSziWJ8yMb7iN2Y?= =?us-ascii?Q?/3yiwPTcBzznvYbmttEcl0hbHOA3lca5DQFn5w4ep12VY9USYxRkiKlhn0Os?= =?us-ascii?Q?PlUjbAmglXORvvpfnjBYeUkn7Q3ZQvj946voXW+BzmfV3f3RmrIQgfTgm4Ot?= =?us-ascii?Q?HX95EYxeQWMAHQr+pEn/n6LYFzLoORHU0ee9Zhc/ZIlG3RIseXOzZUEfCTii?= =?us-ascii?Q?tK2EqGnmPfNMgQLDGIjPoPe9EFB9+FqnqYJ649ukuzvm7ASImI8PyUgSvg08?= =?us-ascii?Q?G9gsIpc9VpbJYCn2iUEZmNKWRT3aZ/JAAM1TwWQx/ldYu1/oYKpjZbnRZYKY?= =?us-ascii?Q?IyGd4YeRlegtSusRTDjXzlMUmURdw4XgudgpVqFjsBK8Sl4GRxXdOr+gYRdV?= =?us-ascii?Q?IzWgDlre5WQW3YcS3dEKuKYzkqnywfiUZSaYzppl5OH2idsHkqodIi7L+pSi?= =?us-ascii?Q?rtsQK5hqa1u/aSX7mRsZRoTccAG/GJy3vYRlwIBtIWIEFbV1dDBVqJavgi+Y?= =?us-ascii?Q?6uODaeRVkU8sZN5Bz7epp4NjWlquiH7phAVq7Zk8myvwN3P97oxS7j+qetvz?= =?us-ascii?Q?W28fV888xYdISIMRMBj098hIx3L6qdQlh7j6aWrimdzMgOf4unP8tRHuSP7E?= =?us-ascii?Q?eNH8pAd/3PGdKCRKbfSI7r4LeNRXkZ0T2tvocAyeK16oMOx7zPt9rdJu+Y1W?= =?us-ascii?Q?p4mpekyxcK3zJV5qivzYafeXLgO8c5IwLTvBlKCaT1diNd+ETRB6ztt1ILgj?= =?us-ascii?Q?tg/kb5pxlPjv7DCNKzF4V1JaCwmCoXvfRi9Q4Homjc6x4ViGrSIPs9D/S+4T?= =?us-ascii?Q?nsP/82ubFKrsC1c1ZkMmcxbvmCm3wGy+jR8R+2Ggrso1LbrOsFw8BVpMiBFB?= =?us-ascii?Q?nWeej8SNzAkqtYReirxSS3g0yiB8P8dsoa6cZMRPG/QhEjPNQQLkOnp6gaGJ?= =?us-ascii?Q?HozHFu5RuHNYqfkh/IUhhXtyeI2kELcVPIl7Bv/jUnpEBu1+6hNwPF09EIVe?= =?us-ascii?Q?OFrcHur2f8q0osQGZ3zkkMc1EK/trrQp9tqhdUTNg6vN0qdxGj+Q0hpG5clG?= =?us-ascii?Q?csy0BQfFN4IvohC0dl+twaUaoSDEBEjlTQbDiPat39+pVQJMt+SQ3A43GWuF?= =?us-ascii?Q?qanoTA=3D=3D?= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: e7d74316-4cbf-44da-d9ba-08dab8f14601 X-MS-Exchange-CrossTenant-AuthSource: PA4PR10MB5780.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Oct 2022 14:32:43.0001 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: e3cIA+fiQvpfmN6Mn1985YCtR5Wb8oWh7oYoxl7d/98rgs2TxeiY0gsKkeFremkTBc1dGQ82LHNfzlj/UfayPUVEsrAB7JXWANGI995d3mc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR10MB3225 X-TUID: 7ax9nWIgBTHn I am not sure i like this one. Keep reading inline. Am Fri, 28 Oct 2022 16:21:45 +0200 schrieb Henning Schild : > Install the package in any rootfs we build. And also resize a few > images when we boot them and check the output. > > Signed-off-by: Henning Schild > --- > meta-isar/conf/local.conf.sample | 2 +- > meta-isar/conf/machine/qemuamd64.conf | 1 + > testsuite/cibuilder.py | 18 +++++++++++++++--- > testsuite/start_vm.py | 11 +++++++++++ > 4 files changed, 28 insertions(+), 4 deletions(-) > > diff --git a/meta-isar/conf/local.conf.sample > b/meta-isar/conf/local.conf.sample index 57d062025f21..27becf19aefd > 100644 --- a/meta-isar/conf/local.conf.sample > +++ b/meta-isar/conf/local.conf.sample > @@ -198,7 +198,7 @@ CONF_VERSION = "1" > > # > # The default list of extra packages to be installed. > -IMAGE_INSTALL = "hello-isar example-raw > example-module-${KERNEL_NAME} enable-fsck isar-exclude-docs samefile > hello isar-disable-apt-cache cowsay example-prebuilt" +IMAGE_INSTALL > = "hello-isar example-raw example-module-${KERNEL_NAME} enable-fsck > isar-exclude-docs samefile hello isar-disable-apt-cache cowsay > example-prebuilt expand-on-first-boot" # # Enable cross-compilation > support diff --git a/meta-isar/conf/machine/qemuamd64.conf > b/meta-isar/conf/machine/qemuamd64.conf index > eca2628c4ae5..6e3561901447 100644 --- > a/meta-isar/conf/machine/qemuamd64.conf +++ > b/meta-isar/conf/machine/qemuamd64.conf @@ -19,6 +19,7 @@ QEMU_ARCH > ?= "x86_64" QEMU_MACHINE ?= "q35" QEMU_CPU ?= "" > QEMU_DISK_ARGS ?= "-hda ##ROOTFS_IMAGE## -bios > /usr/share/ovmf/OVMF.fd" +QEMU_DISK_RESIZE ?= "1" I hate that i need this. But it seems to be the way to talk to the testsuite. Has nothing to do with the machine otherwise. > MACHINE_SERIAL ?= "ttyS0" > BAUDRATE_TTY ?= "115200" > diff --git a/testsuite/cibuilder.py b/testsuite/cibuilder.py > index 07a9edc56d9c..fb0daedc7d49 100755 > --- a/testsuite/cibuilder.py > +++ b/testsuite/cibuilder.py > @@ -231,6 +231,15 @@ class CIBuilder(Test): > login_prompt = b'isar login:' > # the printk of recipes-kernel/example-module > module_output = b'Just an example' > + # output we see when expand-on-first-boot runs on ext4 > + resize_output = b'resized filesystem to' > + expecting_resize = False > + for arg in cmdline: > + if arg.endswith(".wic.resized"): Here i do not have that magic variable. So i guess from the filename. > + # in ubuntu the resize works but no trace in boot log > + if not 'ubuntu' in arg: same here, i guess from the filename which distro my suite is, while there is a variable distro ... which is a suite There is a similar guess somewhere in the code >> base = 'ubuntu' if distro in ['focal', 'bionic'] else 'debian' > + expecting_resize = True > + break > > timeout = time.time() + int(time_to_wait) > > @@ -265,8 +274,11 @@ class CIBuilder(Test): > with open(output_file, "rb") as f1: > data = f1.read() > if module_output in data and login_prompt in data: > - return > - else: > - app_log.error(data.decode(errors='replace')) > + if expecting_resize: > + if resize_output in data: > + return > + else: > + return > + app_log.error(data.decode(errors='replace')) > > self.fail('Log ' + output_file) > diff --git a/testsuite/start_vm.py b/testsuite/start_vm.py > index f761a8bda789..2262af557a32 100755 > --- a/testsuite/start_vm.py > +++ b/testsuite/start_vm.py > @@ -5,6 +5,7 @@ > > import argparse > import os > +import shutil > import subprocess > import sys > import time > @@ -57,6 +58,7 @@ def format_qemu_cmdline(arch, build, distro, out, > pid, enforce_pcbios=False): qemu_machine = get_bitbake_var(bb_output, > 'QEMU_MACHINE') qemu_cpu = get_bitbake_var(bb_output, 'QEMU_CPU') > qemu_disk_args = get_bitbake_var(bb_output, 'QEMU_DISK_ARGS') > + qemu_disk_resize = get_bitbake_var(bb_output, > 'QEMU_DISK_RESIZE') == "1" > if out: > extra_args.extend(['-chardev','stdio,id=ch0,logfile=' + out]) > @@ -65,6 +67,15 @@ def format_qemu_cmdline(arch, build, distro, out, > pid, enforce_pcbios=False): if pid: > extra_args.extend(['-pidfile', pid]) > > + if qemu_disk_resize: Here i smuggle in a file copy in what should just give me a cmdline for qemu. But is is the only place where all information seems available. And i leave that magic copy forever, wasting space and use a magic suffix for the caller to know to look for log traces of resizing. As i said. I am not happy. But wanted to show that for discussion and maybe get feedback on how to do things better. The patches ran successfully on ilbers-ci. It might not be pretty, but it works. And might help us get that expand thingy more stable and keep it stable. Henning > + suffix = ".resized" > + abs_src = os.path.join(deploy_dir_image, rootfs_image) > + abs_dst = abs_src + suffix > + if not os.path.exists(abs_dst): > + shutil.copy(abs_src, abs_dst) > + subprocess.run(["qemu-img", "resize", abs_dst, "+2G"]) > + rootfs_image += suffix > + > qemu_disk_args = qemu_disk_args.replace('##ROOTFS_IMAGE##', > deploy_dir_image + '/' + rootfs_image).split() if enforce_pcbios and > '-bios' in qemu_disk_args: bios_idx = qemu_disk_args.index('-bios')