From patchwork Fri Jan 24 12:35:39 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Felix Moessbauer X-Patchwork-Id: 4037 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 24 Jan 2025 13:36:12 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-lj1-f188.google.com (mail-lj1-f188.google.com [209.85.208.188]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 50OCaAAB013568 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 24 Jan 2025 13:36:11 +0100 Received: by mail-lj1-f188.google.com with SMTP id 38308e7fff4ca-3012c9f34eesf14438261fa.1 for ; Fri, 24 Jan 2025 04:36:11 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1737722164; cv=pass; d=google.com; s=arc-20240605; b=VIN+Bk3vwnM0gkT3PEZkz5mKhxWIqcvy6t0k+kvytNkmnPQfttGzZen7vq0bFMUmQO s+9aoWuNPmziSNSHcJoTpiUIf8iRxW5bJTFIMYio1xaY+3MTmCpSncswFI9Z3GU4IMmn yhwpqf5QbcDk2O1KpaPYgCBQsIStB+5Mudb+GGMNDdb1o5ZTZrIdo8KTXylhI36riHdx h61lH1CF5UjC7vgdpw1LZBY/j9Fronv24/FS9qqEKyN94kiD0qR56JrBsd5WoGWtG5B1 VQz2vd42bf6S4q7uoGtue+DzhXcKRjdqRn5yRdcaI6s6iop5GQgjDvEObrV2z0d6j53Y o38Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=dUM8X7OqnuB1M81mdbNTcQ55kCXTKjDiXoTG1qIq2F4=; fh=XR7hP/wNT7dmnvMBDbsvFgWW5BklQzbpIL7p4omaiGs=; b=OKPrLZTgYknRFTYco2H4wq1sGIHXg9KH4lp80S1BmGHQHEghwOYlDGO3KlTLRLTySK 1lJk64PLoDBLwPCeokkl73XDorgQiBpZWrq1rO8aolMlX+gHUxjTj9/fKQuciLQ85JH9 Zmx98I51Y14me/lhyT3y/lPRsE1IvAsOciAknp9XOccKv7mrPRegN4U8qEzDPsm2id4+ pg5/BEHiPF65dSpgx9e460zVHRdu3VTHsNwpbUlEGHKcKEnJ6MjKu6OaDiuKQc/lVlHr 5WDgg24+Stw+fl8RV0lN6o8HxPvyomEBfajdxfEP+k27POy5oLAghSv/vM/zu4YXcmBx drdw==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=OTX6Gqw9; spf=pass (google.com: domain of fm-1321639-20250124123600e5febb857ba653a56f-7rhxe8@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1321639-20250124123600e5febb857ba653a56f-7rhxE8@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1737722164; x=1738326964; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=dUM8X7OqnuB1M81mdbNTcQ55kCXTKjDiXoTG1qIq2F4=; b=fY6NWkkPdiUAbZapIUM3+dRcexXzVoKL7c+HZlCOixI/fGHOfkck51zHnIxHVQizcP JVN1DjrQjJtp2x1+1mK8k1DYINpxwibBeiwjIyFEcby8FwNiqsRFIR2L4AI1KG/w1AYe ahMWtAMa4HwAZJDfz647UNeDM1nf9ETbaOopEVaRpIlIOfDg5LLSU/UIHj0kzGJO/mW9 9+tuTwkJ4vsHyke9rJU0Kt/W8syd68TLmR3/msaKqdp/X4jAqTEjMNy0gAfeT/PikkXD 2QXx4HC3UkU5EZfiZjdGGO0fO6Lh83FzQOGoy0GxdCADGeVhXw/Lj+gIwHaP3Rz6fJ5H coCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737722164; x=1738326964; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:x-beenthere:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=dUM8X7OqnuB1M81mdbNTcQ55kCXTKjDiXoTG1qIq2F4=; b=C70LIVXvB8K+HdF3uSLTbCTsYe/m/dUGnCJM/9grLOpvzKp22k0QiOBf7YOsSwKb+w pFitn5F7pOtXQDWUGCJ5cjJg+ekNT6ef0/IeLQUKRFVm9Fp/3M7UvfKt93i93PO0S6bI /eXFLJD2HwxsPNruUM1VKFiASiAw9Zfw+nQoRPU0EJg/qK1wnWD56n2L5652aO5Tv3y/ CKQqg5l3od1RaoOlHiZWzl1xQGelI2xTvj1kk72nBdUlCd5bCP59c9uzPLGMISsx6+9y AiLI9E3MI0m8kBR8CSq03D0uqlBvllbFZYq154PJ0VnnnrI7+4fh5z8QMad9tDDljLUZ DH+w== X-Forwarded-Encrypted: i=2; AJvYcCWmM0BAGEWQSc+FmCc+oBDEZycy1JOMxjfi2K1jTlWF0rMT8FG8OCBbtNkWTWSJ5o5/aaRaZGE=@isar-build.org X-Gm-Message-State: AOJu0YxQJ6FRW+mT7LvVEohz9FCHWj60hXXMY86igovlrjeuUE1ULPho 4IaxC205QsVfhjlp5CjdWqrhzOcVsc9mLKL6JELH2eX4ukwdhIPr X-Google-Smtp-Source: AGHT+IF9Q22Z6GkSFSY054FyR0/9BlkJcJinXEJNPzf6VufP5NRQwaehg4QWg9AHvTS3ERy8TXQYkQ== X-Received: by 2002:a2e:a548:0:b0:306:16ca:ed05 with SMTP id 38308e7fff4ca-3076c40eac8mr10023011fa.17.1737722163849; Fri, 24 Jan 2025 04:36:03 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a2e:4a01:0:b0:300:1d4b:cd82 with SMTP id 38308e7fff4ca-30761db938cls4023171fa.2.-pod-prod-00-eu; Fri, 24 Jan 2025 04:36:01 -0800 (PST) X-Received: by 2002:a05:651c:10a3:b0:306:501:4762 with SMTP id 38308e7fff4ca-30761c1abe3mr20453731fa.16.1737722161047; Fri, 24 Jan 2025 04:36:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1737722161; cv=none; d=google.com; s=arc-20240605; b=hvSlCGevGPNpxg4VA8k2w7x8M+BSfL0VDRSKyZA3EDvcELbWWgxbtJxvPR0MpKlFJf 8ybB+OKKCbKJdY5o/u+OGPKxS7lv/zBGnc8eyZ8YYBl13e5ZV1tSZDcrIoXJksZllNjW 1lSN5JWrUw3nSPea32RRVJj61Rku3AWRudOWGiP2vZ+qcvy40NpZwGuJ3SyMD64iwSOP kW5O3W/3w4fibepuLLBtS24eS0hyGawT2xSOPDoNAgf/YSjD4/VWFRMmfFRc+7WEvgf8 lLrUt35SHDTqkCb568XmhsLr+v8ItkPGVXyyXdZsHng4GlLfBmLF24Y8a0AVpyhHy2cr WU4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=Vs3Qj/nDeJBb10g5eS8UIX3z8arm/0gf4ijoqNpaK4M=; fh=Bo8ZbdhPy/JbmTSxHxcgeG9JPAXIanSEMBVfErZw+70=; b=FZgVH3uSpUlQjl/I/YYgFqNklr/AZYCRvsswZbYI3jPU4pX8p4j5gQPNsFTmotxMvD ZFUBYk/7FcMypX+1gAO9NqvC/F9T87yFdXMvmiuvcQgGegWUw4sjOLTJoc4pZuU8RB/e DrSGmDo46WAPeOUa7fpyBRJkyUvCzat6L2HcSI10KZZupmbJzoQVFrr5OmzqWuWWasst hzWtvA4OYSsDVhBOE5Hr0vtGrJCQyGYbQhuSNTRHa2+l6PG0ULjxVoZUgYYU3Q7uzRjh 5r+UbV3ZtqC4QGjlHoiRd+uv2l/62YGS6x2zide/sZBG/suIri2+beb2MV3LTjAZ27z+ g8fQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=OTX6Gqw9; spf=pass (google.com: domain of fm-1321639-20250124123600e5febb857ba653a56f-7rhxe8@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1321639-20250124123600e5febb857ba653a56f-7rhxE8@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-225.siemens.flowmailer.net (mta-64-225.siemens.flowmailer.net. [185.136.64.225]) by gmr-mx.google.com with ESMTPS id 38308e7fff4ca-3076bb35871si268401fa.2.2025.01.24.04.36.00 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 24 Jan 2025 04:36:00 -0800 (PST) Received-SPF: pass (google.com: domain of fm-1321639-20250124123600e5febb857ba653a56f-7rhxe8@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) client-ip=185.136.64.225; Received: by mta-64-225.siemens.flowmailer.net with ESMTPSA id 20250124123600e5febb857ba653a56f for ; Fri, 24 Jan 2025 13:36:00 +0100 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: Felix Moessbauer To: isar-users@googlegroups.com Cc: clara.kowalsky@siemens.com, florian.bezdeka@siemens.com, jan.kiszka@siemens.com, Felix Moessbauer Subject: [PATCH v3 1/7] Import isoimage-isohybrid from oe Date: Fri, 24 Jan 2025 13:35:39 +0100 Message-Id: <20250124123545.3500274-2-felix.moessbauer@siemens.com> In-Reply-To: <20250124123545.3500274-1-felix.moessbauer@siemens.com> References: <20250124123545.3500274-1-felix.moessbauer@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1321639:519-21489:flowmailer X-Original-Sender: felix.moessbauer@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=OTX6Gqw9; spf=pass (google.com: domain of fm-1321639-20250124123600e5febb857ba653a56f-7rhxe8@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1321639-20250124123600e5febb857ba653a56f-7rhxE8@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Felix Moessbauer Reply-To: Felix Moessbauer Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,RCVD_IN_RP_CERTIFIED, RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= OE-core Revision: b85a09ea450a5e8f49418f4a930805fbb88dc83b Signed-off-by: Felix Moessbauer --- .../plugins/source/isoimage-isohybrid-isar.py | 461 ++++++++++++++++++ 1 file changed, 461 insertions(+) create mode 100644 meta/scripts/lib/wic/plugins/source/isoimage-isohybrid-isar.py diff --git a/meta/scripts/lib/wic/plugins/source/isoimage-isohybrid-isar.py b/meta/scripts/lib/wic/plugins/source/isoimage-isohybrid-isar.py new file mode 100644 index 00000000..afc9ea0f --- /dev/null +++ b/meta/scripts/lib/wic/plugins/source/isoimage-isohybrid-isar.py @@ -0,0 +1,461 @@ +# +# SPDX-License-Identifier: GPL-2.0-only +# +# DESCRIPTION +# This implements the 'isoimage-isohybrid' source plugin class for 'wic' +# +# AUTHORS +# Mihaly Varga + +import glob +import logging +import os +import re +import shutil + +from wic import WicError +from wic.engine import get_custom_config +from wic.pluginbase import SourcePlugin +from wic.misc import exec_cmd, exec_native_cmd, get_bitbake_var + +logger = logging.getLogger('wic') + +class IsoImagePlugin(SourcePlugin): + """ + Create a bootable ISO image + + This plugin creates a hybrid, legacy and EFI bootable ISO image. The + generated image can be used on optical media as well as USB media. + + Legacy boot uses syslinux and EFI boot uses grub or gummiboot (not + implemented yet) as bootloader. The plugin creates the directories required + by bootloaders and populates them by creating and configuring the + bootloader files. + + Example kickstart file: + part /boot --source isoimage-isohybrid --sourceparams="loader=grub-efi, \\ + image_name= IsoImage" --ondisk cd --label LIVECD + bootloader --timeout=10 --append=" " + + In --sourceparams "loader" specifies the bootloader used for booting in EFI + mode, while "image_name" specifies the name of the generated image. In the + example above, wic creates an ISO image named IsoImage-cd.direct (default + extension added by direct imeger plugin) and a file named IsoImage-cd.iso + """ + + name = 'isoimage-isohybrid' + + @classmethod + def do_configure_syslinux(cls, creator, cr_workdir): + """ + Create loader-specific (syslinux) config + """ + splash = os.path.join(cr_workdir, "ISO/boot/splash.jpg") + if os.path.exists(splash): + splashline = "menu background splash.jpg" + else: + splashline = "" + + bootloader = creator.ks.bootloader + + syslinux_conf = "" + syslinux_conf += "PROMPT 0\n" + syslinux_conf += "TIMEOUT %s \n" % (bootloader.timeout or 10) + syslinux_conf += "\n" + syslinux_conf += "ALLOWOPTIONS 1\n" + syslinux_conf += "SERIAL 0 115200\n" + syslinux_conf += "\n" + if splashline: + syslinux_conf += "%s\n" % splashline + syslinux_conf += "DEFAULT boot\n" + syslinux_conf += "LABEL boot\n" + + kernel = get_bitbake_var("KERNEL_IMAGETYPE") + if get_bitbake_var("INITRAMFS_IMAGE_BUNDLE") == "1": + if get_bitbake_var("INITRAMFS_IMAGE"): + kernel = "%s-%s.bin" % \ + (get_bitbake_var("KERNEL_IMAGETYPE"), get_bitbake_var("INITRAMFS_LINK_NAME")) + + syslinux_conf += "KERNEL /" + kernel + "\n" + syslinux_conf += "APPEND initrd=/initrd LABEL=boot %s\n" \ + % bootloader.append + + logger.debug("Writing syslinux config %s/ISO/isolinux/isolinux.cfg", + cr_workdir) + + with open("%s/ISO/isolinux/isolinux.cfg" % cr_workdir, "w") as cfg: + cfg.write(syslinux_conf) + + @classmethod + def do_configure_grubefi(cls, part, creator, target_dir): + """ + Create loader-specific (grub-efi) config + """ + configfile = creator.ks.bootloader.configfile + if configfile: + grubefi_conf = get_custom_config(configfile) + if grubefi_conf: + logger.debug("Using custom configuration file %s for grub.cfg", + configfile) + else: + raise WicError("configfile is specified " + "but failed to get it from %s", configfile) + else: + splash = os.path.join(target_dir, "splash.jpg") + if os.path.exists(splash): + splashline = "menu background splash.jpg" + else: + splashline = "" + + bootloader = creator.ks.bootloader + + grubefi_conf = "" + grubefi_conf += "serial --unit=0 --speed=115200 --word=8 " + grubefi_conf += "--parity=no --stop=1\n" + grubefi_conf += "default=boot\n" + grubefi_conf += "timeout=%s\n" % (bootloader.timeout or 10) + grubefi_conf += "\n" + grubefi_conf += "search --set=root --label %s " % part.label + grubefi_conf += "\n" + grubefi_conf += "menuentry 'boot'{\n" + + kernel = get_bitbake_var("KERNEL_IMAGETYPE") + if get_bitbake_var("INITRAMFS_IMAGE_BUNDLE") == "1": + if get_bitbake_var("INITRAMFS_IMAGE"): + kernel = "%s-%s.bin" % \ + (get_bitbake_var("KERNEL_IMAGETYPE"), get_bitbake_var("INITRAMFS_LINK_NAME")) + + grubefi_conf += "linux /%s rootwait %s\n" \ + % (kernel, bootloader.append) + grubefi_conf += "initrd /initrd \n" + grubefi_conf += "}\n" + + if splashline: + grubefi_conf += "%s\n" % splashline + + cfg_path = os.path.join(target_dir, "grub.cfg") + logger.debug("Writing grubefi config %s", cfg_path) + + with open(cfg_path, "w") as cfg: + cfg.write(grubefi_conf) + + @staticmethod + def _build_initramfs_path(rootfs_dir, cr_workdir): + """ + Create path for initramfs image + """ + + initrd = get_bitbake_var("INITRD_LIVE") or get_bitbake_var("INITRD") + if not initrd: + initrd_dir = get_bitbake_var("DEPLOY_DIR_IMAGE") + if not initrd_dir: + raise WicError("Couldn't find DEPLOY_DIR_IMAGE, exiting.") + + image_name = get_bitbake_var("IMAGE_BASENAME") + if not image_name: + raise WicError("Couldn't find IMAGE_BASENAME, exiting.") + + image_type = get_bitbake_var("INITRAMFS_FSTYPES") + if not image_type: + raise WicError("Couldn't find INITRAMFS_FSTYPES, exiting.") + + machine = os.path.basename(initrd_dir) + + pattern = '%s/%s*%s.%s' % (initrd_dir, image_name, machine, image_type) + files = glob.glob(pattern) + if files: + initrd = files[0] + + if not initrd or not os.path.exists(initrd): + # Create initrd from rootfs directory + initrd = "%s/initrd.cpio.gz" % cr_workdir + initrd_dir = "%s/INITRD" % cr_workdir + shutil.copytree("%s" % rootfs_dir, \ + "%s" % initrd_dir, symlinks=True) + + if os.path.isfile("%s/init" % rootfs_dir): + shutil.copy2("%s/init" % rootfs_dir, "%s/init" % initrd_dir) + elif os.path.lexists("%s/init" % rootfs_dir): + os.symlink(os.readlink("%s/init" % rootfs_dir), \ + "%s/init" % initrd_dir) + elif os.path.isfile("%s/sbin/init" % rootfs_dir): + shutil.copy2("%s/sbin/init" % rootfs_dir, \ + "%s" % initrd_dir) + elif os.path.lexists("%s/sbin/init" % rootfs_dir): + os.symlink(os.readlink("%s/sbin/init" % rootfs_dir), \ + "%s/init" % initrd_dir) + else: + raise WicError("Couldn't find or build initrd, exiting.") + + exec_cmd("cd %s && find . | cpio -o -H newc -R root:root >%s/initrd.cpio " \ + % (initrd_dir, cr_workdir), as_shell=True) + exec_cmd("gzip -f -9 %s/initrd.cpio" % cr_workdir, as_shell=True) + shutil.rmtree(initrd_dir) + + return initrd + + @classmethod + def do_configure_partition(cls, part, source_params, creator, cr_workdir, + oe_builddir, bootimg_dir, kernel_dir, + native_sysroot): + """ + Called before do_prepare_partition(), creates loader-specific config + """ + isodir = "%s/ISO/" % cr_workdir + + if os.path.exists(isodir): + shutil.rmtree(isodir) + + install_cmd = "install -d %s " % isodir + exec_cmd(install_cmd) + + # Overwrite the name of the created image + logger.debug(source_params) + if 'image_name' in source_params and \ + source_params['image_name'].strip(): + creator.name = source_params['image_name'].strip() + logger.debug("The name of the image is: %s", creator.name) + + @staticmethod + def _install_payload(source_params, iso_dir): + """ + Copies contents of payload directory (as specified in 'payload_dir' param) into iso_dir + """ + + if source_params.get('payload_dir'): + payload_dir = source_params['payload_dir'] + + logger.debug("Payload directory: %s", payload_dir) + shutil.copytree(payload_dir, iso_dir, symlinks=True, dirs_exist_ok=True) + + @classmethod + def do_prepare_partition(cls, part, source_params, creator, cr_workdir, + oe_builddir, bootimg_dir, kernel_dir, + rootfs_dir, native_sysroot): + """ + Called to do the actual content population for a partition i.e. it + 'prepares' the partition to be incorporated into the image. + In this case, prepare content for a bootable ISO image. + """ + + isodir = "%s/ISO" % cr_workdir + + cls._install_payload(source_params, isodir) + + if part.rootfs_dir is None: + if not 'ROOTFS_DIR' in rootfs_dir: + raise WicError("Couldn't find --rootfs-dir, exiting.") + rootfs_dir = rootfs_dir['ROOTFS_DIR'] + else: + if part.rootfs_dir in rootfs_dir: + rootfs_dir = rootfs_dir[part.rootfs_dir] + elif part.rootfs_dir: + rootfs_dir = part.rootfs_dir + else: + raise WicError("Couldn't find --rootfs-dir=%s connection " + "or it is not a valid path, exiting." % + part.rootfs_dir) + + if not os.path.isdir(rootfs_dir): + rootfs_dir = get_bitbake_var("IMAGE_ROOTFS") + if not os.path.isdir(rootfs_dir): + raise WicError("Couldn't find IMAGE_ROOTFS, exiting.") + + part.rootfs_dir = rootfs_dir + deploy_dir = get_bitbake_var("DEPLOY_DIR_IMAGE") + img_iso_dir = get_bitbake_var("ISODIR") + + # Remove the temporary file created by part.prepare_rootfs() + if os.path.isfile(part.source_file): + os.remove(part.source_file) + + # Support using a different initrd other than default + if source_params.get('initrd'): + initrd = source_params['initrd'] + if not deploy_dir: + raise WicError("Couldn't find DEPLOY_DIR_IMAGE, exiting") + cp_cmd = "cp %s/%s %s" % (deploy_dir, initrd, cr_workdir) + exec_cmd(cp_cmd) + else: + # Prepare initial ramdisk + initrd = "%s/initrd" % deploy_dir + if not os.path.isfile(initrd): + initrd = "%s/initrd" % img_iso_dir + if not os.path.isfile(initrd): + initrd = cls._build_initramfs_path(rootfs_dir, cr_workdir) + + install_cmd = "install -m 0644 %s %s/initrd" % (initrd, isodir) + exec_cmd(install_cmd) + + # Remove the temporary file created by _build_initramfs_path function + if os.path.isfile("%s/initrd.cpio.gz" % cr_workdir): + os.remove("%s/initrd.cpio.gz" % cr_workdir) + + kernel = get_bitbake_var("KERNEL_IMAGETYPE") + if get_bitbake_var("INITRAMFS_IMAGE_BUNDLE") == "1": + if get_bitbake_var("INITRAMFS_IMAGE"): + kernel = "%s-%s.bin" % \ + (get_bitbake_var("KERNEL_IMAGETYPE"), get_bitbake_var("INITRAMFS_LINK_NAME")) + + install_cmd = "install -m 0644 %s/%s %s/%s" % \ + (kernel_dir, kernel, isodir, kernel) + exec_cmd(install_cmd) + + #Create bootloader for efi boot + try: + target_dir = "%s/EFI/BOOT" % isodir + if os.path.exists(target_dir): + shutil.rmtree(target_dir) + + os.makedirs(target_dir) + + if source_params['loader'] == 'grub-efi': + # Builds bootx64.efi/bootia32.efi if ISODIR didn't exist or + # didn't contains it + target_arch = get_bitbake_var("TARGET_SYS") + if not target_arch: + raise WicError("Coludn't find target architecture") + + if re.match("x86_64", target_arch): + grub_src_image = "grub-efi-bootx64.efi" + grub_dest_image = "bootx64.efi" + elif re.match('i.86', target_arch): + grub_src_image = "grub-efi-bootia32.efi" + grub_dest_image = "bootia32.efi" + else: + raise WicError("grub-efi is incompatible with target %s" % + target_arch) + + grub_target = os.path.join(target_dir, grub_dest_image) + if not os.path.isfile(grub_target): + grub_src = os.path.join(deploy_dir, grub_src_image) + if not os.path.exists(grub_src): + raise WicError("Grub loader %s is not found in %s. " + "Please build grub-efi first" % (grub_src_image, deploy_dir)) + shutil.copy(grub_src, grub_target) + + if not os.path.isfile(os.path.join(target_dir, "boot.cfg")): + cls.do_configure_grubefi(part, creator, target_dir) + + else: + raise WicError("unrecognized bootimg-efi loader: %s" % + source_params['loader']) + except KeyError: + raise WicError("bootimg-efi requires a loader, none specified") + + # Create efi.img that contains bootloader files for EFI booting + # if ISODIR didn't exist or didn't contains it + if os.path.isfile("%s/efi.img" % img_iso_dir): + install_cmd = "install -m 0644 %s/efi.img %s/efi.img" % \ + (img_iso_dir, isodir) + exec_cmd(install_cmd) + else: + # Default to 100 blocks of extra space for file system overhead + esp_extra_blocks = int(source_params.get('esp_extra_blocks', '100')) + + du_cmd = "du -bks %s/EFI" % isodir + out = exec_cmd(du_cmd) + blocks = int(out.split()[0]) + blocks += esp_extra_blocks + logger.debug("Added 100 extra blocks to %s to get to %d " + "total blocks", part.mountpoint, blocks) + + # dosfs image for EFI boot + bootimg = "%s/efi.img" % isodir + + esp_label = source_params.get('esp_label', 'EFIimg') + + dosfs_cmd = 'mkfs.vfat -n \'%s\' -S 512 -C %s %d' \ + % (esp_label, bootimg, blocks) + exec_native_cmd(dosfs_cmd, native_sysroot) + + mmd_cmd = "mmd -i %s ::/EFI" % bootimg + exec_native_cmd(mmd_cmd, native_sysroot) + + mcopy_cmd = "mcopy -i %s -s %s/EFI/* ::/EFI/" \ + % (bootimg, isodir) + exec_native_cmd(mcopy_cmd, native_sysroot) + + chmod_cmd = "chmod 644 %s" % bootimg + exec_cmd(chmod_cmd) + + # Prepare files for legacy boot + syslinux_dir = get_bitbake_var("STAGING_DATADIR") + if not syslinux_dir: + raise WicError("Couldn't find STAGING_DATADIR, exiting.") + + if os.path.exists("%s/isolinux" % isodir): + shutil.rmtree("%s/isolinux" % isodir) + + install_cmd = "install -d %s/isolinux" % isodir + exec_cmd(install_cmd) + + cls.do_configure_syslinux(creator, cr_workdir) + + install_cmd = "install -m 444 %s/syslinux/ldlinux.sys " % syslinux_dir + install_cmd += "%s/isolinux/ldlinux.sys" % isodir + exec_cmd(install_cmd) + + install_cmd = "install -m 444 %s/syslinux/isohdpfx.bin " % syslinux_dir + install_cmd += "%s/isolinux/isohdpfx.bin" % isodir + exec_cmd(install_cmd) + + install_cmd = "install -m 644 %s/syslinux/isolinux.bin " % syslinux_dir + install_cmd += "%s/isolinux/isolinux.bin" % isodir + exec_cmd(install_cmd) + + install_cmd = "install -m 644 %s/syslinux/ldlinux.c32 " % syslinux_dir + install_cmd += "%s/isolinux/ldlinux.c32" % isodir + exec_cmd(install_cmd) + + #create ISO image + iso_img = "%s/tempiso_img.iso" % cr_workdir + iso_bootimg = "isolinux/isolinux.bin" + iso_bootcat = "isolinux/boot.cat" + efi_img = "efi.img" + + mkisofs_cmd = "mkisofs -V %s " % part.label + mkisofs_cmd += "-o %s -U " % iso_img + mkisofs_cmd += "-J -joliet-long -r -iso-level 2 -b %s " % iso_bootimg + mkisofs_cmd += "-c %s -no-emul-boot -boot-load-size 4 " % iso_bootcat + mkisofs_cmd += "-boot-info-table -eltorito-alt-boot " + mkisofs_cmd += "-eltorito-platform 0xEF -eltorito-boot %s " % efi_img + mkisofs_cmd += "-no-emul-boot %s " % isodir + + logger.debug("running command: %s", mkisofs_cmd) + exec_native_cmd(mkisofs_cmd, native_sysroot) + + shutil.rmtree(isodir) + + du_cmd = "du -Lbks %s" % iso_img + out = exec_cmd(du_cmd) + isoimg_size = int(out.split()[0]) + + part.size = isoimg_size + part.source_file = iso_img + + @classmethod + def do_install_disk(cls, disk, disk_name, creator, workdir, oe_builddir, + bootimg_dir, kernel_dir, native_sysroot): + """ + Called after all partitions have been prepared and assembled into a + disk image. In this case, we insert/modify the MBR using isohybrid + utility for booting via BIOS from disk storage devices. + """ + + iso_img = "%s.p1" % disk.path + full_path = creator._full_path(workdir, disk_name, "direct") + full_path_iso = creator._full_path(workdir, disk_name, "iso") + + isohybrid_cmd = "isohybrid -u %s" % iso_img + logger.debug("running command: %s", isohybrid_cmd) + exec_native_cmd(isohybrid_cmd, native_sysroot) + + # Replace the image created by direct plugin with the one created by + # mkisofs command. This is necessary because the iso image created by + # mkisofs has a very specific MBR is system area of the ISO image, and + # direct plugin adds and configures an another MBR. + logger.debug("Replaceing the image created by direct plugin\n") + os.remove(disk.path) + shutil.copy2(iso_img, full_path_iso) + shutil.copy2(full_path_iso, full_path) From patchwork Fri Jan 24 12:35:40 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Felix Moessbauer X-Patchwork-Id: 4036 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 24 Jan 2025 13:36:12 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-lf1-f63.google.com (mail-lf1-f63.google.com [209.85.167.63]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 50OCaBMj013570 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 24 Jan 2025 13:36:11 +0100 Received: by mail-lf1-f63.google.com with SMTP id 2adb3069b0e04-5426f59d5c0sf1127576e87.2 for ; Fri, 24 Jan 2025 04:36:11 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1737722164; cv=pass; d=google.com; s=arc-20240605; b=ffZTvdtJ1mYq3vgODBo3OLmcIbTRULkF54Cj2mJ8MTprt8Izy9GjTf6znDO8L2yRHD dg7lMjjLDcdD10COjRagPca8XGntglQR25C//ZAqCY1ERmR5CIdgjaQmSEDh/nEhyErK pRGM1zcQ22ucvbPJK0A1NMOmcaH7XRq617TrgfMwgeWe2EFe58cEOr2uIp9nrJNnJCvE Uy6hkLLt2Ue1xYlqe86AXgVqpOYzrGSIvGMu0c7gLOeHj2Dl/RNwdY5o3DqMJXBlUejl jwSDElmQN+w6/NYkJ53wHnTiZ15RrkaCG/S5uZQjDSvRdfWxwtmXNIyJE+M8VRHicjBa o60A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=BZnyy9SCau8VljfIT0ckKX9JfpNhWGObke/7KjUhloU=; fh=9/Ztvc3+43G3lE/it9W3I516i6AIbISusqGc2TckN8g=; b=IoO45GB7jVjxop8xxXlRoJCJzZW7s5BkHCnLlPLxtUolM2e3AQugGyqFBNs5YPCjSg OtDz4t93iUFfQgN3K+B6pYceOecHdtwrpme9oAuyn8Mf6R+6rVUYd20W+JdP4WiOLMpt K9lQGDyY8xRRFO+SBq5MnKW4YTx0Fz6bZilCz2vf2/0Mx8ZSfaWyWki1i6H/90jhXtLx jjNmFr68r010TF/d+4xNiAuJzIrsnbuoR45tt1C+C8QwZVtrA6nvwRiQNYoKZw0/ZTeB 87P+W2zyFa6g0TBxFm85mRgsAWdO1c5xxqSZhH67vE4Zklri5xtn7H96pCGIzQ/bcpoR j12A==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=WyhOi9YE; spf=pass (google.com: domain of fm-1321639-202501241236008b6993125e32217e4f-3oqfb9@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-1321639-202501241236008b6993125e32217e4f-3oQFb9@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1737722164; x=1738326964; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=BZnyy9SCau8VljfIT0ckKX9JfpNhWGObke/7KjUhloU=; b=vOAVhINvRP5nzV5FNactdn9+PrImtRR0d6eK2wAKY6J02vRecakoSpdpY/IWNUftok f+zFOsFBu4FDXK3S9Nch3jjd2cyI3Bbn0hOwVIFaof3xTfrWngp7axcAnv6QufiT8NTw vsbmalZXW9Xd6xgQ1h3paOyvTwXhcC9cix7E1gbmE+FtAr63Wk87iMNrAYRVAav5VL7Y 0JrShV9bcTx9MxhqIHbodEz3G7Q34dDlatwfDmuVKnF6ectOOqFogIwmYez/3toiwsSh CJGdmsn4d4Kq9Cb6wDuZrIxToMd0NxUWM/i3FjFDuNdmv79PWqxTDZii8dDXR+IwdsuJ FKtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737722164; x=1738326964; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:x-beenthere:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=BZnyy9SCau8VljfIT0ckKX9JfpNhWGObke/7KjUhloU=; b=lCaha6pFrCS1RtU7Omm5jnvN46iT4kRUZfglWAY/3BurMUZMvo+4k0UsRXgI3ISODi zPYVEHyWdFSkZui9QD5oj7E+J5slZy46QWkZiQTNTaVoZv6o/aPgZak5tf53D6onGJ15 N0MAmAHwQ99vrluCjka9uJhjSOmIpCENjwJWql8UVKnOVFkPFbTYSESVTG6tzxach4k+ KxGFZw13nHlEJlPEeZOf7bvcqsMn0+VP9z+69+lgtunLTgn9k7WuMTHRZ/3ooHtDW+1x XIXTl+cGkt+uxBg5gM4/icohIBXeaHd4C1+RbG0qi5PaY52jrUyJvyta0cETEYnB6/bZ xyqQ== X-Forwarded-Encrypted: i=2; AJvYcCVRBRrDqZ95Pacdl7/bIXqh1TsdPg37LYbFEIAJT4/Lc9SmYSA3JLiXapwVgjZ/2xedCPGTDqg=@isar-build.org X-Gm-Message-State: AOJu0YzJOd/2R2bwCi7kLFkL/ULoZ2H546KpC/8k6H67KdOTXnsLAUm7 /GRleYMpALJcDN5YfX5l1b/V4xtl8LWB3N57lx7dZs+CkQjniOjq X-Google-Smtp-Source: AGHT+IE1c8xF11Imi6j4uz7YRxsTj5Zv3w705HmDqWxIeD8QQfM80htK2qV0o3bk4fkdAGFlq6/twg== X-Received: by 2002:a05:6512:1252:b0:540:3566:5397 with SMTP id 2adb3069b0e04-5439c229208mr11158017e87.22.1737722163944; Fri, 24 Jan 2025 04:36:03 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a19:e004:0:b0:540:22e0:1f6d with SMTP id 2adb3069b0e04-543c23e0d34ls372819e87.0.-pod-prod-07-eu; Fri, 24 Jan 2025 04:36:01 -0800 (PST) X-Received: by 2002:ac2:41d7:0:b0:542:62e6:4517 with SMTP id 2adb3069b0e04-5439c2289d6mr8196358e87.12.1737722161276; Fri, 24 Jan 2025 04:36:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1737722161; cv=none; d=google.com; s=arc-20240605; b=ks//lo4/uT1d7cRNO5PCzvP3uWghz+W4eZHN6SOpNOC1C81l3ckGeyhrPCjIw0FKRa j+aotE93ZvTtCd/nHadTdubZxLNS4Awrz8elIA/AWppmzXSAuUpBboLXHSG7vORf3jAU RXDX6qtrzDEitAihGUHIxYl/iJetf6FqQlUKl56FLbc4a//ggz+R9BbjSgyxaz6evOu7 adrRnBeA3IFr3Wacw5J5YpXkQ9wyX/EssjFS56WpC218vWxKXAOKNEwlWtNxPaCBR1LM p+twR6iNH+H3YJOHlUQwYqtkw2oZ1AqV8cFW86SSh4PKGtqxw9lIH/1zslxU2v6jzlr+ YwqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=ZbLOhl80gbV2bSiuY9N4dAptMeBobewG3bgfOi83Q14=; fh=Bo8ZbdhPy/JbmTSxHxcgeG9JPAXIanSEMBVfErZw+70=; b=U1hd7hVSXVf1ejG+BeDpguNb+b6/U59Ef8Da3wn0NcEELW1I8qPzYAyn5dRmAkcz6j ODJGXSk+CKKwZwSavgQxI5ot/0FIowmDyL/fS3rYKhALgex/FtDbBAPnypyZ2FKDbIaZ 4uoyljYMCZD9XHMLzlsZGXOPPnSZUZSNDlB+G9xRO33j3gN2/KFhdj80auSnymWjDWgu /ebczE8h190/T0jz6IWwkTWI2GNPTYo6bgTT8062e2oJAx0zHJ6pQ5TsgsFsey6uAB0t Ti3aA8Uw1pSkXqyspf1DGMjqxKclJWcD9+MkjthupJJz7QIHGLf3JnWlqpzy/GhpJ5xQ o7kg==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=WyhOi9YE; spf=pass (google.com: domain of fm-1321639-202501241236008b6993125e32217e4f-3oqfb9@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-1321639-202501241236008b6993125e32217e4f-3oQFb9@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-65-226.siemens.flowmailer.net (mta-65-226.siemens.flowmailer.net. [185.136.65.226]) by gmr-mx.google.com with ESMTPS id 2adb3069b0e04-543c8231e51si44330e87.5.2025.01.24.04.36.01 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 24 Jan 2025 04:36:01 -0800 (PST) Received-SPF: pass (google.com: domain of fm-1321639-202501241236008b6993125e32217e4f-3oqfb9@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) client-ip=185.136.65.226; Received: by mta-65-226.siemens.flowmailer.net with ESMTPSA id 202501241236008b6993125e32217e4f for ; Fri, 24 Jan 2025 13:36:00 +0100 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: Felix Moessbauer To: isar-users@googlegroups.com Cc: clara.kowalsky@siemens.com, florian.bezdeka@siemens.com, jan.kiszka@siemens.com, Felix Moessbauer Subject: [PATCH v3 2/7] wic: add ISAR version of isohybrid-efi plugin Date: Fri, 24 Jan 2025 13:35:40 +0100 Message-Id: <20250124123545.3500274-3-felix.moessbauer@siemens.com> In-Reply-To: <20250124123545.3500274-1-felix.moessbauer@siemens.com> References: <20250124123545.3500274-1-felix.moessbauer@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1321639:519-21489:flowmailer X-Original-Sender: felix.moessbauer@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=WyhOi9YE; spf=pass (google.com: domain of fm-1321639-202501241236008b6993125e32217e4f-3oqfb9@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-1321639-202501241236008b6993125e32217e4f-3oQFb9@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Felix Moessbauer Reply-To: Felix Moessbauer Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,RCVD_IN_RP_CERTIFIED, RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= This adds support to generate a hybrid grub-efi + syslinux ISO9660 image. The patch is written in an add-only style to simplify updates of the upstream plugin. Signed-off-by: Felix Moessbauer --- .../plugins/source/isoimage-isohybrid-isar.py | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/meta/scripts/lib/wic/plugins/source/isoimage-isohybrid-isar.py b/meta/scripts/lib/wic/plugins/source/isoimage-isohybrid-isar.py index afc9ea0f..b46527b8 100644 --- a/meta/scripts/lib/wic/plugins/source/isoimage-isohybrid-isar.py +++ b/meta/scripts/lib/wic/plugins/source/isoimage-isohybrid-isar.py @@ -18,6 +18,12 @@ from wic.engine import get_custom_config from wic.pluginbase import SourcePlugin from wic.misc import exec_cmd, exec_native_cmd, get_bitbake_var +# allow plugins to import from isarpluginbase +if '__file__' in globals(): + import sys + sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/..") +from isarpluginbase import (isar_get_filenames, isar_populate_boot_cmd) + logger = logging.getLogger('wic') class IsoImagePlugin(SourcePlugin): @@ -44,6 +50,7 @@ class IsoImagePlugin(SourcePlugin): """ name = 'isoimage-isohybrid' + name = 'isoimage-isohybrid-isar' @classmethod def do_configure_syslinux(cls, creator, cr_workdir): @@ -71,6 +78,9 @@ class IsoImagePlugin(SourcePlugin): syslinux_conf += "LABEL boot\n" kernel = get_bitbake_var("KERNEL_IMAGETYPE") + kernel, initrd = isar_get_filenames( + get_bitbake_var("IMAGE_ROOTFS"), get_bitbake_var("KERNEL_FILE") + ) if get_bitbake_var("INITRAMFS_IMAGE_BUNDLE") == "1": if get_bitbake_var("INITRAMFS_IMAGE"): kernel = "%s-%s.bin" % \ @@ -80,6 +90,13 @@ class IsoImagePlugin(SourcePlugin): syslinux_conf += "APPEND initrd=/initrd LABEL=boot %s\n" \ % bootloader.append + # replace initrd with correct one + if initrd: + syslinux_conf = syslinux_conf.replace( + "initrd=/initrd", "initrd=/%s" % initrd) + else: + raise WicError("Couldn't find initrd, exiting.") + logger.debug("Writing syslinux config %s/ISO/isolinux/isolinux.cfg", cr_workdir) @@ -125,9 +142,23 @@ class IsoImagePlugin(SourcePlugin): kernel = "%s-%s.bin" % \ (get_bitbake_var("KERNEL_IMAGETYPE"), get_bitbake_var("INITRAMFS_LINK_NAME")) + kernel, initrd = isar_get_filenames( + get_bitbake_var("IMAGE_ROOTFS"), get_bitbake_var("KERNEL_FILE") + ) + + bootloader.append = bootloader.append or "" grubefi_conf += "linux /%s rootwait %s\n" \ % (kernel, bootloader.append) grubefi_conf += "initrd /initrd \n" + grubefi_conf = '\n'.join(grubefi_conf.splitlines()[:-1]) + '\n' + + if initrd: + initrds = initrd.split(';') + grubefi_conf += "initrd" + for rd in initrds: + grubefi_conf += " /%s" % rd + grubefi_conf += "\n" + grubefi_conf += "}\n" if splashline: @@ -156,12 +187,14 @@ class IsoImagePlugin(SourcePlugin): raise WicError("Couldn't find IMAGE_BASENAME, exiting.") image_type = get_bitbake_var("INITRAMFS_FSTYPES") + image_type = image_type or "img" if not image_type: raise WicError("Couldn't find INITRAMFS_FSTYPES, exiting.") machine = os.path.basename(initrd_dir) pattern = '%s/%s*%s.%s' % (initrd_dir, image_name, machine, image_type) + pattern = '%s/%s-%s-initrd.%s' % (initrd_dir, image_name, machine, image_type) files = glob.glob(pattern) if files: initrd = files[0] @@ -227,6 +260,12 @@ class IsoImagePlugin(SourcePlugin): logger.debug("Payload directory: %s", payload_dir) shutil.copytree(payload_dir, iso_dir, symlinks=True, dirs_exist_ok=True) + if source_params.get('payload'): + payload = source_params.get('payload') + + logger.debug("Payload: %s", payload) + os.mkdir('%s/live' % iso_dir) + shutil.copy(payload, '%s/live' % iso_dir) @classmethod def do_prepare_partition(cls, part, source_params, creator, cr_workdir, @@ -299,6 +338,7 @@ class IsoImagePlugin(SourcePlugin): install_cmd = "install -m 0644 %s/%s %s/%s" % \ (kernel_dir, kernel, isodir, kernel) + install_cmd = isar_populate_boot_cmd(rootfs_dir, isodir) exec_cmd(install_cmd) #Create bootloader for efi boot @@ -313,19 +353,46 @@ class IsoImagePlugin(SourcePlugin): # Builds bootx64.efi/bootia32.efi if ISODIR didn't exist or # didn't contains it target_arch = get_bitbake_var("TARGET_SYS") + distro_arch = get_bitbake_var("DISTRO_ARCH") + if distro_arch == "amd64": + target_arch = "x86_64" + else: + target_arch = distro_arch + if not target_arch: raise WicError("Coludn't find target architecture") if re.match("x86_64", target_arch): + grub_target = "x86_64-efi" grub_src_image = "grub-efi-bootx64.efi" grub_dest_image = "bootx64.efi" + grub_modules = "multiboot efi_uga iorw ata " + if get_bitbake_var("DISTRO").startswith("ubuntu") and \ + os.path.exists('/usr/lib/grub/x86_64-efi/linuxefi.mod'): + grub_modules += "linuxefi " elif re.match('i.86', target_arch): + grub_target = "i386-efi" grub_src_image = "grub-efi-bootia32.efi" grub_dest_image = "bootia32.efi" + grub_modules = "multiboot efi_uga iorw ata " else: raise WicError("grub-efi is incompatible with target %s" % target_arch) + if not os.path.isfile("%s/%s" \ + % (target_dir, grub_dest_image)): + grub_cmd = "grub-mkimage -p /EFI/BOOT " + grub_cmd += "-O %s -o %s/%s " \ + % (grub_target, target_dir, grub_dest_image) + grub_cmd += "part_gpt part_msdos ntfs ntfscomp fat ext2 " + grub_cmd += "normal chain boot configfile linux " + grub_cmd += "search efi_gop font gfxterm gfxmenu " + grub_cmd += "terminal minicmd test loadenv echo help " + grub_cmd += "reboot serial terminfo iso9660 loopback tar " + grub_cmd += "memdisk ls search_fs_uuid udf btrfs xfs lvm " + grub_cmd += "reiserfs regexp " + grub_modules + exec_cmd(grub_cmd) + grub_target = os.path.join(target_dir, grub_dest_image) if not os.path.isfile(grub_target): grub_src = os.path.join(deploy_dir, grub_src_image) @@ -393,18 +460,23 @@ class IsoImagePlugin(SourcePlugin): cls.do_configure_syslinux(creator, cr_workdir) install_cmd = "install -m 444 %s/syslinux/ldlinux.sys " % syslinux_dir + # different name in Debian + install_cmd = "install -m 444 %s/syslinux/modules/bios/ldlinux.c32 " % syslinux_dir install_cmd += "%s/isolinux/ldlinux.sys" % isodir exec_cmd(install_cmd) install_cmd = "install -m 444 %s/syslinux/isohdpfx.bin " % syslinux_dir + install_cmd = install_cmd.replace('/syslinux/', '/ISOLINUX/') install_cmd += "%s/isolinux/isohdpfx.bin" % isodir exec_cmd(install_cmd) install_cmd = "install -m 644 %s/syslinux/isolinux.bin " % syslinux_dir + install_cmd = install_cmd.replace('/syslinux/', '/ISOLINUX/') install_cmd += "%s/isolinux/isolinux.bin" % isodir exec_cmd(install_cmd) install_cmd = "install -m 644 %s/syslinux/ldlinux.c32 " % syslinux_dir + install_cmd = install_cmd.replace('/syslinux/', '/syslinux/modules/bios/') install_cmd += "%s/isolinux/ldlinux.c32" % isodir exec_cmd(install_cmd) @@ -415,6 +487,8 @@ class IsoImagePlugin(SourcePlugin): efi_img = "efi.img" mkisofs_cmd = "mkisofs -V %s " % part.label + # use xorriso from Debian + mkisofs_cmd = "xorriso -as mkisofs -V %s " % part.label mkisofs_cmd += "-o %s -U " % iso_img mkisofs_cmd += "-J -joliet-long -r -iso-level 2 -b %s " % iso_bootimg mkisofs_cmd += "-c %s -no-emul-boot -boot-load-size 4 " % iso_bootcat From patchwork Fri Jan 24 12:35:41 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Felix Moessbauer X-Patchwork-Id: 4038 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 24 Jan 2025 13:36:14 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f63.google.com (mail-wm1-f63.google.com [209.85.128.63]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 50OCaDsm013581 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 24 Jan 2025 13:36:13 +0100 Received: by mail-wm1-f63.google.com with SMTP id 5b1f17b1804b1-4361b090d23sf10095215e9.0 for ; Fri, 24 Jan 2025 04:36:13 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1737722168; cv=pass; d=google.com; s=arc-20240605; b=Fc7FuxGd8vfbnGPbK/N4Ynf5GzD7LF5Qs/6VfjBQPDq0914srYi9hfl+gMsZeUnnwm K6yjrv7YLDhTFWty9OztyM2blsrCHLorZ8W8gSj1sI+9X+H3sdSYQtZi3Ov9zAUGKQ3m q1s2JtoKetc85lmtlJcQMaRg597yZ/RWI5s8FKHxM6MTzWYbb9IxVZfBqY7ytaGx9ntb iNuWVE/gogA4JpTq90jNXWgu/ljxa6QVdgzgdCL7mqkohl2y85Is7VCr1k73oeqTv6+J 2qqgAUMxrD0z78iogdwn/v4QwktpbKIfbdpmp466JMA0OYFoFz20N5Qpapk5TPEi6/De wtmw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=nnMfAh4SvS0sFY+KWGb6lvEaLVR9vYAJqhs6w8Quso0=; fh=0gns/ryR9G/s7HPks+Y37HvEkSz9B7NXxJ5h7Y72ubQ=; b=LM8H8Le/pQevRCJPMGAeW9l6HLh3WEcU1nF6zEhvhWQeqpdMTb81/8Ac226soA6tiO TDnUKMGUpHTxrAldW8kLNghUa3j6u1w1gFRT04zDI8AwRs6D19ZPRG/1hNQcRjr3qcja 7pzgUBAqO2qsOqn2ZtEPJWsWCFTfY94SGcrbvQD+roRCYumE7EnzXoP4F9PIRT4F9UGc EPGyjCSrJPZgaurFQ7k1zGyyPLlI28lLaiFmcNozGb3Q68Ii6jwVaKW7Gb4oBfETF/1A i4Kh95mZanUKR5PLMv39zz7RlbfsU+U7hqGeRIP8f+LOXbQRf0vxQzrJJv3dC8Bz4viY oOSQ==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=AifBASfd; spf=pass (google.com: domain of fm-1321639-2025012412360429a7c209b262b779f1-ulacvj@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1321639-2025012412360429a7c209b262b779f1-UlAcvJ@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1737722168; x=1738326968; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=nnMfAh4SvS0sFY+KWGb6lvEaLVR9vYAJqhs6w8Quso0=; b=hSFYZh6PepGlyRwZFZdiVBZDGobWLMpu/kS+nP0N1O1ivleJymiw7s6F4kpOudC12R BBHYi0vtxaXWb1oPfcSaX7YZ8NGGkWy7h9ojsfnhFEqlYmEwU9mh5W95KZ0he1XaxJWz k36Wdu+2bFsv8dGO1QffMUreithocOc0w+mSBleLyNxCer3Xwc9H9VpbhRfjjATHZP6x d4BV2fJmWEr3Q3PYmlIzYJLgTtEdAvBsDNHoo0P4SbDm70o5x0YX0e5tcFL7aqxGmNpB L46lwT7MhRi0voXIGcDKC/yPqnrsHLquDHGNKOkKDHLUrTttT2e5zz7VjpYSZL6t8kVU +33g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737722168; x=1738326968; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:x-beenthere:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=nnMfAh4SvS0sFY+KWGb6lvEaLVR9vYAJqhs6w8Quso0=; b=qNhAKTVL1S1hURniAWxgLs6e9jBc1N2+xfVLM4TBNGSpVuvXNCTyUhsrC7tbNnJw7Z eoxD3jgVgGXvK8ulIhCKF6dn3KoofgsZmMweRZN0+MV0rOxPyFSBeLVB5EILaVGg5dN1 s0IdUu6NUY7wMsaBIQQNyPWj590Gq6dA9KStXg8G3nr3ferinnXSBsE77mp1Gy/DUGVp 2PoulJOGJ+wswr58wfnnKrX6WwdY7U3zpj0TpyDnBqPe6AIZr7Ql6xfTVoQXecLwtuHC LuepDqzYMQINsoRDWQqJojtVQcQs/rzvGAOrJQ//YE1EDh+NlcfTSo15VXYQBGKHdTfE Hhsw== X-Forwarded-Encrypted: i=2; AJvYcCUzGYzo+x4aMBHIw4FPDdOD6LYFW0hEoVp4gJRd6GWLMuuT7szKgp2GsFR7yUEw1BkPbSoqsB8=@isar-build.org X-Gm-Message-State: AOJu0YyBbyTS/WKeUubf9CvRG0B/ojeDWNIv4G2hNQ+1p1Pwzgv7D4TV NXOxVlG3HYWhkI/mc4ELT70WjkseQTSejWOSdiqA9rndb1n5UImM X-Google-Smtp-Source: AGHT+IFWQ6Q2tfNaK1q2JDrvPuiXKKHXF8EcEWNZMJHnESxfPgUHyhXbWBNAx6byMzOOTSVsM+isUQ== X-Received: by 2002:a05:600c:5012:b0:434:9e46:5bc with SMTP id 5b1f17b1804b1-438913ca718mr310784955e9.10.1737722167850; Fri, 24 Jan 2025 04:36:07 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:600c:1ca3:b0:42c:b037:5fba with SMTP id 5b1f17b1804b1-438b87b4bc0ls12077855e9.2.-pod-prod-06-eu; Fri, 24 Jan 2025 04:36:05 -0800 (PST) X-Received: by 2002:a05:600c:5012:b0:434:9e46:5bc with SMTP id 5b1f17b1804b1-438913ca718mr310783275e9.10.1737722165396; Fri, 24 Jan 2025 04:36:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1737722165; cv=none; d=google.com; s=arc-20240605; b=K6fRrlQ5vDxzeVxh0RfrZkqxP8IwKoQ8EYGg8etnz4kvKHcBKzxOM/McEL65Xfop45 HyyyK246FY1fvBnuqIZN5LFszQA8qbdjGtudzGixw5m51u7dNTA7IrdAu+uVLD15DN7i PkJKFDan85XHozoUAr2BOXnOywtUX8bKtnA9OEl1fe5qSGKRkrdydh2232S3XQu5mOVY KgCQCZvQSLxj+jPZXuFuKkn1I61hwRluizJIE1E8NhTurZExt5A5W+2q+lNfxYmx18U9 OYWnBEwaYzmiEdKEWrJ9HPAGGB57UHYnYM4kAJKRwm0rKsUhxeBdNN9Z0HNauP//KNn6 hFNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=tJmIxvEtLArcxaSvByPmQqHuMZ9WIYVSQSctXgJ+GDk=; fh=Bo8ZbdhPy/JbmTSxHxcgeG9JPAXIanSEMBVfErZw+70=; b=Qd6xy8VxQWkNarUV3AjwGpYDRps8GiwXrDXEIdK8ppu11G7R0qgM4ceJr1EfCuGyN5 jY/y1ieJKBZjs9UoBYsKTlHaBPbdzqQ51/7+oz8862u/jppzT8KgR06+in1Kmnvdd+tu ss4QJCnAIwpDQEFUYNtkQJtK74SZxTGG8Vas8NZ6Nim3ormuO8CBEmI7Y5tVPZ1aV+sZ 3hIp2OJw7ukvZpCsNhShlamg9OQbH4Cyg8HXo8q2T4L/1VBh5+198CNjFlSOXdxvni1o 2xlTbhpvK/WOQ/lQkskfkDdCFGzLXkLzNN9Rr1vVA9qIBDsivl9AV3u2+UQjdouGK3EQ no1w==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=AifBASfd; spf=pass (google.com: domain of fm-1321639-2025012412360429a7c209b262b779f1-ulacvj@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1321639-2025012412360429a7c209b262b779f1-UlAcvJ@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-227.siemens.flowmailer.net (mta-64-227.siemens.flowmailer.net. [185.136.64.227]) by gmr-mx.google.com with ESMTPS id 5b1f17b1804b1-438b171e65asi4743875e9.0.2025.01.24.04.36.05 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 24 Jan 2025 04:36:05 -0800 (PST) Received-SPF: pass (google.com: domain of fm-1321639-2025012412360429a7c209b262b779f1-ulacvj@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) client-ip=185.136.64.227; Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 2025012412360429a7c209b262b779f1 for ; Fri, 24 Jan 2025 13:36:05 +0100 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: Felix Moessbauer To: isar-users@googlegroups.com Cc: clara.kowalsky@siemens.com, florian.bezdeka@siemens.com, jan.kiszka@siemens.com, Felix Moessbauer Subject: [PATCH v3 3/7] move squashfs imagetype class from CIP to ISAR Date: Fri, 24 Jan 2025 13:35:41 +0100 Message-Id: <20250124123545.3500274-4-felix.moessbauer@siemens.com> In-Reply-To: <20250124123545.3500274-1-felix.moessbauer@siemens.com> References: <20250124123545.3500274-1-felix.moessbauer@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1321639:519-21489:flowmailer X-Original-Sender: felix.moessbauer@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=AifBASfd; spf=pass (google.com: domain of fm-1321639-2025012412360429a7c209b262b779f1-ulacvj@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1321639-2025012412360429a7c209b262b779f1-UlAcvJ@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Felix Moessbauer Reply-To: Felix Moessbauer Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,RCVD_IN_RP_CERTIFIED, RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= As a preparation for live images, we move the squashfs class from isar-cip-core to ISAR and register it as always included. ISAR-cip-core revision: 0e85378341fb7b37cf95b1c910ca0260cf4f5cf4 Signed-off-by: Felix Moessbauer --- meta-isar/classes/squashfs.bbclass | 47 ++++++++++++++++++++++++++++++ meta/classes/image.bbclass | 2 +- 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 meta-isar/classes/squashfs.bbclass diff --git a/meta-isar/classes/squashfs.bbclass b/meta-isar/classes/squashfs.bbclass new file mode 100644 index 00000000..9cd7ed3d --- /dev/null +++ b/meta-isar/classes/squashfs.bbclass @@ -0,0 +1,47 @@ +# squashfs image rootfs +# +# This software is a part of ISAR. +# Copyright (C) Siemens AG, 2021-2025 +# +# SPDX-License-Identifier: MIT + +def get_free_mem(): + try: + with open('/proc/meminfo') as meminfo: + lines = meminfo.readlines() + for line in lines: + if line.startswith('MemAvailable:'): + return int(line.split()[1]) * 1024 + except FileNotFoundError: + pass + return 4*1024*1024*1024 # 4G + +IMAGER_INSTALL:squashfs += "squashfs-tools" + +SQUASHFS_EXCLUDE_DIRS ?= "" +SQUASHFS_CONTENT ?= "${PP_ROOTFS}" +SQUASHFS_CREATION_ARGS ?= "" + +SQUASHFS_THREADS ?= "${@oe.utils.cpu_count(at_least=2)}" +SQUASHFS_MEMLIMIT ?= "${@int(get_free_mem() * 3/4)}" +SQUASHFS_CREATION_LIMITS = "-mem ${SQUASHFS_MEMLIMIT} -processors ${SQUASHFS_THREADS}" + +python __anonymous() { + exclude_directories = d.getVar('SQUASHFS_EXCLUDE_DIRS').split() + if len(exclude_directories) == 0: + return + # Use wildcard to exclude only content of the directory. + # This allows to use the directory as a mount point. + args = " -wildcards" + for dir in exclude_directories: + args += " -e '{dir}/*' ".format(dir=dir) + d.appendVar('SQUASHFS_CREATION_ARGS', args) +} + +IMAGE_CMD:squashfs[depends] = "${PN}:do_transform_template" +IMAGE_CMD:squashfs[vardepsexclude] += "SQUASHFS_CREATION_LIMITS" +IMAGE_CMD:squashfs() { + ${SUDO_CHROOT} /bin/mksquashfs \ + '${SQUASHFS_CONTENT}' '${IMAGE_FILE_CHROOT}' \ + -noappend ${SQUASHFS_CREATION_LIMITS} ${SQUASHFS_CREATION_ARGS} +} diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index db21cc76..49861b75 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -129,7 +129,7 @@ IMAGE_BASETYPES = "${@get_image_basetypes(d)}" # image types IMAGE_CLASSES ??= "" -IMGCLASSES = "imagetypes imagetypes_wic imagetypes_vm imagetypes_container" +IMGCLASSES = "imagetypes imagetypes_wic imagetypes_vm imagetypes_container squashfs" IMGCLASSES += "${IMAGE_CLASSES}" inherit ${IMGCLASSES} From patchwork Fri Jan 24 12:35:42 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Felix Moessbauer X-Patchwork-Id: 4040 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 24 Jan 2025 13:36:15 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f59.google.com (mail-wm1-f59.google.com [209.85.128.59]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 50OCaEJk013627 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 24 Jan 2025 13:36:15 +0100 Received: by mail-wm1-f59.google.com with SMTP id 5b1f17b1804b1-43673af80a6sf14561115e9.1 for ; Fri, 24 Jan 2025 04:36:15 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1737722169; cv=pass; d=google.com; s=arc-20240605; b=FPJ7V2uT90LmesMAYTH03S6wh3Co65dm6sWBcczAToDbd7VWopsskbeEyXbP/iUyxM Co27moudxCMmjW98PBmPoJmAls0d9zeKwIeTSE/V0Q5IsN/f1vNPN7iPfgETakaywFg9 m0jUS3kSgm7d+IrQ4nQYZCBG1RulIcPeU4pvOEKdZz6AdcYYkIBBSoiU9Lvue7M+of4p 2+cZXo0wNfSdZjPOHvG6MkcWJqWRmBj9nKtCgnc6xCqBIype1ilbTbY4k/F7xiZh48yr QMUoJnSRUWLoAMzh9bUTGMWEcj+pEM4QDwD+JQHxyg0kV2RXzsIx5AKdB8ODcFUo5Xva QHPw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=GCAW+rox0j1ub4Efjx1CZCPiM3TDRQF2gQmIqyr9tvk=; fh=vkZRRBZMXzWJHClRGYDGiQXeamtVHSVjytJ5pdlilTk=; b=HYShonRIFOTgP6OqbqHigVm0mBKMTXXmQtXEtJoXOVIq3PWhsBICCtgUJLGVX7E1Fs dQTXpm3IAwBTK4F5Ztt4xs6jdm0gNUED7dOc7yQIunKMKTwg6x3a985ip/rqMZlBBjV3 UosPrNSC+f3fppSREtbIm0Ru49xLIspBLsYyFE+Egr/fM/QBKOO1YN+6Zi5s7gH01Fbm JD1lzp0sKE1tIGoQGueYTRXdiEzBWY4PFoFpFdNPuc8NB2/xou+Yt6XVMVFpuS7dJkCn f2H8tuwK0SGt37u87Lrueq4vFMD+IyjzkXw1NDHvVhIjZeDDqz8RfCsx1+q3VcIWmG5D FbjA==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=dA1n+Kk6; spf=pass (google.com: domain of fm-1321639-20250124123605702484c00f0cc2f610-zsbu6c@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1321639-20250124123605702484c00f0cc2f610-ZSbU6c@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1737722169; x=1738326969; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=GCAW+rox0j1ub4Efjx1CZCPiM3TDRQF2gQmIqyr9tvk=; b=tWYUPhjfH7NjgjF+rPUKeAL6eGuDerz5NA7xzWsiZYwwR+CwpPHn/2miVEhVWW1DNH PC7M7uFbZ7MDM+pUwLyIxX+OUpI6ys91R6ZZKGTZVLJELbaA+bwKmsyA90Dx4INrAyT/ Ky1M4Y8EAMZsqPC1S3JzzGcfgW+rSOfBy4YjQJ2cTXF9ItYrVGtscykXvcOKxW3cirnq dTntigDMaYs/NmsZ3QTQR1aTrxeTWilzPTuaE/l8ue7zhYl9/AGHnEtKkCuUNp+8r9cH c8SDrsLOqN19cpoUIikt22PYs/ugb7WtIp1DXCYRLaq+NEdJN5XmN4YV+gzI2K1yX606 rTNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737722169; x=1738326969; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:x-beenthere:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=GCAW+rox0j1ub4Efjx1CZCPiM3TDRQF2gQmIqyr9tvk=; b=G0ml2+d0O4v1vW3kny3LVTjX+qGkaEze4K9Gu+TdXDe2n4FH5n8+P4JE8O+bKscN9E dKHaDjCtbW4LE5C3Ar2aw71z7j2U8MnkOKOFCwwhIzPzhGl4OhTin3NfcHzrx+o+xUVJ 5lNxGEf+eKRf4N9QKX08cwlI6+2boOMVoeC+f8T7OYZ8fxmCaUSuW1Ccfj7y7/rKo4GD 26tbNRc/nqJYBE2RRUl0fe/KzKETRtxXni+Sib3dMx440AfJgpmUsFCE2891J0VTB9mf FwbZwksSB12AN8SdcXRjX4fXgGqv65a7Ztk++N9Z0IjS/+1MTN14rGY/0wcNlqGuAEdz xe/w== X-Forwarded-Encrypted: i=2; AJvYcCXmRZj0cLcwGVSd/GT/SznRlTHRiHdRn6lvnVWxdpZk1SvXXNKxNs6YENvtNp6p8cKKjkYDTmA=@isar-build.org X-Gm-Message-State: AOJu0Yw3FxRa1OQmjj5unJt1lVSSb6/Mw9zJDNtiKNguNAl/b07zmkQ8 0si4DTXYXHMBeN2uuPdIVAeopoVNfi3Xa5/dBEDCGj+IbxKe5UTN X-Google-Smtp-Source: AGHT+IFElDs6Bs51+KUHytEb0P9HAYRfovaMBoGd8DbfrvCQeM+DcSb436ZLEWU3bJTvAxwfh4hCLA== X-Received: by 2002:a05:600c:b87:b0:431:12a8:7f1a with SMTP id 5b1f17b1804b1-438913de56dmr297764735e9.16.1737722168126; Fri, 24 Jan 2025 04:36:08 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:600c:21d0:b0:434:92f9:ac7 with SMTP id 5b1f17b1804b1-438b879d988ls683935e9.1.-pod-prod-07-eu; Fri, 24 Jan 2025 04:36:05 -0800 (PST) X-Received: by 2002:a05:600c:1c16:b0:435:32e:8270 with SMTP id 5b1f17b1804b1-438913de562mr290550075e9.14.1737722165580; Fri, 24 Jan 2025 04:36:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1737722165; cv=none; d=google.com; s=arc-20240605; b=YH5DQKr2tdHKWvBDPp6oh+BgYdq5cIX1Cu/SYoXmgPgelBsiD5am7OLysqGWGW+9ut oREwuujLBef80MwbqmsZayQZ9Vrahz8zBYAVN4M5Z/Zy2kzzNdHsdaKsfTfs40YF3Fhb rExUkmEwwVZGVds5KZSxmcopa3pRN67uKpuHrY/5COPaTd8nR854zVhntfRhwIvGx/D/ C9ZmOPIF9mvhRaa+oNMBJh7+BoBfyrN+kJrS6YRJwtQi+SL5BAy4Cr6PiuXf5eh3zM61 JY4Zukmk+KHF5BJtPpARteMIWevnoPlO+Wo2cNFd8Pao0Q9sT8DLIVK2gCatmHkzOgOa o0ig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=OvOe8g0rk/IiQMXL6ZIKVX7Ig1onjZ9X7sakzx7BleM=; fh=Bo8ZbdhPy/JbmTSxHxcgeG9JPAXIanSEMBVfErZw+70=; b=EsQYo1AakTGNz0im+RIneeAXFhXiaEuxLvp928soJ/LDxnah652Hs+GjFSuOGG+gd7 BasKSkPlLNRawH9r7INJO+NcqRc65ItwG+U/aXrX9pW/EYPdAOZ+bJw7oA2iXs5L5axC 2nz/KGaaywsbBFPNoX23DiO+dIbMYF+1E99zyicoOkiqcpSuGdYVicbodE8+D4xMI8A2 cAGExaNzR1+fjuQGvBsGAfjVu0qSEQmBJsOQnbUal09glYD7G+rLED06p9rLobgl6WYu M7tMDIr5hwVIascrbQZSkPzWcplBF1xAsDu7/8t/hcQ1yKXW794fNj80se6usN9SOIK/ bzoA==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=dA1n+Kk6; spf=pass (google.com: domain of fm-1321639-20250124123605702484c00f0cc2f610-zsbu6c@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1321639-20250124123605702484c00f0cc2f610-ZSbU6c@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-227.siemens.flowmailer.net (mta-64-227.siemens.flowmailer.net. [185.136.64.227]) by gmr-mx.google.com with ESMTPS id 5b1f17b1804b1-438b171e65asi4743875e9.0.2025.01.24.04.36.05 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 24 Jan 2025 04:36:05 -0800 (PST) Received-SPF: pass (google.com: domain of fm-1321639-20250124123605702484c00f0cc2f610-zsbu6c@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) client-ip=185.136.64.227; Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 20250124123605702484c00f0cc2f610 for ; Fri, 24 Jan 2025 13:36:05 +0100 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: Felix Moessbauer To: isar-users@googlegroups.com Cc: clara.kowalsky@siemens.com, florian.bezdeka@siemens.com, jan.kiszka@siemens.com, Felix Moessbauer Subject: [PATCH v3 4/7] add qemuamd64-iso target for hybrid iso9660 image Date: Fri, 24 Jan 2025 13:35:42 +0100 Message-Id: <20250124123545.3500274-5-felix.moessbauer@siemens.com> In-Reply-To: <20250124123545.3500274-1-felix.moessbauer@siemens.com> References: <20250124123545.3500274-1-felix.moessbauer@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1321639:519-21489:flowmailer X-Original-Sender: felix.moessbauer@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=dA1n+Kk6; spf=pass (google.com: domain of fm-1321639-20250124123605702484c00f0cc2f610-zsbu6c@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1321639-20250124123605702484c00f0cc2f610-ZSbU6c@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Felix Moessbauer Reply-To: Felix Moessbauer Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,RCVD_IN_RP_CERTIFIED, RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= Signed-off-by: Felix Moessbauer --- meta-isar/conf/machine/qemuamd64-iso.conf | 19 +++++++++++++++++++ meta-isar/conf/mc.conf | 1 + .../multiconfig/qemuamd64-iso-bookworm.conf | 4 ++++ .../lib/wic/canned-wks/isohybrid-efi.wks.in | 2 ++ 4 files changed, 26 insertions(+) create mode 100644 meta-isar/conf/machine/qemuamd64-iso.conf create mode 100644 meta-isar/conf/multiconfig/qemuamd64-iso-bookworm.conf create mode 100644 meta-isar/scripts/lib/wic/canned-wks/isohybrid-efi.wks.in diff --git a/meta-isar/conf/machine/qemuamd64-iso.conf b/meta-isar/conf/machine/qemuamd64-iso.conf new file mode 100644 index 00000000..eef5d7ec --- /dev/null +++ b/meta-isar/conf/machine/qemuamd64-iso.conf @@ -0,0 +1,19 @@ +# This software is a part of ISAR. +# Copyright (C) 2025 Siemens AG + +WKS_FILE ?= "isohybrid-efi.wks.in" +IMAGER_INSTALL:wic += " \ + ${SYSLINUX_BOOTLOADER_INSTALL} \ + syslinux-utils \ + isolinux \ + xorriso \ +" + +IMAGE_PREINSTALL += "live-boot" +IMAGE_INSTALL:remove = "expand-on-first-boot" +IMAGE_TYPEDEP:wic += "squashfs" +SQUASHFS_EXCLUDE_DIRS = "boot" + +QEMU_DISK_ARGS ?= "-cdrom ##ROOTFS_IMAGE## -bios /usr/share/ovmf/OVMF.fd" + +require conf/machine/qemuamd64.conf diff --git a/meta-isar/conf/mc.conf b/meta-isar/conf/mc.conf index 2a7b69f3..7c190b67 100644 --- a/meta-isar/conf/mc.conf +++ b/meta-isar/conf/mc.conf @@ -22,6 +22,7 @@ BBMULTICONFIG = " \ qemuamd64-sb-bullseye \ qemuamd64-bookworm \ qemuamd64-cip-bookworm \ + qemuamd64-iso-bookworm \ qemuamd64-trixie \ container-amd64-buster \ container-amd64-bullseye \ diff --git a/meta-isar/conf/multiconfig/qemuamd64-iso-bookworm.conf b/meta-isar/conf/multiconfig/qemuamd64-iso-bookworm.conf new file mode 100644 index 00000000..a2597131 --- /dev/null +++ b/meta-isar/conf/multiconfig/qemuamd64-iso-bookworm.conf @@ -0,0 +1,4 @@ +# This software is a part of ISAR. + +MACHINE ?= "qemuamd64-iso" +DISTRO ?= "debian-bookworm" diff --git a/meta-isar/scripts/lib/wic/canned-wks/isohybrid-efi.wks.in b/meta-isar/scripts/lib/wic/canned-wks/isohybrid-efi.wks.in new file mode 100644 index 00000000..514f756c --- /dev/null +++ b/meta-isar/scripts/lib/wic/canned-wks/isohybrid-efi.wks.in @@ -0,0 +1,2 @@ +part /boot --source isoimage-isohybrid-isar --sourceparams="loader=grub-efi,payload=${DEPLOY_DIR_IMAGE}/${IMAGE_FULLNAME}.squashfs" --ondisk cd --label LIVECD +bootloader --timeout=10 --append "console=ttyS0,115200 console=tty0 boot=live toram=${IMAGE_FULLNAME}.squashfs" From patchwork Fri Jan 24 12:35:43 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Felix Moessbauer X-Patchwork-Id: 4039 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 24 Jan 2025 13:36:14 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f63.google.com (mail-wm1-f63.google.com [209.85.128.63]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 50OCaEc5013598 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 24 Jan 2025 13:36:14 +0100 Received: by mail-wm1-f63.google.com with SMTP id 5b1f17b1804b1-4362153dcd6sf9986925e9.2 for ; Fri, 24 Jan 2025 04:36:14 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1737722169; cv=pass; d=google.com; s=arc-20240605; b=cy1SH5VFFr6si0wGncyQ3ZHoOtYYPmAtDgJemrw99AFT6KQWPJNTi2Fo1/+0b6/GT4 XX8vAOvdsy1IxkTsXQxdsIjKw71YsJ5VbIHhVAs+vu9PyeZ10oKbRbPjqiN92Jac3jcl igL9N0WGU+v81ZOj4uKxwuuXq6zM6gJIojhAcANIYyE/o5LDWY7rrBZArSgE6tZmVkC8 QIreMYEfhOldLT0OWc9emUUXY5lWWCASP7CISUy/wmTXGCcQyjrmz5tiEnEEdIakPv1H TtbNu1FD1dIvX5WtKcbDjVjSzrNlWUV8WqEBF+YQbh/2iJGqyYczAYKSKI8MKP9sNcsq gI8w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=nFe7FlPYLYwXLbSPax9Fbh8rBkuoeM7waQzCd29K4KI=; fh=5GLIaZnt2DfkK1hjLlpuxdEgRuYWQfERa3pzeKO/61A=; b=hhCEzfMXvuogOrOIWIOAyMFJZHRQph/YBGizjdNpBE8hSlHbEZ+Nh9Sodc3q2QwDl5 GA2UA+cQDnNh/Ahe7jQSXzYYPZmD+TQCd1yc+ldpY2VpvG+CtbLdH0FgNAWO8ZE1re58 txgRyFakiSf+IUOv0M/Jo2iAuNWOdPI9JPloOZ3SXKwnaYCqmT47rt0SLG+scSQ2XFBm R/HvP4uubRwjHgBXjrc9yCEwSKDNOQQRGr0VUtA29NBA0yxaZIj2UZLUXswdhaVKWjxW crf2k0DRLNNUcZPZvn/jnhqA2pLaGO7FlGW05WrAhNdUX7dS8C05v7jK4DZvVVttXYbg 3vZA==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b="Ta6eu/uk"; spf=pass (google.com: domain of fm-1321639-20250124123605695732179ba84e813c-npmvy7@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1321639-20250124123605695732179ba84e813c-NpMVy7@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1737722169; x=1738326969; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=nFe7FlPYLYwXLbSPax9Fbh8rBkuoeM7waQzCd29K4KI=; b=pfDLgRjk4KBhcc0hI/O4Wjj31XYcHl2WKipEQn7fa+0JUrEL1E0NIIaOKMySPFG/g2 TLB+wuwN7e+dQJdlYF7ZvVYLdJSNBZoxxHevB3ecrDvlKFX+6BjvJy17LV5RrNXJQYFu wpMaoUGoU/vVdMxeI0IdFOPpZNN1cH495SHE6LT/DL0r6kTchtK14ils81r61krRbwDq gz32HuPWKL0b8XrwXAlQ2VKJPCkkCSV1VVWrNCRJS6Jzu1TPXvOk13FapkCkogdZcYZG ZUmiOzu4EQ1Paz4+FRvlHJ7fIadJtMmIK+RZx3h90JK1xEsk6JW4d1iYpxTpJXCEEeum YGUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737722169; x=1738326969; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:x-beenthere:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=nFe7FlPYLYwXLbSPax9Fbh8rBkuoeM7waQzCd29K4KI=; b=d4VEfD0YFq4WbQFboDMOy8CawiByWOcosUBqDwDNb8QLNaFx3Au7m4uJljKOXMAarZ EAzk0+J2Np63QQRKDY4xmKGhXHkcr0xL8IpnnauDreaymxhFv4cUUjdUEcrFEL0u1UwG ETLHFGfehsfFejRlK4jXZbU453Tnrh6c0ilJyAHTckO4xgZcj72jKMicCT3zaEQ/ZEkh WBctwzrcF3LE4qvVVALhqGUzby2wCLWimibQ13Ej1g1Yrifo1Aq8DuQqjX4EUHOfMuCn mO9m3m5IrwpXvbcLa4ejrz5A15Sknn4UQEac2bivKWKj9AMJKiVuSWe10BddMNAOkMHv 5VRQ== X-Forwarded-Encrypted: i=2; AJvYcCUAoKv3qTfyYdU0KRQMetHlzRKOILmieDfveWh/DOlBBr2bjWOQfP+Vzz5Yty2HMZjHAMqAAyQ=@isar-build.org X-Gm-Message-State: AOJu0Ywi0fNpmMpwReWRKsS2DILjroasSQHLaEY8i8vYqkRvG8sIw7Us mKCW1DNEhEXxyK/CjtvVidkwncA43ZbN2Vjuzs3RcrBLOgHGuZja X-Google-Smtp-Source: AGHT+IFvsmvWxo6j0hTSbcKnUbzQ4QYGmZmTbXYBRscb0guLcNeI+rPnEodv15TLHW2v1C7XImbShA== X-Received: by 2002:a05:600c:1f86:b0:436:faeb:2a1b with SMTP id 5b1f17b1804b1-438913db2cfmr265736355e9.13.1737722168315; Fri, 24 Jan 2025 04:36:08 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:600c:1ca3:b0:42c:b037:5fba with SMTP id 5b1f17b1804b1-438b87b4bc0ls12077915e9.2.-pod-prod-06-eu; Fri, 24 Jan 2025 04:36:06 -0800 (PST) X-Received: by 2002:a05:600c:3b02:b0:431:54d9:da57 with SMTP id 5b1f17b1804b1-4389144d5a1mr302794245e9.30.1737722165814; Fri, 24 Jan 2025 04:36:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1737722165; cv=none; d=google.com; s=arc-20240605; b=OhRPYSHmEy6WrRTQaW+EXsarfL2j0Js8v4czF0/lXuK7fpqqO9JrnsXn2wcC+pIyJf F3DNGQUpqSl6Q/C3GK0g17QQKhmup5dPceW4C3Bzo/Nm95bgL0b2j7utlJy/H14zznJn MnK7nFeWmQH3CG2ZrA7fdqsI39KF+cJe+joyldAMCGKVoQkVU1hgtN4GRlG6jt9jifDI Vn/pRXZ6BOFUsYyCUjbRD7EKoUxTUmewHWvoGE3PhbLoPRpNcvXrtrlGwJygtfFJL9ca +AzUE5dPJ0+MMg/TPE4t3daWHBdN7OZTKjwcrMS95+HjKNmMl70Hu58PlXW/G9LnuRhs /hqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=pSuJ5GSrGex5MLJu/QxL+Xu6VeA7d9XqGIoAD0OBWZ4=; fh=Bo8ZbdhPy/JbmTSxHxcgeG9JPAXIanSEMBVfErZw+70=; b=fhvi38wZx8dbwKsQ7Wut0AwABxg/pSqAun5ESNi1M4me60yDNmy5QfU91BI7cD7MwF 2qAxzdrK5ewvhSjC0YsKA/+3mPPINdZFdZN7uzcQfVGpzBaFKC3IJZ/NvITJYM94pPS3 kxqBvTcF+Z1sHTuSFsv6wWo4baOZI8oxaW89De5LH4czpAPhgqkdMxoIouzOUByebzTl B0KkHM0fDfP4ef7Z1IXmaZOnen6VhhQXZIARTllHKxX2uoFVHJJPYt5ovejeL66LioDM G6bVbjKN7sgu+iTUP73VtiLSG+HO2sSzYZUfcezkvZdY2HsrcT0A/J/iDGuvff2XLk0v WLbw==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b="Ta6eu/uk"; spf=pass (google.com: domain of fm-1321639-20250124123605695732179ba84e813c-npmvy7@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1321639-20250124123605695732179ba84e813c-NpMVy7@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-227.siemens.flowmailer.net (mta-64-227.siemens.flowmailer.net. [185.136.64.227]) by gmr-mx.google.com with ESMTPS id 5b1f17b1804b1-438b171e65asi4743875e9.0.2025.01.24.04.36.05 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 24 Jan 2025 04:36:05 -0800 (PST) Received-SPF: pass (google.com: domain of fm-1321639-20250124123605695732179ba84e813c-npmvy7@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) client-ip=185.136.64.227; Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 20250124123605695732179ba84e813c for ; Fri, 24 Jan 2025 13:36:05 +0100 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: Felix Moessbauer To: isar-users@googlegroups.com Cc: clara.kowalsky@siemens.com, florian.bezdeka@siemens.com, jan.kiszka@siemens.com, Felix Moessbauer Subject: [PATCH v3 5/7] add kas menu target for qemuamd64-iso machine Date: Fri, 24 Jan 2025 13:35:43 +0100 Message-Id: <20250124123545.3500274-6-felix.moessbauer@siemens.com> In-Reply-To: <20250124123545.3500274-1-felix.moessbauer@siemens.com> References: <20250124123545.3500274-1-felix.moessbauer@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1321639:519-21489:flowmailer X-Original-Sender: felix.moessbauer@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b="Ta6eu/uk"; spf=pass (google.com: domain of fm-1321639-20250124123605695732179ba84e813c-npmvy7@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1321639-20250124123605695732179ba84e813c-NpMVy7@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Felix Moessbauer Reply-To: Felix Moessbauer Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,RCVD_IN_RP_CERTIFIED, RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= As this target is incompatible with container runtimes (rootfs uses an overlay), we also disable the prepbuilt image examples for docker and podman. Signed-off-by: Felix Moessbauer --- kas/machine/Kconfig | 7 +++++++ kas/machine/qemuamd64-iso.yaml | 7 +++++++ kas/package/Kconfig | 3 +++ 3 files changed, 17 insertions(+) create mode 100644 kas/machine/qemuamd64-iso.yaml diff --git a/kas/machine/Kconfig b/kas/machine/Kconfig index 1740bd56..8c334a8f 100644 --- a/kas/machine/Kconfig +++ b/kas/machine/Kconfig @@ -107,6 +107,12 @@ config MACHINE_QEMU_AMD64_SB select CODENAME_BULLSEYE select ARCH_AMD64 +config MACHINE_QEMU_AMD64_ISO + bool "qemuamd64-iso" + select DISTRO_DEBIAN + select CODENAME_BOOKWORM + select ARCH_AMD64 + config MACHINE_QEMU_AMD64 bool "qemuamd64" select DISTRO_DEBIAN @@ -252,6 +258,7 @@ config KAS_INCLUDE_MACHINE default "kas/machine/phyboard-mira.yaml" if MACHINE_PHYBOARD_MIRA default "kas/machine/qemuamd64-cip.yaml" if MACHINE_QEMU_AMD64_CIP default "kas/machine/qemuamd64-sb.yaml" if MACHINE_QEMU_AMD64_SB + default "kas/machine/qemuamd64-iso.yaml" if MACHINE_QEMU_AMD64_ISO default "kas/machine/qemuamd64.yaml" if MACHINE_QEMU_AMD64 default "kas/machine/qemuarm.yaml" if MACHINE_QEMU_ARM default "kas/machine/qemuarm64.yaml" if MACHINE_QEMU_ARM64 diff --git a/kas/machine/qemuamd64-iso.yaml b/kas/machine/qemuamd64-iso.yaml new file mode 100644 index 00000000..f58a1217 --- /dev/null +++ b/kas/machine/qemuamd64-iso.yaml @@ -0,0 +1,7 @@ +# This software is a part of ISAR. +# Copyright (C) 2025 Siemens AG + +header: + version: 14 + +machine: qemuamd64-iso diff --git a/kas/package/Kconfig b/kas/package/Kconfig index bea2b121..a49041e8 100644 --- a/kas/package/Kconfig +++ b/kas/package/Kconfig @@ -61,6 +61,7 @@ config KAS_INCLUDE_PACKAGE_EXAMPLE_PREBUILT config PACKAGE_EXPAND_ON_FIRST_BOOT bool "expand-on-first-boot" default y + depends on !MACHINE_QEMU_AMD64_ISO config KAS_INCLUDE_PACKAGE_EXPAND_ON_FIRST_BOOT string @@ -151,6 +152,7 @@ config PACKAGE_PREBUILT_DOCKER_IMG bool "prebuilt-docker-img" default y depends on ARCH_AMD64 || ARCH_ARM64 || ARCH_ARM + depends on !MACHINE_QEMU_AMD64_ISO config KAS_INCLUDE_PACKAGE_PREBUILT_DOCKER_IMG string @@ -162,6 +164,7 @@ config PACKAGE_PREBUILT_PODMAN_IMG default y depends on DEBIAN_BULLSEYE || DEBIAN_BOOKWORM || DEBIAN_TRIXIE || UBUNTU_JAMMY || UBUNTU_NOBLE depends on ARCH_AMD64 || ARCH_ARM64 || ARCH_ARM + depends on !MACHINE_QEMU_AMD64_ISO config KAS_INCLUDE_PACKAGE_PREBUILT_PODMAN_IMG string From patchwork Fri Jan 24 12:35:44 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Felix Moessbauer X-Patchwork-Id: 4041 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 24 Jan 2025 13:36:19 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f57.google.com (mail-wm1-f57.google.com [209.85.128.57]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 50OCaJxx013824 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 24 Jan 2025 13:36:19 +0100 Received: by mail-wm1-f57.google.com with SMTP id 5b1f17b1804b1-43621907030sf14842245e9.1 for ; Fri, 24 Jan 2025 04:36:19 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1737722174; cv=pass; d=google.com; s=arc-20240605; b=BIhU8A4SuUnWmtQSu0HrvS8ZnQPVmddIvSk2xxUK76e3LKRwwiLfpA+Xyq1WVS3kTZ JSFDhRtNNl4HckrUp8Cc8z+8e3JnIWE42IYwn4GuVX2RaMok9xoex9BUX6HvzyKt6HLP sQeBGRiW3euKHtHbyR5kixsbteBd76fO8Jbm+FTKS+ky+9T1JPM93KXOHQBqDWpb0RBu BkuY4a87SzIQmJ0opqvEv6/XgSP4CczgrknrcVIkom0CSKzCUnjmKPeAanDsbIjK3y2+ TrQRHopjumg1t4yH+Q1S//2WNAPsdDlh9eTv7q7r96IZtUjpoIlpF7w43Kqrw6UWazyS IEkg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=uFl4bAg73f2C2pOujJZCCV/WaB1kd140URo6GLZ7Ltg=; fh=8I8L7jIAHbOsR4aW4p/bSrfYjKxOM5ux8eS4wN3NbJk=; b=GAhBJ/3rT2mrUhw7+YI+2mgGsjz9EvTzwNAjTWWidKnd38yI5WwlfC7m8CLkaI8pwf 22oKJFwquo2FwQeaka9LALEvQx9/KTvgK4LntLRpKWhM8n98tlUwyJOLk6QI1SkZ2Kfp lo0qF5PhdMKk+pXcmPkdv+FYG+kEgj1dpIpeLf9zfhkvobrmWPTjD+k9EU85oeni7RT8 2q+2XY5Hx9pPd+p9gB8tFfdouRYVJ1/QdiZbF3QiBsIMFhn8t/Z44T8xIjPUCEc8G0q3 yJO+y15az1Tip2BkIwGYnke7Q6b2W3a1hThKwQLiiGd+GJt0u8Rc7vijdZdB5p4njP7S MuRA==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=Fa8umumY; spf=pass (google.com: domain of fm-1321639-20250124123610c2b124e0fdd2bb597f-vci8cw@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-1321639-20250124123610c2b124e0fdd2bb597f-vCI8CW@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1737722174; x=1738326974; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=uFl4bAg73f2C2pOujJZCCV/WaB1kd140URo6GLZ7Ltg=; b=so3/s+SblajpLSfOxIPsC2E8xanvT15+IEt5uqo2ttOOgH1S6hR24kk2GhRROsNWf2 7BSvsKuCxV8vXuRxWfndc2Joqz+BWrwp7ySGuokOevoXHgLTwJO2dEaUrSnefyJwEMIp CjxjADq+PubekN12ugNf2pN8xNoIvdBmfg1nDIzzyyHBxmN6MMC2xPyDpIuWsqmKdBlV iUfFdD+41UyqfkZcgYkvnHFH5K9+7nlQZKiukNHrkRjb96TSM9Svr5pSaNUo8zNeF6B/ 548UKfpgxQaGMWKAfnp9sfsFFBdJi5ZmKTJ3JpdOR1zyiypWfqF8hlKUdIsJhRtaOXTc 2hkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737722174; x=1738326974; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:x-beenthere:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=uFl4bAg73f2C2pOujJZCCV/WaB1kd140URo6GLZ7Ltg=; b=nzm/8GZvuRHVNQy0ps5/MCv2fgMzOiIdqmjzG1u5Nk8JFFtqPresLJ2SfbTf5cGmqq tP0WK9ffCIC4AxpHYFqhrQBYR+bSGsIvFlIyYlYM0i3eg+YdQIhXci6hInnalvXwNw7Q w5AKvoRI33O+CUCiQGC368M6WI4bU9nd/XNbVlizHVDCM9X0ihmRL8LIZVex/iXr2jil MQkevKd2VSp3D6YzdpOxaQZiqbtgxo1e0aECcWAMnNuOdI3UhJM4F3/xKM9T2hNdKxyl mSwxE448AiMmiLJZALgyhYza1Cov3PmZiTONLMZ0CQfCZbIzbEHBaNdKPmL0wdM83LrG /1Kw== X-Forwarded-Encrypted: i=2; AJvYcCXqC89cCZ3NXLHjNr1ZtazA1nLog9e+jqtrioWELL1L7LWgBzLFbkCpo0jdlY/Xgfn2oFleWWs=@isar-build.org X-Gm-Message-State: AOJu0Yxf9QSUP3PRBf1iV6SjTETA+maf4r90LcuKFtT2vHVOQK76Ad35 UTyJgPY2zRxMYgIm8FJ1OZpt4KIT0LY+bEUuWJu0j7SGfGo0aJV7 X-Google-Smtp-Source: AGHT+IEVF0Y673KhWF6TZb6KugdebiSNB+4C7pCqrB/dSt9sAGZvHiIq/eFSta9duOHItQ1+2m/VSg== X-Received: by 2002:a05:600c:348c:b0:434:a04d:1670 with SMTP id 5b1f17b1804b1-438912d7c1bmr314797515e9.0.1737722172943; Fri, 24 Jan 2025 04:36:12 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:600c:604c:b0:436:1e5a:fae0 with SMTP id 5b1f17b1804b1-438b87bce4els10869795e9.1.-pod-prod-05-eu; Fri, 24 Jan 2025 04:36:11 -0800 (PST) X-Received: by 2002:a05:600c:3495:b0:431:5c3d:1700 with SMTP id 5b1f17b1804b1-4389143b450mr243007045e9.21.1737722170621; Fri, 24 Jan 2025 04:36:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1737722170; cv=none; d=google.com; s=arc-20240605; b=IHR12iCDVZHhVXq2A5pLxMwAmPsmofxCG053dxGvmq/n4KAbPF6vcoGjNi5cNT9aYw IY3Tf0KjC5lRweTCLtm10DdLqz5PwXk0TM45DK2xvI8okqXu5D3NMXL4UGEbcs573BLs 7gfSRzXO1RYqMHEfztTGTYgz35TgwiP8fXKJHhGR+Bq5X0/NYhewmLjNBwUtXzf94znG jqTW38WoU76RsnLhUGiqLO/llYPrBDiOSKcpyudOc/X362W++fqIsVEs7ZGnmtOnS9O1 sYetlXdYUBTKNI6ugfIdon/kUqlAuU4rgq4o4ybEQOVFqfr4i1Aw3nLbbuVpnz7bowC1 +uIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=ZjIZrYbL4HLdAvY1glpSc1eBEOiCvIdNNJP/ryYnmVE=; fh=Bo8ZbdhPy/JbmTSxHxcgeG9JPAXIanSEMBVfErZw+70=; b=KRNnJh6Tb7nMp/6YVX9XV67nngIxlQYabw+AXlCQxn20azUA9F0LgtTumh7uxL9MVy 7csJ8vZIFLbNoLaNDJn4Mf3uWqUyVxK9RNhiMPIV5V7TDddRwA56IXP0P1q1/0D7L0vm u4agjE+M0AyNphyNhIm5BOZp4sA955MsMxRJn32eciwlcvSL8ix81/C32qZKaBuDEzjE NbqzlhWwyTZVcgx6mS+6ZXXO/5LzJ63e8BqcFMGXXFz/umr+PGwz+LuOsW/7bQ6+mmBZ KdZP+OBuA/7gplqGSl4thVRNYs7THerJrCScxryGpfbsqGnBPDDStEwOQqsPlh5bP7N1 2gRg==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=Fa8umumY; spf=pass (google.com: domain of fm-1321639-20250124123610c2b124e0fdd2bb597f-vci8cw@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-1321639-20250124123610c2b124e0fdd2bb597f-vCI8CW@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-65-226.siemens.flowmailer.net (mta-65-226.siemens.flowmailer.net. [185.136.65.226]) by gmr-mx.google.com with ESMTPS id 5b1f17b1804b1-438b171e65asi4743985e9.0.2025.01.24.04.36.10 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 24 Jan 2025 04:36:10 -0800 (PST) Received-SPF: pass (google.com: domain of fm-1321639-20250124123610c2b124e0fdd2bb597f-vci8cw@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) client-ip=185.136.65.226; Received: by mta-65-226.siemens.flowmailer.net with ESMTPSA id 20250124123610c2b124e0fdd2bb597f for ; Fri, 24 Jan 2025 13:36:10 +0100 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: Felix Moessbauer To: isar-users@googlegroups.com Cc: clara.kowalsky@siemens.com, florian.bezdeka@siemens.com, jan.kiszka@siemens.com, Felix Moessbauer Subject: [PATCH v3 6/7] testsuite: add qemuamd64-iso machine to start_vm script Date: Fri, 24 Jan 2025 13:35:44 +0100 Message-Id: <20250124123545.3500274-7-felix.moessbauer@siemens.com> In-Reply-To: <20250124123545.3500274-1-felix.moessbauer@siemens.com> References: <20250124123545.3500274-1-felix.moessbauer@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1321639:519-21489:flowmailer X-Original-Sender: felix.moessbauer@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=Fa8umumY; spf=pass (google.com: domain of fm-1321639-20250124123610c2b124e0fdd2bb597f-vci8cw@rts-flowmailer.siemens.com designates 185.136.65.226 as permitted sender) smtp.mailfrom=fm-1321639-20250124123610c2b124e0fdd2bb597f-vCI8CW@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Felix Moessbauer Reply-To: Felix Moessbauer Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,RCVD_IN_RP_CERTIFIED, RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= Signed-off-by: Felix Moessbauer --- testsuite/start_vm.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testsuite/start_vm.py b/testsuite/start_vm.py index 76814ee3..d3621ec3 100755 --- a/testsuite/start_vm.py +++ b/testsuite/start_vm.py @@ -148,7 +148,7 @@ def start_qemu(arch, build, distro, image, out, pid, enforce_pcbios): def parse_args(): parser = argparse.ArgumentParser() - arch_names = ['arm', 'arm64', 'amd64', 'amd64-sb', 'amd64-cip', 'i386', 'mipsel'] + arch_names = ['arm', 'arm64', 'amd64', 'amd64-sb', 'amd64-cip', 'amd64-iso', 'i386', 'mipsel'] distro_names = [ 'buster', 'bullseye', From patchwork Fri Jan 24 12:35:45 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Felix Moessbauer X-Patchwork-Id: 4042 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 24 Jan 2025 13:36:20 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-lf1-f61.google.com (mail-lf1-f61.google.com [209.85.167.61]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 50OCaJPI013892 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 24 Jan 2025 13:36:20 +0100 Received: by mail-lf1-f61.google.com with SMTP id 2adb3069b0e04-5401f43232csf1007363e87.1 for ; Fri, 24 Jan 2025 04:36:20 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1737722174; cv=pass; d=google.com; s=arc-20240605; b=WsZaLcVJxdsG9x8dtQsLesuVTyGv96rNP58DtC6FtudG+AQ2sXNau630HGn+T+jBBN 0VJeOFQF/DdBK2+gXdXQkrhc3cjksOwA68K4GEBns+yi+HfaqovbjIR4dgN7NkaLS6UC XdNwAno5X5AZQPa4DKnppxPztYm8GQRcx6FgJLEg/IHf3mYOETszn0SntOWiRI0sohlk uojsTTX+8LtDSE/5JAQx3b921tZOX+MsvXFmymldHtj/vgP4KXjGXNRPlEngpYMnqS9m ddxbM52XOnptBYZOpB0LQoXo8PHkav/cD3OR6SlNhHuEo/iqATQBn1YogyLGKZ4G4rux uqZA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=y6picebmrAzOiTPf50Ibp5krUMwEkRZQ6ZrNxxxNdvw=; fh=cMTmDarmyoNnmXBhYd9u40kLKTlKXIdu65F/t/KAljc=; b=VOLm0Zmg4c86Vs/6cwGWsRfSla2SvC5zIA5P97bQ6KiiyQK8F2ycHvY2333+FZdHDn nd/sEsaCpSdgR55//2XZAHP3nrZQgAneH0WRENK2LtWGarjY23JceBELJexhyOgifuGY A0sc6IegtJGtFISijxpbtwXGsaGiOJSF5DgHJvHdSUUDQCgV7GkORjwk3Z9opLcX2m0X nv/1axBX19VX2c33b/X9mSfGdk1tTk0e52vXBdA24aPd8wUAysTsibboZ2Qeqec42oRF EVKCv5MGI7iDgZ61cXyA/99XwhlDc3LoALTh395At3/C8bdt5N0F6UJuetrwjzh0Zhpw uuAg==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=Sj1vuAcu; spf=pass (google.com: domain of fm-1321639-20250124123610af6a622c3d4d7ddb85-kn3fks@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1321639-20250124123610af6a622c3d4d7ddb85-Kn3fkS@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1737722174; x=1738326974; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=y6picebmrAzOiTPf50Ibp5krUMwEkRZQ6ZrNxxxNdvw=; b=eb+Lj+HN6CjwoWNvk/J76MHsv5ANSI8lP0bNX99eTQLW83XjTmSmwA/MFTclMEbpXd NLkyL7X7boAOLCAT1gBMtqabc//lmgHcZDvQdBVAhFgRLdH04N0WzbEmQkoMvVGuVIBU 9iN9BWf0IbIQNW2I8cj8LhLIssHBwMD+rhV7P2+hl7H2C/tzSBO2WOI6tWPKYyB41pe/ OnzF+8TiI9ggv/nFUNrZG0SouQLLyWP72+8IOi5c3um/pTwGkuJOgOF81FBD37TShy3+ 81yG8ya2gNDtCeGz3ArYbXJrb+93sw15qm63URm3piXNysxAa/B9HXw1fTUiJxvz7VSj OQrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737722174; x=1738326974; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:x-beenthere:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=y6picebmrAzOiTPf50Ibp5krUMwEkRZQ6ZrNxxxNdvw=; b=oEAJebSoCoEekGRY2fKZFmmiQTatVePsnpA5ivs++6NQo9/gVfKK1balvP7u59z6u9 ojVhm7CtNP5UnrycKUXOWGT80z59AutNaTSdGQIuzwAMt3nDPEsKZLfQGsbpX5LFkYEG GuYBBS7QHWHxWNVAxuIhMuIea2s1JY6THrxFvbSthE1eDIQvJIhKOHjenqhFpf0K84oE SI0AqaFCpNXAtItSXdeyntcm+CNnP73BAsBNaBmW35l4KRyLaTXwvW4LtB5IrhOKredt naHw5733rmF0VjKQcTOHwei/Ll11Lek0v5KVu4rsLlp1sqjhhiZQlGJ6fRiajc65trMh z3sg== X-Forwarded-Encrypted: i=2; AJvYcCVDzV74Nm3d/nYdlixZPsyRPJnyDM5jHZTM//0TThE6nlKU3t5N4KVnI2wR381LpOazeOAgszY=@isar-build.org X-Gm-Message-State: AOJu0YwXUd59mBck5Brf0IScqsdVJ05C3+WgetaajHdBv0AAQRRor5y5 ZScSMMqKpKwg+Bjsie3WA/GUJrv/rSBXFqxhuEZetuNdA8nEptjw X-Google-Smtp-Source: AGHT+IG7vpFPCiXXBGkWx1dFXU4bwtkTzxaK36qB6ro7yxF1KlT9/Y52qw34e7uY3/tXLGlriFuPpA== X-Received: by 2002:ac2:4543:0:b0:542:29e5:731c with SMTP id 2adb3069b0e04-5439c21f202mr9262403e87.11.1737722173692; Fri, 24 Jan 2025 04:36:13 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6512:1042:b0:542:6f52:f91c with SMTP id 2adb3069b0e04-543c2484cf8ls46618e87.2.-pod-prod-03-eu; Fri, 24 Jan 2025 04:36:11 -0800 (PST) X-Received: by 2002:a05:6512:224a:b0:53e:395c:688d with SMTP id 2adb3069b0e04-5439c285391mr13680270e87.43.1737722171172; Fri, 24 Jan 2025 04:36:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1737722171; cv=none; d=google.com; s=arc-20240605; b=js9zfEyCDWspwRHva1SqXc6Gae6/6ozkd0GJwvY9+30sQDFz5vz+RgQA4+UpZDmBcc M8djxE62N0Df8rgQMtDaEVqMzBScVh/xDGJLlb3FuXjSc2TAC5vfTrcPeYDU3RAAXbpY r/RcGPFEICWEInm6gMWAI8iB/KSZvKEccWqC9oxOWiTBEuY0qUbvTn+Mtr2SJJJhXjc4 yIqNBWFDxuBl9U1+EHGSdI6eeTyNYkWKYlFHDUF52hMhyBbmaDcQFNaPRtKTrC50ysjx mKI6bCocuZiii4aWtOVVC+g6YenwxrJuUzuPfUL2OuEdhvCl5Hlp6pGxQWM13kaVj43/ /woQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=e285AT7MFwFc1uahb7Z3SjiDDa04TgwUkfBW1u9HYgU=; fh=gGgn6Pv6vzYFJt56QSzzdkayUnZoBHFgndzoR1yqlNc=; b=QhpmtPAXMZBLdLZzLYd8cMBP6xILdZG3Mjv4mkA4VPyyPZMmB+T/N5gU469fqB8Yyl 0C4PWMjlpHd68Ruxkxbb8LKcjA34sZ/wfeBZ5jIt0HIn+pYkwOw3+S0vAqEUR4peEs1s pUwrTPAWW1XGCStl5LOjkn98qWZ1T/Sxv85+32yd2da4bdvmnWKjELOGbTT+GmG86/4B nQmnqlgzWXRwdFp//u+Tl8nqJmlwo5XtbbThRNRnYUNBzTj3Q1+RzUmzSeSvvAOb0KK0 uoN6s6T0ig6XFJx8sJkde3VkjgTLFPevga4gY2WLIzefDIxwbFkdGmlDBM320IaOH9Lz dW/g==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=Sj1vuAcu; spf=pass (google.com: domain of fm-1321639-20250124123610af6a622c3d4d7ddb85-kn3fks@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1321639-20250124123610af6a622c3d4d7ddb85-Kn3fkS@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-225.siemens.flowmailer.net (mta-64-225.siemens.flowmailer.net. [185.136.64.225]) by gmr-mx.google.com with ESMTPS id 2adb3069b0e04-543c822a988si47356e87.4.2025.01.24.04.36.11 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 24 Jan 2025 04:36:11 -0800 (PST) Received-SPF: pass (google.com: domain of fm-1321639-20250124123610af6a622c3d4d7ddb85-kn3fks@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) client-ip=185.136.64.225; Received: by mta-64-225.siemens.flowmailer.net with ESMTPSA id 20250124123610af6a622c3d4d7ddb85 for ; Fri, 24 Jan 2025 13:36:10 +0100 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: Felix Moessbauer To: isar-users@googlegroups.com Cc: clara.kowalsky@siemens.com, florian.bezdeka@siemens.com, jan.kiszka@siemens.com, Felix Moessbauer , Uladzimir Bely Subject: [PATCH v3 7/7] testsuite: test mc:qemuamd64-iso-bookworm:isar-image-base Date: Fri, 24 Jan 2025 13:35:45 +0100 Message-Id: <20250124123545.3500274-8-felix.moessbauer@siemens.com> In-Reply-To: <20250124123545.3500274-1-felix.moessbauer@siemens.com> References: <20250124123545.3500274-1-felix.moessbauer@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1321639:519-21489:flowmailer X-Original-Sender: felix.moessbauer@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=Sj1vuAcu; spf=pass (google.com: domain of fm-1321639-20250124123610af6a622c3d4d7ddb85-kn3fks@rts-flowmailer.siemens.com designates 185.136.64.225 as permitted sender) smtp.mailfrom=fm-1321639-20250124123610af6a622c3d4d7ddb85-Kn3fkS@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Felix Moessbauer Reply-To: Felix Moessbauer Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,RCVD_IN_RP_CERTIFIED, RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= It also introduces `test_system_running.sh` that can be used in other run tests to check that all systemd services are started. Co-Developed-by: Uladzimir Bely Signed-off-by: Felix Moessbauer --- testsuite/citest.py | 12 ++++++++++++ testsuite/scripts/test_system_running.sh | 22 ++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100755 testsuite/scripts/test_system_running.sh diff --git a/testsuite/citest.py b/testsuite/citest.py index 82affb1a..ee965278 100755 --- a/testsuite/citest.py +++ b/testsuite/citest.py @@ -241,6 +241,7 @@ class NoCrossTest(CIBaseTest): 'mc:nanopi-neo-bookworm:isar-image-base', 'mc:qemuamd64-focal:isar-image-ci', 'mc:qemuamd64-bookworm:isar-image-ci', + 'mc:qemuamd64-iso-bookworm:isar-image-ci', 'mc:qemui386-bookworm:isar-image-base', 'mc:qemumipsel-bookworm:isar-image-ci', 'mc:hikey-bookworm:isar-image-base', @@ -656,3 +657,14 @@ class VmBootTestFull(CIBaseTest): self.init() self.vm_start('arm64', 'bookworm', image='isar-image-ci', script='test_prebuilt_containers.sh') + + def test_amd64_bookworm_iso(self): + self.init() + self.vm_start('amd64-iso', 'bookworm', image='isar-image-ci', + keep = True + ) + + def test_amd64_bookworm_iso_system_check(self): + self.init() + self.vm_start('amd64-iso', 'bookworm', image='isar-image-ci', + script='test_system_running.sh 30') diff --git a/testsuite/scripts/test_system_running.sh b/testsuite/scripts/test_system_running.sh new file mode 100755 index 00000000..e4a6dca2 --- /dev/null +++ b/testsuite/scripts/test_system_running.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +# Checks global status of all services + +set -e + +cnt=$1 + +ret=1 + +while [ 0${cnt} -gt 0 ]; do + if systemctl is-system-running; then + exit 0 + else + ret=$? + fi + + cnt=$((cnt - 1)) + sleep 1 +done + +exit $ret