From patchwork Fri Mar 12 09:58:39 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Silvano Cirujano Cuesta X-Patchwork-Id: 359 Return-Path: Delivered-To: ilbers.mnt@gmail.com Received: by 2002:a4a:c583:0:0:0:0:0 with SMTP id x3csp1562276oop; Fri, 12 Mar 2021 12:08:46 -0800 (PST) X-Received: by 2002:a7b:c442:: with SMTP id l2mr14773368wmi.34.1615579726819; Fri, 12 Mar 2021 12:08:46 -0800 (PST) ARC-Seal: i=3; a=rsa-sha256; t=1615579726; cv=pass; d=google.com; s=arc-20160816; b=E3WGPgyWNBE9Tb7a00YT2B/JtSvureaiqAd6+7MMyv4VrptFqrVWjoiO+Rtd81n1uz mrNIiUwZtcTMjkgGQepMEZ15gl4V70NfaN1vcVkqgFsi1f1RmHIZfAM8AGdVKFAW6dtv GlQAs8fKT6vS9bYXyOknCMhwNtlaAHZ7wiS37DcVGubmzXI8fw543tF/0htkKVinmUiD mkyaKJnccoL7aADqOPc5QMJ9LKu3jYzovglUDZf0GGJS/fc7H+0lF72RiMQGQ+7Pb5qp E+oSVwVp4BDXP9SG4stwwhyefpd/PExiT/RxlfnIzqUZ9IPlS/JGa1ilcT54kJzDC0gl 96cQ== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:to:from:sender:dkim-signature; bh=EOouo434ho+D5qzUN4v1qaR0+EynFAL17HSMcdjP+qM=; b=Dw3iDYWADEeIkughpK8D5z2NnkThaQDiMbNDu/gY9vqVwdnlwjo6awRqVbXWs3LxoW 6QDk/XbejMMAee8ye/jq+PiySyAWmcVOMalGBu3ujACBQ0hOyy5D5mp2vDGg45y4enj3 v6G2QVQf8PvkGe4GHgbD0OyJcAvpRr7iXs+O32aA6JLezHWqaJ2C1UmOtXi6qeEK1ZXM CRJj+vOl5608xdntCJLDeumXBCQt9vJOY8M8dm9uOYR5kycoPbuKTQ38R0ikLD6IQ84l euPJFlMHYqQ8/mqmObJfNia3U4xuoU5u46C8aKpyz4LBlMJ1VfgDGJmBMX0JqIgPyTWV yp3Q== ARC-Authentication-Results: i=3; mx.google.com; dkim=pass header.i=@googlegroups.com header.s=20161025 header.b=IT17uxpH; arc=pass (i=2 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of isar-users+bncbcd6jj6cqqfrbtuuv6bamgqerpfd2zi@googlegroups.com designates 209.85.220.55 as permitted sender) smtp.mailfrom=isar-users+bncBCD6JJ6CQQFRBTUUV6BAMGQERPFD2ZI@googlegroups.com; dmarc=fail (p=NONE sp=NONE dis=NONE arc=pass) header.from=siemens.com Received: from mail-sor-f55.google.com (mail-sor-f55.google.com. [209.85.220.55]) by mx.google.com with SMTPS id u12sor4054280wrb.32.2021.03.12.12.08.46 (Google Transport Security); Fri, 12 Mar 2021 12:08:46 -0800 (PST) Received-SPF: pass (google.com: domain of isar-users+bncbcd6jj6cqqfrbtuuv6bamgqerpfd2zi@googlegroups.com designates 209.85.220.55 as permitted sender) client-ip=209.85.220.55; Authentication-Results: mx.google.com; dkim=pass header.i=@googlegroups.com header.s=20161025 header.b=IT17uxpH; arc=pass (i=2 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of isar-users+bncbcd6jj6cqqfrbtuuv6bamgqerpfd2zi@googlegroups.com designates 209.85.220.55 as permitted sender) smtp.mailfrom=isar-users+bncBCD6JJ6CQQFRBTUUV6BAMGQERPFD2ZI@googlegroups.com; dmarc=fail (p=NONE sp=NONE dis=NONE arc=pass) header.from=siemens.com ARC-Seal: i=2; a=rsa-sha256; t=1615579726; cv=pass; d=google.com; s=arc-20160816; b=Bwh6sDMn2cHY6EEjwm8m1FgoRLvAxveHhXBZsoxNCyqxHI3N2ZKGM/ddnWl+KmkYQt krOvsUYFp4Yat73POOUC/yuUaWdJqHbVpEweW3fozllb9Vfgx+CAy0AZY/45GDT8r/Sr KnC+WsMGzt5/le87DOTDTNTASCzUrFJSRXCHV3lMKUT/jv2U7+YqSME31Hwqjc7PSE/Q oqrY/s1AyB2J+KuEMtwMT8xkVD2cAIyJF654VMZIObhCBLnilVqcjUKUYe0SmLv+RmBk jw4/GOfJwCAul/PAHlbnIg2fRu25Yoq+4m1xrLeRpJlhokS4P922l9teYNPz44dfeVvZ Sn+w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:to:from:sender:dkim-signature; bh=EOouo434ho+D5qzUN4v1qaR0+EynFAL17HSMcdjP+qM=; b=JYkiavB4qVnzmBWrCNwM3/FEqEFu/nrMwqqcRHgoMAoJG5BV+VlHRXEgsdHBHzQRzW DLwnO6PxqAcqObGZjvlFIIvxeIJAfnEtRppSIiEfRqCzeuAiykoJF998WZLvW7U61f8y jHZxMrJZvJbjlQSqVJZRAL/yhQFe/1JS4pbq1z1R1zGx65prQgDOlxoXeX5Re4OoPkme f2ZmdEC8grVDLLtskAMfL7KxIRiGyigbOBsBDqd0OKlHG0/WP1Rm0SJi9YdxcQYEJzMz qrsQlycpWGlYa9pDvqzPIMvVglAVt+dUSOs3Uav32HN3r3CzvqPF5hm8IoUoL2kBch9H WRZQ== ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=pass (google.com: domain of silvano.cirujano-cuesta@siemens.com designates 194.138.37.39 as permitted sender) smtp.mailfrom=silvano.cirujano-cuesta@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references :mime-version:x-original-sender:x-original-authentication-results :precedence:mailing-list:list-id:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=EOouo434ho+D5qzUN4v1qaR0+EynFAL17HSMcdjP+qM=; b=IT17uxpHB0PsiDQuBAUK70mFK26vJkLS5vYZyJTYxaR14keEGzdjG/vz5rhiQKOyiD kGI4sFDRlIbcfksPcvwgkYVxYrRyIi9sKVn+bzuBQq7d93YkIwtI6mk/PSrY2sNPdtoi qds6XaVkEAVgA0EeY0zc4ZghE/7Ak5M/C103WiVIeD6MSYR+crIOcSGPEDIpYgvtTBhZ LSNONqAukAlJSZnCCokM2xSJZtzmzZ2ITVawkrimwV0EucwMFK9YyEvPrN8twtGtyIV8 nOcdsFxl4BIYxeXlI0ejMmPIxExPN5RoosqB0AqsyI0/+RW1isCiCf8EHD72aBw8pITl YVXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=sender:x-gm-message-state:from:to:subject:date:message-id :in-reply-to:references:mime-version:x-original-sender :x-original-authentication-results:precedence:mailing-list:list-id :x-spam-checked-in-group:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=EOouo434ho+D5qzUN4v1qaR0+EynFAL17HSMcdjP+qM=; b=Zcr7mjs/mFyi2sVcY46k80Y4YPvPX7IWyZW1Pvzv4xxhgDqGCusK9lHdbfYjaxaxCA 7m+5oxJs24hYteNyany4l0dYngd9KznvG8jTTs0nrkNDhTq7gD4gpp4YXE2q1SOTHMsg HIPD9ngn7BvLFQ172UqgGYjhTqB4zs2OJeMzKxx+X08YHYdbTrtfQKRDAgAuJqhDipNc qZHJHjNvcIKlnwf7XqVy8ilrNtjIzPmtjW8/KI5KnHQQfWxiFzaATS7NEN0CdxRJPRt1 kjkSSa7qCK3JuGyh2zriocstgninmtKAnc6k460kgP5tZd+q9FdUGl4AydSIbBmgwbsY mMNQ== Sender: isar-users@googlegroups.com X-Gm-Message-State: AOAM531c9bv24ixelpAUUKe02sqgShUlvnJSW+WDcrbd/yfb0jILHGII turm6ipP1s+Jd1qLKQYIKQE= X-Google-Smtp-Source: ABdhPJwAGJtXYcb0UZhfCziXLXXBT0a7a4qD7Y8EjF3Ctz1mbAgzzur6ynKh1Vcx/8LuyII8pjTnuw== X-Received: by 2002:a5d:4105:: with SMTP id l5mr16436320wrp.105.1615579726449; Fri, 12 Mar 2021 12:08:46 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6000:162d:: with SMTP id v13ls1047815wrb.1.gmail; Fri, 12 Mar 2021 12:08:45 -0800 (PST) X-Received: by 2002:a05:6000:147:: with SMTP id r7mr16070731wrx.25.1615579725756; Fri, 12 Mar 2021 12:08:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1615579725; cv=none; d=google.com; s=arc-20160816; b=sXHaWsx3DTPc0z9kDMZcUqo4nc0WH7a67Q/onUAeSdG3WYJ2j+VgmBo1E9COfAhJkL Ge4Ss3YJiQAA4pCdyDKGmQtz/atcOpHsfK6Urf2ucsrwTdMF36qclpC0n/3IguAfv/om ZHB+VaeQ+p58HZJc2VUtvyjjSHwdu3j3XmuGAliDqrkAZt0Zl/9khrKSE6ch5kAxUh3l yiy8YvKCRdDGgbm+ikfAwsMEy3oiTB3otwYFwWgL1LbOdjdI5mtqNyLCiizqVwpdOCLn VJJJ+H4UJzhjSKZ96xdz8vY8B7FF83K7I856YktT74P6KvZeKHB6tDpxrrtMO2BqOPGL jUvA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from; bh=hlaoZgXF0Ea0UtX9BYK3I62dMu7qGh3UU6LJrND6RGM=; b=JyAppMcFZfhGKhlTlpd7sBGW6/Ak3Z2BDk8pQntAeH0iOuf74XEfai7tXaTtc3hV6Q sBbB4Cf7LElfVyoZAqSCcEhM/6bgZEmVz3Y6AesD7ovtpxL8adW7aRKP2XfiEGnes9le DXtyJKnMNfiGVbLGHxl4/lbfjjLMqA51k1SqROK5mzLf4sM1OKGJ3AX3hfAp7HTvtRhr CEubkCFfeDpLSLJetGRGdeapVxupNVVg8pU/DU6RiAjloPXG+b7slBeGLzT+XzOpxt+V odbNPvxn2tnfarq3kYt97XOyINPg/6WrWNgCrDiNZM8RqoTBPC8SmmjbjjS4LuWv4ysv V/hw== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of silvano.cirujano-cuesta@siemens.com designates 194.138.37.39 as permitted sender) smtp.mailfrom=silvano.cirujano-cuesta@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from lizzard.sbs.de (lizzard.sbs.de. [194.138.37.39]) by gmr-mx.google.com with ESMTPS id p65si629556wmp.0.2021.03.12.12.08.45 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 12 Mar 2021 12:08:45 -0800 (PST) Received-SPF: pass (google.com: domain of silvano.cirujano-cuesta@siemens.com designates 194.138.37.39 as permitted sender) client-ip=194.138.37.39; Received: from mail1.sbs.de (mail1.sbs.de [192.129.41.35]) by lizzard.sbs.de (8.15.2/8.15.2) with ESMTPS id 12CK8j2H025882 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 12 Mar 2021 21:08:45 +0100 Received: from md1sf36c.ad001.siemens.net ([167.87.3.106]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id 12CJwiaN008930 for ; Fri, 12 Mar 2021 20:58:45 +0100 From: Silvano Cirujano Cuesta To: isar-users@googlegroups.com Subject: [PATCH v7 1/5] classes: add root filesystem containerizing class Date: Fri, 12 Mar 2021 20:58:39 +0100 Message-Id: <20210312195843.96000-2-silvano.cirujano-cuesta@siemens.com> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210312195843.96000-1-silvano.cirujano-cuesta@siemens.com> References: <20210312195843.96000-1-silvano.cirujano-cuesta@siemens.com> MIME-Version: 1.0 X-Original-Sender: silvano.cirujano-cuesta@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of silvano.cirujano-cuesta@siemens.com designates 194.138.37.39 as permitted sender) smtp.mailfrom=silvano.cirujano-cuesta@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com 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-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1694058127552336531?= X-GMAIL-MSGID: =?utf-8?q?1694058127552336531?= This class can be used to create container images which root filesystem is that generated by the do_rootfs task. Containerized root filesystems have following possible use-cases: - Using ISAR as a container image builder. - Simplify distribution of runtime rootfs (binaries, libraries, configurations, ...) for application development or testing. - Distributing SDKs. Signed-off-by: Silvano Cirujano Cuesta --- .../classes/image-container-extension.bbclass | 82 +++++++++++++++++++ meta/classes/image.bbclass | 1 + 2 files changed, 83 insertions(+) create mode 100644 meta/classes/image-container-extension.bbclass diff --git a/meta/classes/image-container-extension.bbclass b/meta/classes/image-container-extension.bbclass new file mode 100644 index 0000000..f693627 --- /dev/null +++ b/meta/classes/image-container-extension.bbclass @@ -0,0 +1,82 @@ +# This software is a part of ISAR. +# Copyright (C) Siemens AG, 2021 +# +# SPDX-License-Identifier: MIT +# +# This class extends the image.bbclass for containerizing the root filesystem. + +CONTAINER_FORMATS ?= "docker-archive" +IMAGE_INSTALL += "isar-exclude-docs isar-disable-apt-cache" + +containerize_rootfs() { + local cmd="/bin/dash" + local empty_tag="empty" + local full_tag="latest" + local oci_img_dir="${WORKDIR}/oci-image" + local rootfs="$1" + local rootfs_id="$2" + local container_formats="$3" + + # prepare OCI container image skeleton + bbdebug 1 "prepare OCI container image skeleton" + rm -rf "${oci_img_dir}" + sudo umoci init --layout "${oci_img_dir}" + sudo umoci new --image "${oci_img_dir}:${empty_tag}" + sudo umoci config --image "${oci_img_dir}:${empty_tag}" \ + --config.cmd="${cmd}" + sudo umoci unpack --image "${oci_img_dir}:${empty_tag}" \ + "${oci_img_dir}_unpacked" + + # add root filesystem as the flesh of the skeleton + sudo cp -a "${rootfs}"/* "${oci_img_dir}_unpacked/rootfs/" + # clean-up temporary files + sudo find "${oci_img_dir}_unpacked/rootfs/tmp" -mindepth 1 -delete + + # pack container image + bbdebug 1 "pack container image" + sudo umoci repack --image "${oci_img_dir}:${full_tag}" \ + "${oci_img_dir}_unpacked" + sudo umoci remove --image "${oci_img_dir}:${empty_tag}" + sudo rm -rf "${oci_img_dir}_unpacked" + + # no root needed anymore + sudo chown --recursive $(id -u):$(id -g) "${oci_img_dir}" + + # convert the OCI container image to the desired format + image_name="isar-${rootfs_id}" + for image_type in ${CONTAINER_FORMATS} ; do + image_archive="${DEPLOY_DIR_IMAGE}/${rootfs_id}-${image_type}.tar" + bbdebug 1 "Creating container image type: ${image_type}" + case "${image_type}" in + "docker-archive" | "oci-archive") + if [ "${image_type}" = "oci-archive" ] ; then + target="${image_type}:${image_archive}:latest" + else + target="${image_type}:${image_archive}:${image_name}:latest" + fi + rm -f "${image_archive}" "${image_archive}.xz" + bbdebug 2 "Converting OCI image to ${image_type}" + skopeo --insecure-policy copy \ + "oci:${oci_img_dir}:${full_tag}" "${target}" + bbdebug 2 "Compressing image" + xz -T0 "${image_archive}" + ;; + "oci") + tar --create --xz --directory "${oci_img_dir}" \ + --file "${image_archive}.xz" . + ;; + "docker-daemon" | "containers-storage") + if [ -f /.dockerenv ] || [ -f /run/.containerenv ] ; then + die "Adding the container image to a container runtime (${image_type}) not supported if running from a container (e.g. 'kas-container')" + fi + skopeo --insecure-policy copy \ + "oci:${oci_img_dir}:${full_tag}" \ + "${image_type}:${image_name}:latest" + ;; + *) + die "Unsupported format for containerize_rootfs: ${image_type}" + ;; + esac + done +} + diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index eddc444..ec93cab 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -76,6 +76,7 @@ inherit image-tools-extension inherit image-postproc-extension inherit image-locales-extension inherit image-account-extension +inherit image-container-extension # Extra space for rootfs in MB ROOTFS_EXTRA ?= "64" From patchwork Fri Mar 12 09:58:40 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Silvano Cirujano Cuesta X-Patchwork-Id: 357 Return-Path: Delivered-To: ilbers.mnt@gmail.com Received: by 2002:a4a:c583:0:0:0:0:0 with SMTP id x3csp1554995oop; Fri, 12 Mar 2021 11:58:47 -0800 (PST) X-Received: by 2002:a05:6512:3996:: with SMTP id j22mr473165lfu.515.1615579127657; Fri, 12 Mar 2021 11:58:47 -0800 (PST) ARC-Seal: i=3; a=rsa-sha256; t=1615579127; cv=pass; d=google.com; s=arc-20160816; b=ysP/etIwv/rLS5sxJTIx2tboZO1t1a6y4FcvCPglOJT+drqPkJGYz6pYd0sVxXsXux HNpfBGIWNFMTDvJeDeY3rVuewtGa9JYjtJY2mH7aPgEuMru2ZyBZNJecbi+a6DHPboED hBllTCRXSFhsBFA2y6R2RydW2nnQbno9xzJgACfSGHzyMJEQCEou28oUQNdt6WJUnGr+ 1vub1l1XaKErysA4SIRbAu52QZeN2NHSTqxpAv9F5DcrhYhDUXphf04MRQU0vg5VASB4 HZWsyPN8qhRRCQHKCV9H2T0D8qCKwko3z2APCh9hXiiJJ1oWF5YxX/u9stl1SjUZV+AG LfLA== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:to:from:sender:dkim-signature; bh=JOhnlX3SDUYS/d9WQitOfB3JlUiX5/ZHnitNBafQzPw=; b=jIE2n2KQOa0okqqVpmXUOFuwb04xzVfsOGAA1CJX4UuW7DOl2D8Nmm4roAzJGmDyZL 2CENaQtvfb5KhQL63DozBYilvr8NsJf+J1pIZivHDD4KkdFrgk3IsIDZPQdIsP34yUB7 p91i9S+LZbB1FEPefgYTPpFGWHUYvTC42bJ6zkoISHaq2YbgClNZWZTrcdsa1lgyJMx6 1jnKnk+nbUWChrneDd0Lg+EiNI50pHJKFZNYXIDIGWPVUK8dlja8w37aPQ9BwcSzGwEv 76fV8ec0pHFteCghbmljnOXsy2x9uR3W6zSU1BfBowQrmib5fYPkJCDKSR+nFXCwf8ho qxTQ== ARC-Authentication-Results: i=3; mx.google.com; dkim=pass header.i=@googlegroups.com header.s=20161025 header.b=cpILyjAW; arc=pass (i=2 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of isar-users+bncbcd6jj6cqqfrb54pv6bamgqeie2dciy@googlegroups.com designates 209.85.220.55 as permitted sender) smtp.mailfrom=isar-users+bncBCD6JJ6CQQFRB54PV6BAMGQEIE2DCIY@googlegroups.com; dmarc=fail (p=NONE sp=NONE dis=NONE arc=pass) header.from=siemens.com Received: from mail-sor-f55.google.com (mail-sor-f55.google.com. [209.85.220.55]) by mx.google.com with SMTPS id r19sor1823241lfi.185.2021.03.12.11.58.47 (Google Transport Security); Fri, 12 Mar 2021 11:58:47 -0800 (PST) Received-SPF: pass (google.com: domain of isar-users+bncbcd6jj6cqqfrb54pv6bamgqeie2dciy@googlegroups.com designates 209.85.220.55 as permitted sender) client-ip=209.85.220.55; Authentication-Results: mx.google.com; dkim=pass header.i=@googlegroups.com header.s=20161025 header.b=cpILyjAW; arc=pass (i=2 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of isar-users+bncbcd6jj6cqqfrb54pv6bamgqeie2dciy@googlegroups.com designates 209.85.220.55 as permitted sender) smtp.mailfrom=isar-users+bncBCD6JJ6CQQFRB54PV6BAMGQEIE2DCIY@googlegroups.com; dmarc=fail (p=NONE sp=NONE dis=NONE arc=pass) header.from=siemens.com ARC-Seal: i=2; a=rsa-sha256; t=1615579127; cv=pass; d=google.com; s=arc-20160816; b=F8xqmEcvbRFfqsve8ehJBsVYwJa9z084tMmjxQcbGfCTfHHieUNbrDqCIIhSizn8xG thDt+1elHn0yfxNPOJwrIBFdrHH4q5S7K0SvdpHu2pn+rJITuOJc0sENcGQSpFmLiE4K ncwgOkjRArTuKf0FiRETrJwx0WbKj29i2WX+PZqK+AqJIAwn9kttcAOOHv08E74Kb88d iujW6nn5WRMltkVCcaLUgBjoc+pL+n9eGJeysc3RxLsfoJfpRsvMGg+lrXl++l3dNXtv 1GVrfYHq+8fF9Y+Tyaf4JQEd5TkyPMSLXSlrIz+4YQSFC7/M9t8PWLOIl3dOFXHbqJ6i xQvQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:to:from:sender:dkim-signature; bh=JOhnlX3SDUYS/d9WQitOfB3JlUiX5/ZHnitNBafQzPw=; b=I1ggtZLDP6Y2iKCuzkFoMge/AaKa3wt4UOfUgaowHqhO3mVx2JN4aELJ/KNgyagVHA lrI9y1v11S00tRNlDbfU73Aktkr84SMDyRK4dlzNJzKH47A413TeGiVv22brG2Jk7zMZ uvIvi3u/EbrHxpySdPBqLBFGLKwDqPwtqB68xYqYDhXRe1P7E+oHPNwjwEd0nCTEYFF0 eRdizwv1tflQQI4bX/daInbIRtnhPrIX+C3oGn3xDXmh3VFUjFICCXKDrRITpOtJQtx2 //kQP/JIT87i/Pev+BYliyWpm9sYijp+Sc82AV17Uez25v+bISqw1W3TmcA01roagViJ wSCQ== ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=pass (google.com: domain of silvano.cirujano-cuesta@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=silvano.cirujano-cuesta@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references :mime-version:x-original-sender:x-original-authentication-results :precedence:mailing-list:list-id:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=JOhnlX3SDUYS/d9WQitOfB3JlUiX5/ZHnitNBafQzPw=; b=cpILyjAWdJYzdd7ic8GiPsg9SK45bt8KC7LV+WUf69PWe9CJs1Ag6zkuk8Vs7+G7jU YeyKerwG8ujqICshQYEYRKiRrQsYoUYPwVrcVfgyxpHsMe4fuGcMMPdhoUtyzqVsA+ym 22OIKv879+PW4erJ83JNT7IszvlP/BtXcWf9V/OwdufzT/SwRZ83z1GJWJeZyTUXnC0f nC0ZJeSvfWtj0qiIfzfc1yktFnJBOgcX767QueOZvQYGd1VyCoZo/Jx3sAPzTdqLZkrr x+6cwWp9XPh2jwwfmspVX7Pa4kwpcFqRkol7MmTKddWRTqohFZjAgdrAAqii1zw3rVrJ JaWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=sender:x-gm-message-state:from:to:subject:date:message-id :in-reply-to:references:mime-version:x-original-sender :x-original-authentication-results:precedence:mailing-list:list-id :x-spam-checked-in-group:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=JOhnlX3SDUYS/d9WQitOfB3JlUiX5/ZHnitNBafQzPw=; b=kr2XR9Vcth0V6FebT6MRkoJC8CUFT0slB07HY7Om5kNVgQ5TXTLpsep4sfeTmPcHC8 JyVBqUEEYCNH6qqXq/B1Ks0tm8/Jcmhtc66FI6CK8TuBqqJSD4RNNh4HbCZZCHrq7Jj0 On1mhAL2kk64cFpXwa3BOGIc8B5qrvuwbslO0wGy/2j+VLXy5gKHCaaRuhmiBAvPnzul SWYnXXnc9to/b0jF0NDzw6XgpHih21FHbveb3MQDqmaAB5bErtehDIMon/3DTnomzVdr p4AOs4KkZguV5YsTFy32zRAlrFWMz56Ri0QP82s2PJBFBLMtl85tHaCHI8P1VR0OqFhe gWAw== Sender: isar-users@googlegroups.com X-Gm-Message-State: AOAM533wEfBnmbdiBHPBesGHgWgOYxR+tMLLAfDLAt1+us7MgcN2TQj+ i53gBYoY/zBc2/zNV4D8Cas= X-Google-Smtp-Source: ABdhPJz5/foIPCvgAcIV8KI3qY40X/L7jqYfi1uRVTataxeQOgkLTTrUoWeHLO6Xmfhl6eG7bm1UCA== X-Received: by 2002:a05:6512:388f:: with SMTP id n15mr520360lft.8.1615579127349; Fri, 12 Mar 2021 11:58:47 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a19:ac46:: with SMTP id r6ls4261329lfc.2.gmail; Fri, 12 Mar 2021 11:58:46 -0800 (PST) X-Received: by 2002:a19:ee13:: with SMTP id g19mr478476lfb.657.1615579126457; Fri, 12 Mar 2021 11:58:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1615579126; cv=none; d=google.com; s=arc-20160816; b=Pw2MKsMQtabo+oXAsmCeRuYPMK4zuz9g4kqXqKK6JH/4+H0Cuur+LidCpxtx2PTe78 zfKUI7S0hBRog3zymIxFqfhTYX5MgFdOXyZloPhd/eE9bWFbQOiGyTbceUZp9Odavz4e wRkVaKBREgGzgG8a6O0YOfpxSo+KmGYf8becNX3HSlvYS/lcVE8bcdK1EJqz/1v0MUAM zevtHaYNmIVipQVqj2ngU3/+Bx4apOe0uDKlkwDlzQmq3SAdxnzH95jdBCjJl7hf2o9m 8DAisMHAWUx0DJw874q5gr4klVg/AiBNvqbdo1MpDqXRAbzy1iqNolub8YIntIG9V69A GNLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from; bh=lby9ldJxDdwF+z13oarV6vQb/7ujvZtT2G1hsr4l1T0=; b=k5AwHzN4JYXqGOfyIhKm6/PnDGgQebTmb6j2pjajSDGdqGRN5GkUQjBWO71sOBqVJA MHqsBtT6q8AqNxvykk/DxyzV4ATPv4PlgfmtGUaD9mlY435XqyHCAQHScuSPVCtE4TCV 4dZJmoVsuF8imgBZM6BeqiR1Ds+TqlmoO6ODAqC4qmZ+J7ZEQ3hW6pXMMQduiMGfNrXC V/miX/ssH4VW3BIO4OxjqKgNyDrUhfRQAnXSTXER5B36tHxq3ZHeAHCz1VTLHof9fKyI igjffOsL9KxVlCheKdwjJ5tXi4B3LxSopmGPXULniaozRO09ti15gpfktwxNjq39ZVIR jUQg== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of silvano.cirujano-cuesta@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=silvano.cirujano-cuesta@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from gecko.sbs.de (gecko.sbs.de. [194.138.37.40]) by gmr-mx.google.com with ESMTPS id o10si319136lfg.12.2021.03.12.11.58.46 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 12 Mar 2021 11:58:46 -0800 (PST) Received-SPF: pass (google.com: domain of silvano.cirujano-cuesta@siemens.com designates 194.138.37.40 as permitted sender) client-ip=194.138.37.40; Received: from mail1.sbs.de (mail1.sbs.de [192.129.41.35]) by gecko.sbs.de (8.15.2/8.15.2) with ESMTPS id 12CJwjYX008567 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 12 Mar 2021 20:58:45 +0100 Received: from md1sf36c.ad001.siemens.net ([167.87.3.106]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id 12CJwiaO008930 for ; Fri, 12 Mar 2021 20:58:45 +0100 From: Silvano Cirujano Cuesta To: isar-users@googlegroups.com Subject: [PATCH v7 2/5] classes: add new image type 'container-img' Date: Fri, 12 Mar 2021 20:58:40 +0100 Message-Id: <20210312195843.96000-3-silvano.cirujano-cuesta@siemens.com> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210312195843.96000-1-silvano.cirujano-cuesta@siemens.com> References: <20210312195843.96000-1-silvano.cirujano-cuesta@siemens.com> MIME-Version: 1.0 X-Original-Sender: silvano.cirujano-cuesta@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of silvano.cirujano-cuesta@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=silvano.cirujano-cuesta@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com 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-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1694057499316568009?= X-GMAIL-MSGID: =?utf-8?q?1694057499316568009?= Add a new "image" class for generating a container image containing the target root filesystem. Signed-off-by: Silvano Cirujano Cuesta --- meta/classes/container-img.bbclass | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 meta/classes/container-img.bbclass diff --git a/meta/classes/container-img.bbclass b/meta/classes/container-img.bbclass new file mode 100644 index 0000000..79ef3e8 --- /dev/null +++ b/meta/classes/container-img.bbclass @@ -0,0 +1,18 @@ +# This software is a part of ISAR. +# Copyright (C) Siemens AG, 2021 +# +# SPDX-License-Identifier: MIT +# +# This class provides the task 'containerize_rootfs' +# to create container images containing the target rootfs. + +do_container_image[stamp-extra-info] = "${DISTRO}-${MACHINE}" +do_container_image[vardeps] += "CONTAINER_FORMATS" +do_container_image(){ + rootfs_id="${DISTRO}-${DISTRO_ARCH}" + + bbdebug 1 "Generate container image in these formats: ${CONTAINER_FORMATS}" + containerize_rootfs "${IMAGE_ROOTFS}" "${rootfs_id}" "${CONTAINER_FORMATS}" +} + +addtask container_image before do_image after do_image_tools From patchwork Fri Mar 12 09:58:41 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Silvano Cirujano Cuesta X-Patchwork-Id: 360 Return-Path: Delivered-To: ilbers.mnt@gmail.com Received: by 2002:a4a:c583:0:0:0:0:0 with SMTP id x3csp1562283oop; Fri, 12 Mar 2021 12:08:47 -0800 (PST) X-Received: by 2002:adf:9b82:: with SMTP id d2mr15679032wrc.193.1615579727134; Fri, 12 Mar 2021 12:08:47 -0800 (PST) ARC-Seal: i=3; a=rsa-sha256; t=1615579727; cv=pass; d=google.com; s=arc-20160816; b=aCCLiI5oSkPmNi578OgHtGaeKnYwwX9EngKFHvJmLgHvsIyk+AO4f/jKThvm7KbTVS mjFjRuQ8T35SdoNchbgAZ4/UFPGLkBeZVcOv2hzTHWmdYG+CckYvyxKNZCRk9+1rXpJi r0b8dlNvhH66gUSzvdEB4NWYUnM4wJXBqkpCC4qwT2ws80Syubzr2PRcEgcgM3b8V6ZI Dy0SxcvWHrSywq4rAPAWX1EKwyOm2xmg+49qdSafHq1QiHEMXEaY5XEO2bGxpf/DWeDF eIdew6YgA0PZsx9lt3frPdB8D7QoxK3YWg7vz9EGRJ6KjrB9Pj8Fwe7eW3RZ4dD14PEu h4sQ== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:to:from:sender:dkim-signature; bh=BV26kLrzQM38y6S2rckv8cVJzEYkUM/linm58cCw4HQ=; b=LGqt0/hTjzDdZJbzKqgYSyBo2kdCWH7+2Nr0PJXr1j8PsUYjlBklDCJrTgCZf6U7zY OACU8HxaS2rv916DRBxC+5pFpLXC6y2fjujSWBTQaH/NvmqC7AqjTzAgy9oLNWKPYNLD siYTvKjmKbDcaumMJrhkztcXGrSOHg6FeLCQompIHrlXmyUeOvEetB4HOhZ5KREVB5Dr PqBtLZjNpPvXkMTMZiTL9nVJTX8IJXuffjMjzzBPLMj+KsDhDcxD2TIcdz8CYR+Yy16/ nY2+3/qpwiDXMiKKbKnyjV4Yz3MwZUNN2aQ0XEkVtqQUYFkUUcmm2jRCEfLcaEv7wMJ6 /UtA== ARC-Authentication-Results: i=3; mx.google.com; dkim=pass header.i=@googlegroups.com header.s=20161025 header.b=e8yF4955; arc=pass (i=2 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of isar-users+bncbcd6jj6cqqfrbtuuv6bamgqerpfd2zi@googlegroups.com designates 209.85.220.55 as permitted sender) smtp.mailfrom=isar-users+bncBCD6JJ6CQQFRBTUUV6BAMGQERPFD2ZI@googlegroups.com; dmarc=fail (p=NONE sp=NONE dis=NONE arc=pass) header.from=siemens.com Received: from mail-sor-f55.google.com (mail-sor-f55.google.com. [209.85.220.55]) by mx.google.com with SMTPS id w130sor3885969wmg.23.2021.03.12.12.08.46 (Google Transport Security); Fri, 12 Mar 2021 12:08:47 -0800 (PST) Received-SPF: pass (google.com: domain of isar-users+bncbcd6jj6cqqfrbtuuv6bamgqerpfd2zi@googlegroups.com designates 209.85.220.55 as permitted sender) client-ip=209.85.220.55; Authentication-Results: mx.google.com; dkim=pass header.i=@googlegroups.com header.s=20161025 header.b=e8yF4955; arc=pass (i=2 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of isar-users+bncbcd6jj6cqqfrbtuuv6bamgqerpfd2zi@googlegroups.com designates 209.85.220.55 as permitted sender) smtp.mailfrom=isar-users+bncBCD6JJ6CQQFRBTUUV6BAMGQERPFD2ZI@googlegroups.com; dmarc=fail (p=NONE sp=NONE dis=NONE arc=pass) header.from=siemens.com ARC-Seal: i=2; a=rsa-sha256; t=1615579726; cv=pass; d=google.com; s=arc-20160816; b=dzivca0J+xdspZZ3Rjt7o1I3vNAcrq7ZQbonidA/5mrSTE6AUlrsKcOsKR6i3cT9dD 9Z8z2eIbKwPhqCoh/BPRi0x4i8l1Yj0gmtjvYwkNdhIiCd8j8HKYieAErOE4Ae2JH8SY UkB4rJNHdKKt/UMqE+cN131WT6Ln1zG92OnALtUAX1U4O1jH2jNa6iidTln8EWSzD5ld W0RZfn6eDRE/+6Rnh88yFjfdC4KAcZVe4m6mGNMPflUa7DCbOsEtbcralR0bhCpI7Vrh F7TI058C7mnCDu3hLVaxZVg6/DVhk3e4g0TVu4aUx61e3XD6JFyaK689iFKXn/KdxxCG NRSQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:to:from:sender:dkim-signature; bh=BV26kLrzQM38y6S2rckv8cVJzEYkUM/linm58cCw4HQ=; b=GdocxyH514WCI6rnBGGOPqPdKetkstQoJrMBR25fYL3fNZT19TYLqdL5QAs17cIXDQ CCj1q5u1nnWrQlbAFTm8M58+8XWPqHLWTsuwt/iuiwhu2DYTtYZxLD7bMJ+xX9VaBwv2 Dc2/v/Mv4NaGWF32RYdSEnVPxRwAUEjAz44GYrtN5trrbqp/spINvW22tlw6aa66duOR tcbAyI+z4pPOTTXhaTcAvb+HDAk9QXu77OWp3HU7bs681dIC8LmYyNoJQKhj2rbUvVDt 1sJs716PM29GMhbkP1kW7ee8Bnw0dcv8YXwqAIB0Sqak46CYm1cGXcJjEl8Z2qnVvfXd GdnA== ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=pass (google.com: domain of silvano.cirujano-cuesta@siemens.com designates 194.138.37.39 as permitted sender) smtp.mailfrom=silvano.cirujano-cuesta@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references :mime-version:x-original-sender:x-original-authentication-results :precedence:mailing-list:list-id:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=BV26kLrzQM38y6S2rckv8cVJzEYkUM/linm58cCw4HQ=; b=e8yF4955/V/hm5cQO45UQytwuvrKacXAK/goEYFsCADgiZ3ukfXrrPetEhx03+tuaI kxcf3NodYO1ykpgCOPtVa2f0OEkviFzB+H7cc3WLikH1BYlnX/CveslOJz4gBXpIhEUx l0dNvWvDjzpEwr2eGbboIKD9HXI17dIIhM4O/GM+rLNNcZXhNWrBhIfboZ/DnYYLcD5p jn/MeAW+0Xf4cm5wlC57vaquQmkgSrwKGIA+k5GmKwrKtYa16nmY34wUJxX3j+mVu0ch 2AX5Zdtzgp9/pdGQ7a0LTxCOlgjADEepQDkSRW8H0qxCx4LClkCzEI9kfutfKtyezbsv NrAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=sender:x-gm-message-state:from:to:subject:date:message-id :in-reply-to:references:mime-version:x-original-sender :x-original-authentication-results:precedence:mailing-list:list-id :x-spam-checked-in-group:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=BV26kLrzQM38y6S2rckv8cVJzEYkUM/linm58cCw4HQ=; b=A7lIlDVMPAYEt3fkLe8D08Zvnf6+VgcVPnT53ssUYEweSF/jvs/jt81KMz8O5TRz/C XHplaQvBAp4RzQufwQ0DIb4bK/SzS8cmtEUgjGmPMHwOR8Azo6Tm6DvRk1qKReKmJ5fP mb9pHyaiww/O3InEtIPMknRFHR/MtIVmrhdDIEBEBbEF7/hIl00SL1SXiezUahnUaLce NR3x+he0TnWIv2B8kHibV0/LN31k1yne1iV9lvjVtXepNYX2Iaz8MLSCXsBN5Eh5h0G1 X/1fovaqYqW4IVj7pXLBe5Kg58UAGYapzzeAGmVhRZtAP/taboYK4c3Q7tk23IUP7sou 3kjQ== Sender: isar-users@googlegroups.com X-Gm-Message-State: AOAM532ReFEodLCt3fppbnUU8ia3zfPD6TqmnWi6y460p4py606SyCkO wfcO9iR7K4ZMAGqQ53uqtmg= X-Google-Smtp-Source: ABdhPJwGfTtSbHc59VmeznaFZTDclRmh7kLUZuh5hDM7L9l+Hct7ubRS496yGTZfTZfonaHwoShCUg== X-Received: by 2002:a05:600c:198d:: with SMTP id t13mr14992002wmq.73.1615579726905; Fri, 12 Mar 2021 12:08:46 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6000:162d:: with SMTP id v13ls1047846wrb.1.gmail; Fri, 12 Mar 2021 12:08:46 -0800 (PST) X-Received: by 2002:a05:6000:191:: with SMTP id p17mr16003557wrx.154.1615579726342; Fri, 12 Mar 2021 12:08:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1615579726; cv=none; d=google.com; s=arc-20160816; b=SAfOjEATnGLt22jpgpaSKKJ9z7ORm+xeU7mosoOF+c87gtZxzXkxsSiiy/8yAzt2EW VNEBYNhO1DPm+TySMvTnwZHWiUcCsGhqEZKqoM66H0uURjDFBfVQsytcnh0q7soZVY1F bkGUf/EXMdmWmQK3DuQDhvfU2Z+CC3f0xQZ1zxeUUNAXgZv1lPSgYiAeQSAtV3wqQd1j Zz6ly9hW5llreMUO6lMmMZxL0d3ny1XjZiWhRx5A/oAtEU2a40e+68y++iU1Bf3jMrFe 1b6g3Y0Q2WqO7Rvs/RQH/TLFKdr8dozCs12gC6uXb+kd0IwcKkUKRtVlRihS8hAeTrBc Zutg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from; bh=U7DTa0sVt/6OyYtPD/XyRRt4Q4U6Uvk2DwAX6qJMrZc=; b=dcliY5suJLKfzoRZiVAV+tpHEC2Sa3Ry9NxPhmM5IO/ZkftnExev8Xiq0F8A6MpE5N X8Y4nObJRi/a/ofsVUf69HBvk3t7g1+M5UOAij0hIrS+YaAwAp+z3gnVyTYqi9ZPxl1o hQ91OYs76ZQ5mZ85evd+wVlFVypfkQpaUq/6xlHkQslAh80kW+E3GWergS47h6fAHbN2 Kjw9BcifBV3KscLBVNyIAafy4wZWuXUve9ckRGyVDPITGekGmTaXonEkwMhhsh/s9Nwq c95g0WYrHtBbgHfjyOrRGOJAUe02kpeIclJiFUvQ7edwcnf8hTJvyOSp1ZWbA9kuZ8az wb/g== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of silvano.cirujano-cuesta@siemens.com designates 194.138.37.39 as permitted sender) smtp.mailfrom=silvano.cirujano-cuesta@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from lizzard.sbs.de (lizzard.sbs.de. [194.138.37.39]) by gmr-mx.google.com with ESMTPS id t124si426086wmb.3.2021.03.12.12.08.46 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 12 Mar 2021 12:08:46 -0800 (PST) Received-SPF: pass (google.com: domain of silvano.cirujano-cuesta@siemens.com designates 194.138.37.39 as permitted sender) client-ip=194.138.37.39; Received: from mail1.sbs.de (mail1.sbs.de [192.129.41.35]) by lizzard.sbs.de (8.15.2/8.15.2) with ESMTPS id 12CK8kpl025888 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 12 Mar 2021 21:08:46 +0100 Received: from md1sf36c.ad001.siemens.net ([167.87.3.106]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id 12CJwiaP008930 for ; Fri, 12 Mar 2021 20:58:45 +0100 From: Silvano Cirujano Cuesta To: isar-users@googlegroups.com Subject: [PATCH v7 3/5] sdk: add support for containerized sdk Date: Fri, 12 Mar 2021 20:58:41 +0100 Message-Id: <20210312195843.96000-4-silvano.cirujano-cuesta@siemens.com> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210312195843.96000-1-silvano.cirujano-cuesta@siemens.com> References: <20210312195843.96000-1-silvano.cirujano-cuesta@siemens.com> MIME-Version: 1.0 X-Original-Sender: silvano.cirujano-cuesta@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of silvano.cirujano-cuesta@siemens.com designates 194.138.37.39 as permitted sender) smtp.mailfrom=silvano.cirujano-cuesta@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com 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-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1694058128167177843?= X-GMAIL-MSGID: =?utf-8?q?1694058128167177843?= Extend also task "populate_sdk" to support the creation of a container image containing the SDK. Signed-off-by: Silvano Cirujano Cuesta --- meta/classes/image-sdk-extension.bbclass | 42 ++++++++++++++++++++---- 1 file changed, 35 insertions(+), 7 deletions(-) diff --git a/meta/classes/image-sdk-extension.bbclass b/meta/classes/image-sdk-extension.bbclass index a8c708a..426b925 100644 --- a/meta/classes/image-sdk-extension.bbclass +++ b/meta/classes/image-sdk-extension.bbclass @@ -6,11 +6,25 @@ # This class extends the image.bbclass to supply the creation of a sdk SDK_INCLUDE_ISAR_APT ?= "0" +SDK_FORMATS ?= "tar-xz" + +sdk_tar_xz() { + # Copy mount_chroot.sh for convenience + sudo cp ${SCRIPTSDIR}/mount_chroot.sh ${SDKCHROOT_DIR} + + # Create SDK archive + cd -P ${SDKCHROOT_DIR}/.. + sudo tar --transform="s|^rootfs|sdk-${DISTRO}-${DISTRO_ARCH}|" \ + -c rootfs | xz -T0 > ${DEPLOY_DIR_IMAGE}/sdk-${DISTRO}-${DISTRO_ARCH}.tar.xz + bbdebug 1 "SDK rootfs available in ${DEPLOY_DIR_IMAGE}/sdk-${DISTRO}-${DISTRO_ARCH}.tar.xz" +} do_populate_sdk[stamp-extra-info] = "${DISTRO}-${MACHINE}" do_populate_sdk[depends] = "sdkchroot:do_build" -do_populate_sdk[vardeps] += "SDK_INCLUDE_ISAR_APT" +do_populate_sdk[vardeps] += "SDK_INCLUDE_ISAR_APT SDK_FORMATS" do_populate_sdk() { + local sdk_container_formats="" + if [ "${SDK_INCLUDE_ISAR_APT}" = "1" ]; then # Copy isar-apt with deployed Isar packages sudo cp -Trpfx ${REPO_ISAR_DIR}/${DISTRO} ${SDKCHROOT_DIR}/isar-apt @@ -48,12 +62,26 @@ do_populate_sdk() { done done - # Copy mount_chroot.sh for convenience - sudo cp ${SCRIPTSDIR}/mount_chroot.sh ${SDKCHROOT_DIR} + # separate SDK formats: TAR and container formats + for sdk_format in ${SDK_FORMATS} ; do + case ${sdk_format} in + "tar-xz") + sdk_tar_xz + ;; + "docker-archive" | "oci" | "oci-archive" | "docker-daemon" | "containers-storage") + sdk_container_formats="${sdk_container_formats} ${sdk_format}" + ;; + *) + die "unsupported SDK format specified: ${sdk_format}" + ;; + esac + done - # Create SDK archive - cd -P ${SDKCHROOT_DIR}/.. - sudo tar --transform="s|^rootfs|sdk-${DISTRO}-${DISTRO_ARCH}|" \ - -c rootfs | xz -T0 > ${DEPLOY_DIR_IMAGE}/sdk-${DISTRO}-${DISTRO_ARCH}.tar.xz + # generate the SDK in all the desired container formats + if [ -n "${sdk_container_formats}" ] ; then + bbnote "Generating SDK container in ${sdk_container_formats} format" + containerize_rootfs "${SDKCHROOT_DIR}" "sdk-${DISTRO}-${DISTRO_ARCH}" "${sdk_container_formats}" + fi } + addtask populate_sdk after do_rootfs From patchwork Fri Mar 12 09:58:42 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Silvano Cirujano Cuesta X-Patchwork-Id: 361 Return-Path: Delivered-To: ilbers.mnt@gmail.com Received: by 2002:a4a:c583:0:0:0:0:0 with SMTP id x3csp1562290oop; Fri, 12 Mar 2021 12:08:48 -0800 (PST) X-Received: by 2002:adf:9261:: with SMTP id 88mr15347418wrj.270.1615579727993; Fri, 12 Mar 2021 12:08:47 -0800 (PST) ARC-Seal: i=3; a=rsa-sha256; t=1615579727; cv=pass; d=google.com; s=arc-20160816; b=gOb1KzceOrlcw+6CMS3NPuZ8zVE6AgK/dvRm5Z4esoumx427oMxtA1EVeDp7cI0kmi M+a1z6bU22hERMXU6clrszRrCFgTX1zZsxl/htZjKddSbIsxyDFUFszNkxg8/axFm42q E3hxI1cYxaVEnCHGxzaNgGf+EOrbWvOWmVqgQrZecb/Hfa3xEikglGxc+blfIQjm16Wk hSEeNg6llV/GFvZedKGqK6+yKG68cJxbp+ZVviA2OCoQffhwRhi0fwlvCX/42nCBLmYE y7HCTHOm81I/mrMAZbImD+nMpdGBOk2BysVbH3e8FYfhASWCUaYO8LNWT08/zX/ZxHr7 AERg== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :sender:dkim-signature; bh=ztYMsoPh8dIAdf005PDczirA0ktD0tp/os7xnDjLxVM=; b=NjhQWWCrcN0lHStcYlxOWEW1TnsbL0xtb92zhhE9aLv5BHMyM5X83LbIB4MGnV0mju O4CmJfDd16reb7UUegaOjw/m/We4r+dQSHGFcWQ+FlyFRUQFEaGurHxGddmQvh5HfS4m 6exZVWW+O6pn1rqQDfHstMMqnD26gBXg7+FaLqv9BMB4afhhpR7fQ331Riem4sLE59I+ 5SPaPIwKN4zaOzbHIgnEtplwvfQ3HZhXOFP9IIEXXmsTNHOKQlBHfeB4eOMEwdeu6Mog 66k7hwXH2SFBB9t6uWh1ZooPIApzDCKp+s+eWakRmJSCGF7LOdqFPmqRUnfKlsjJtxCU u1jw== ARC-Authentication-Results: i=3; mx.google.com; dkim=pass header.i=@googlegroups.com header.s=20161025 header.b=s5Pive11; arc=pass (i=2 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of isar-users+bncbcd6jj6cqqfrbt4uv6bamgqe3ijls2i@googlegroups.com designates 209.85.220.55 as permitted sender) smtp.mailfrom=isar-users+bncBCD6JJ6CQQFRBT4UV6BAMGQE3IJLS2I@googlegroups.com; dmarc=fail (p=NONE sp=NONE dis=NONE arc=pass) header.from=siemens.com Received: from mail-sor-f55.google.com (mail-sor-f55.google.com. [209.85.220.55]) by mx.google.com with SMTPS id k7sor3840256wro.34.2021.03.12.12.08.47 (Google Transport Security); Fri, 12 Mar 2021 12:08:47 -0800 (PST) Received-SPF: pass (google.com: domain of isar-users+bncbcd6jj6cqqfrbt4uv6bamgqe3ijls2i@googlegroups.com designates 209.85.220.55 as permitted sender) client-ip=209.85.220.55; Authentication-Results: mx.google.com; dkim=pass header.i=@googlegroups.com header.s=20161025 header.b=s5Pive11; arc=pass (i=2 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of isar-users+bncbcd6jj6cqqfrbt4uv6bamgqe3ijls2i@googlegroups.com designates 209.85.220.55 as permitted sender) smtp.mailfrom=isar-users+bncBCD6JJ6CQQFRBT4UV6BAMGQE3IJLS2I@googlegroups.com; dmarc=fail (p=NONE sp=NONE dis=NONE arc=pass) header.from=siemens.com ARC-Seal: i=2; a=rsa-sha256; t=1615579727; cv=pass; d=google.com; s=arc-20160816; b=kvJo9IVrAEGggALnrkcNpEEX1SEOMIVhz4QoMHvrW3h/FsY+9j3MUr3C2OiX0dMprH YnJc6v78a7b+46869v/id8YJHSeva6+Lwat4xeBhE0ivA0+MHrISmXmkr8MGZ9ivwVBp 2kBtfIBq/12eTfDUuK6Gvlhh9dvUsCtDqJSOmQLV0yEuB7JcEmz9eUcB41DdcLjwnLOJ oiZ0SCBQefCvFAXRS3jJSKclE74zriCoBW27hLE8Ff71Ab6r7lZ3ELbF72CdkikYi/xa kw3hCaV9ZPtrheEol0RnIChW1ygykLI8a71M5MR6n+zg1IWEn5InnYJRRq5AgpcOYhEb B1Zw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :sender:dkim-signature; bh=ztYMsoPh8dIAdf005PDczirA0ktD0tp/os7xnDjLxVM=; b=py/ugAWG7XR6npbRBUQfp2/fR9MRHWmH+dcMKU5CGCZm7eLzwsuNIlHKTT73avt0Ct MicVsXa0KCYxx4eGZshmJbMnDPG6Z6yyfSxtqMDmIPl/Ru3+E/XOxN/UH+MiZM/qB5mq 9Su4J9Zs5D/6fNIzyXtv6NUSf15OP6+IYlUyy3e0+RRq/YTBqho0fG/6/A7jlorFECZT wiSmhyGnE86UHWSkFINtKCiOibUTKImP9AWBbsGIjnzIleLKw6Pv48H12GSj+kKO57dB 5pTTeLjJyovJvOD9MZW4+t4cSJbEzrFMQXl50ZufJuIShXylziNdlKChJp3u0i2Hev1z oxsA== ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=pass (google.com: domain of silvano.cirujano-cuesta@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=silvano.cirujano-cuesta@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding:x-original-sender :x-original-authentication-results:precedence:mailing-list:list-id :list-post:list-help:list-archive:list-subscribe:list-unsubscribe; bh=ztYMsoPh8dIAdf005PDczirA0ktD0tp/os7xnDjLxVM=; b=s5Pive11uCL5p2Xo35fbCxZ3qyJvJWriztTr7PP6eTJx4JEw/NV0xmUArBRyLVQGtl Z2+fBLf61R94KpHVFPTWFQFmNhVe4r7GArEfLv+8KeFLxv6P9Q8317R0ZhXWoDBukkms lL8nG6x6/WtVRfYSY3m6ZdH5VNcFoYj5PD6sC18+7cdqXyVpJCHMNAgG/N2Jv4hpvBCC +361goXu5VVhsvMOU+7JOyIToNg8YttTpcdYqU6cfvAZnTUzAhb+BN5Gmy6Dx3IdrDHE Yef3UBw4PdQWiC7FEeR2UScitwYNoLTQP8VI1cQnLoIAaIS3jC/p03oW/l2cOcBXq8Sa Vxfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=sender:x-gm-message-state:from:to:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding :x-original-sender:x-original-authentication-results:precedence :mailing-list:list-id:x-spam-checked-in-group:list-post:list-help :list-archive:list-subscribe:list-unsubscribe; bh=ztYMsoPh8dIAdf005PDczirA0ktD0tp/os7xnDjLxVM=; b=OwKx2K4qWzUJ7rXYQPQvSZh0vN0aDHjjhdmC89XHWhG1gJZcLQcOU8ROIT5BJpJtNo 10gLSoiNMckUm/9t7+np2MVzwcz2jo9Cd1nseJHKqjBvD3ND5qPCgku/s2+IXpUDcsxD B6tm0GO3xVEq/1ZTEAsKO5hjDUj66SMLLec6tT7y6D1N/RGQ02rHgFVD9/4gp6r+OSTG NZaik5/56oURUSL5IA5rmM8pq93VApEU+XBzDtbqulmqU0LggmD7SAejUvvwpRDLbLKJ mHjRZy3hFuKXasxMODbKNwOD/22RWwV3tIM2dtyLNBWC1BGv5IFea03KynmrcReRo6zJ 7wjQ== Sender: isar-users@googlegroups.com X-Gm-Message-State: AOAM531BIGAAV1VxVMfZQnwVmphQsGbURLmqFVS5OQ6NTvd/O4Rt1YFh JF/O2IkEiUeOaKTvjZFwQo8= X-Google-Smtp-Source: ABdhPJyieaQIbQixY1q+4ev7+CIN22oJYJqbkrwsQtXqTFlo7M6DNfJw/CPH60LJZTc0mGPqovFW5Q== X-Received: by 2002:adf:a1ce:: with SMTP id v14mr15840030wrv.228.1615579727724; Fri, 12 Mar 2021 12:08:47 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:adf:d1e6:: with SMTP id g6ls1049204wrd.3.gmail; Fri, 12 Mar 2021 12:08:46 -0800 (PST) X-Received: by 2002:a5d:698e:: with SMTP id g14mr15483277wru.127.1615579726887; Fri, 12 Mar 2021 12:08:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1615579726; cv=none; d=google.com; s=arc-20160816; b=WhQ21xAkUQMSV9mDW2fK3Y6X9S57rLJVpo4sLRHf1o9PDgXDGsfwIg9hq2FK9YK0yG usdHFDh/I0RsqRHeABAwVJ/dxeYrgj9TEBdtzxWE2S6rsjFH8gxPDmgX4YLBbqB+OUWc 8vn4I+Hd4tUnGO41pIFrV0YbKDQmoVVqUlVQtc7sGWd/lIC55g1FgjZiImuAQXdgxo6J ybOT+AwV3JFU6jO0C+eC6WeMDKVV+MZ8+et3eYfwHEea4I03oIDP/MEySvR6zKGnPpc2 V4t2EP6MmHP9TvN/NZndIGPZFtPyrkIGpX8esjCY2E/Y4hmuz5VaJBpxo96ca7j0vEw5 hHIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from; bh=xMyd0Dgf/XnmoPeMNVkHTMwC820lpBNwUb7hHcTpMtw=; b=eBQvIXQYXQ6b4m/uIhEwsjhDOMG3kAzG/jvRvAI/yDj/Tw30k/ZiNoPSCn8RmJHgvy YMF+PuJbp3FzJJ4rOjPhucwh0hUkkXGQ5BN83+GMchSuNRY30vUuqmle5kas3qBpyJYn d+mpLDjEYnF56XU1Xu92tfRj7xrVnt8MI92glvL11y3beKYYEyjIKdZVt2wycUmlRZAz S9DiuVLaTC8kxuaTmTiwsCuPbgSNiYlBjvpK8KitgD1ksMi/rEyzDTC5v58Xd0Ue7Y9d TWd842SyQupRA3helNMC2Vj8yJuzOdUY66PNxAZpy5i7mPE5oop6KlJ3zf33HF53d4lk X18Q== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of silvano.cirujano-cuesta@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=silvano.cirujano-cuesta@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from gecko.sbs.de (gecko.sbs.de. [194.138.37.40]) by gmr-mx.google.com with ESMTPS id s1si218714wru.4.2021.03.12.12.08.46 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 12 Mar 2021 12:08:46 -0800 (PST) Received-SPF: pass (google.com: domain of silvano.cirujano-cuesta@siemens.com designates 194.138.37.40 as permitted sender) client-ip=194.138.37.40; Received: from mail1.sbs.de (mail1.sbs.de [192.129.41.35]) by gecko.sbs.de (8.15.2/8.15.2) with ESMTPS id 12CK8kVi020412 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 12 Mar 2021 21:08:46 +0100 Received: from md1sf36c.ad001.siemens.net ([167.87.3.106]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id 12CJwiaQ008930 for ; Fri, 12 Mar 2021 20:58:45 +0100 From: Silvano Cirujano Cuesta To: isar-users@googlegroups.com Subject: [PATCH v7 4/5] docs: document creation of container images Date: Fri, 12 Mar 2021 20:58:42 +0100 Message-Id: <20210312195843.96000-5-silvano.cirujano-cuesta@siemens.com> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210312195843.96000-1-silvano.cirujano-cuesta@siemens.com> References: <20210312195843.96000-1-silvano.cirujano-cuesta@siemens.com> MIME-Version: 1.0 X-Original-Sender: silvano.cirujano-cuesta@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of silvano.cirujano-cuesta@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=silvano.cirujano-cuesta@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com 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-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1694058128771148728?= X-GMAIL-MSGID: =?utf-8?q?1694058128771148728?= Signed-off-by: Silvano Cirujano Cuesta --- doc/user_manual.md | 127 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) diff --git a/doc/user_manual.md b/doc/user_manual.md index a4f3d1d..f6f49bc 100644 --- a/doc/user_manual.md +++ b/doc/user_manual.md @@ -19,6 +19,7 @@ Copyright (C) 2016-2019, ilbers GmbH - [Add a Custom Application](#add-a-custom-application) - [Enabling Cross-compilation](#isar-cross-compilation) - [Create an ISAR SDK root filesystem](#create-an-isar-sdk-root-filesystem) + - [Create a containerized ISAR SDK root filesystem](#create-a-containerized-isar-sdk-root-filesystem) - [Creation of local apt repo caching upstream Debian packages](#creation-of-local-apt-repo-caching-upstream-debian-packages) @@ -84,6 +85,9 @@ If your host is >= buster, also install the following package. apt install python3-distutils ``` +If you want to generate containerized SDKs, also install the following packages: `umoci` and `skopeo`. +Umoci is provided by Debian Buster and can be installed with `apt install umoci`, Skopeo is provided by Debian Bullseye/Unstable and has to be installed either manually downloading the DEB and installing it (no other packages required) or with `apt install -t bullseye skopeo` (if unstable/bullseye included in `/etc/apt/sources.list[.d]`). + Notes: * BitBake requires Python 3.4+. @@ -223,6 +227,54 @@ qemu-system-x86_64 -m 256M -nographic -bios edk2/Build/OvmfX64/RELEASE_*/FV/OVMF qemu-system-i386 -m 256M -nographic -hda tmp/deploy/images/qemui386/isar-image-base-debian-buster-qemui386.wic.img ``` +### Generate container image with root-filesystem + +A runnable container image is generated if you set IMAGE_TYPE to 'container-img'. +Getting a container image can be the main purpose of an ISAR configuration, but not only. +A container image created from an ISAR configuration meant for bare-metal or virtual machines can be helpfull to test certain applications which requirements (e.g. libraries) can be easily resolved in a containerized environment. + +Container images can be generated in different formats, selected with the variable `CONTAINER_FORMAT`. One or more (whitespace separated) of following options can be given: + - `docker-archive`: (default) an archive containing a Docker image that can be imported with [`docker import`](https://docs.docker.com/engine/reference/commandline/import/) + - `docker-daemon`: resulting container image is made available on the local Docker Daemon + - `containers-storage`: resulting container image is made available to tools using containers/storage back-end (e.g. Podman, CRIO, buildah,...) + - `oci-archive`: an archive containing an OCI image, mostly for archiving as seed for any of the above formats + +Following formats don't work if running `bitbake ...` (to build the image) from inside of a container (e.g. using `kas-container`): `docker-daemon` and `containers-storage`. +It's technically possible, but requires making host resources (e.g. the Docker Daemon socket) accessible in the container. +What can endanger the stability and security of the host. + +The resulting container image archives (only for `docker-archive` and `oci-archive`) are made available as `tmp/deploy/images/${MACHINE}/${DISTRO}-${DISTRO_ARCH}-${container_format}.tar.xz` (being `container_format` each one of the formats specified in `CONTAINER_FORMAT`). + +### Example + + - Make the relevant environment variables available to the task + +For one-shot builds (use `local.conf` otherwise): + +``` +export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE IMAGE_TYPE CONTAINER_FORMAT" +export IMAGE_TYPE="container-img" +export CONTAINER_FORMAT="docker-archive" +``` + + - Trigger creation of container image from root filesystem + +``` +bitbake mc:qemuarm-buster:isar-image-base +``` + + - Load the container image into the Docker Daemon + +``` +xzcat build/tmp/deploy/images/qemuarm/debian-buster-armhf-docker-archive.tar.xz | docker load +``` + + - Run a container using the container image (following commands starting with `#~:` are to be run in the container) + +``` +docker run --rm -ti --volume "$(pwd):/build" isar-buster-armhf:latest +``` + --- ## Terms and Definitions @@ -834,6 +886,81 @@ ii crossbuild-essential-armhf 12.3 all Inf ~# ``` +## Create a containerized ISAR SDK root filesystem + +### Motivation + +Distributing and using the SDK root filesystem created following the instructions in "[Create an ISAR SDK root filesystem](#create-an-isar-sdk-root-filesystem)" becomes easier using container images (at least for those using containers anyway) +A "containerized" SDK adds to those advantages of a normal SDK root filesystem the comfort of container images. + +### Approach + +Create container image with SDK root filesystem with installed cross-toolchain for target architecture and ability to install already prebuilt target binary artifacts. +Developer: + - runs a container based on the resulting container image mounting the source code to be built, + - develops applications for target platform on the container and + - leaves the container getting the results on the mounted directory. + +### Solution + +User specifies the variable `SDK_FORMAT` providing a space-separated list of SDK formats to generate. + +Supported formats are: + - `tar-xz`: (default) is the non-containerized format that results from following the instructions in "[Create an ISAR SDK root filesystem](#create-an-isar-sdk-root-filesystem)" + - `docker-archive`: an archive containing a Docker image that can be imported with [`docker import`](https://docs.docker.com/engine/reference/commandline/import/) + - `docker-daemon`: resulting container image is made available on the local Docker Daemon + - `containers-storage`: resulting container image is made available to tools using containers/storage back-end (e.g. Podman, CRIO, buildah,...) + - `oci-archive`: an archive containing an OCI image, mostly for archiving as seed for any of the above formats + +User manually triggers creation of SDK formats for his target platform by launching the task `do_populate_sdk` for target image, f.e. +`bitbake -c do_populate_sdk mc:${MACHINE}-${DISTRO}:isar-image-base`. +Packages that should be additionally installed into the SDK can be appended to `SDK_PREINSTALL` (external repositories) and `SDK_INSTALL` (self-built). + +Following formats don't work if running `bitbake -c do_populate_sdk ...` (to generate the containerized SDK) from inside of a container (e.g. using `kas-container`): `docker-daemon` and `containers-storage`. +It's technically possible, but requires making host resources (e.g. the Docker Daemon socket) accessible in the container. +What can endanger the stability and security of the host. + +The resulting SDK formats are archived into `tmp/deploy/images/${MACHINE}/sdk-${DISTRO}-${DISTRO_ARCH}-${sdk_format}.tar.xz` (being `sdk_format` each one of the formats specified in `SDK_FORMATS`). +The SDK container directory `/isar-apt` contains a copy of isar-apt repo with locally prebuilt target debian packages (for ). +One may get into an SDK container and install required target packages with the help of `apt-get install :` command. +The directory with the source code to develop on should be mounted on the container (with `--volume :`) to be able to edit files in the host with an IDE and build in the container. + +### Example + + - Make the SDK formats to generate available to the task + +For one-shot builds (use `local.conf` otherwise): + +``` +export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE SDK_FORMATS" +export SDK_FORMATS="docker-archive" +``` + + - Trigger creation of SDK root filesystem + +``` +bitbake -c do_populate_sdk mc:qemuarm-buster:isar-image-base +``` + + - Load the SDK container image into the Docker Daemon + +``` +xzcat build/tmp/deploy/images/qemuarm/sdk-debian-buster-armhf-docker-archive.tar.xz | docker load +``` + + - Run a container using the SDK container image (following commands starting with `#~:` are to be run in the container) + +``` +docker run --rm -ti --volume "$(pwd):/build" isar-sdk-buster-armhf:latest +``` + + - Check that cross toolchains are installed + +``` +:~# dpkg -l | grep crossbuild-essential-armhf +ii crossbuild-essential-armhf 12.3 all Informational list of cross-build-essential packages +``` + ## Creation of local apt repo caching upstream Debian packages ### Motivation From patchwork Fri Mar 12 09:58:43 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Silvano Cirujano Cuesta X-Patchwork-Id: 358 Return-Path: Delivered-To: ilbers.mnt@gmail.com Received: by 2002:a4a:c583:0:0:0:0:0 with SMTP id x3csp1558797oop; Fri, 12 Mar 2021 12:03:48 -0800 (PST) X-Received: by 2002:a2e:8706:: with SMTP id m6mr3304002lji.331.1615579428636; Fri, 12 Mar 2021 12:03:48 -0800 (PST) ARC-Seal: i=3; a=rsa-sha256; t=1615579428; cv=pass; d=google.com; s=arc-20160816; b=iYWE/1Hy7shg4ZZhsWs0fxPW4rs/jq1YtGmaBvoR3gKIjK6j0Spu9JENKLxe5G9fvS GULZEzLYBtZqfYhsHuZq4TFbRWXPa3D63zu8MXlbmjX7l8fAREo6Ky5lWcVV/0UiM5m9 lWfEv+ve55wyUqWOxkF6TX2ye4t1+1yO3dRcUVfZjHmkvjbC6jRxHdunERkn6GRsvMiA Vqh5ydkujNYusqcpSc0xP5nvmtFQE5bvYAJowQZBqz7SgL+zFvP3BEOjcNoXTMXkbqdn meCci8md4REL4SPbxHabniavjO6CXqHnhQQRqY5CHEN0vAf2n8TV0/vShV8GueJ3KtyH DQjw== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:to:from:sender:dkim-signature; bh=sopnZWehGnOpXJs2YM/GsM1y9d410xpQI6yrtvb2wGk=; b=smUrUYONQDWbqkZjqiqHupLLDwXFlJEOuh4s9TJwamBX6SDTE4iudr3ceFZ20nACTq qybKpJiDTx+gR/nDstjMYXDHRLB5vtuVB7yzPVSGT8ooNbA9/KQV0i6Tc/s7ktL0rAyz 7lg57NUJ4oZzUdCaa6ZI5MJWIwuxgxMne1Izo56k4+Aa7UDGIfUkucH2nS0h+mkV60F2 FiL8SZyYkS6JqoB84OQ46c7OXs0w/l2WF/KZcPJWx+l5AUDHpHWlG23NbmBwzCoF7hb8 aDSrGC23DRvbz8Q1l644FIzJl9HK7khILzc1mBpZmEfIUrHoqwymyi5rDGNmIo5fjRah K44g== ARC-Authentication-Results: i=3; mx.google.com; dkim=pass header.i=@googlegroups.com header.s=20161025 header.b=bYNEJmfX; arc=pass (i=2 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of isar-users+bncbcd6jj6cqqfrbjesv6bamgqeqm5ht3i@googlegroups.com designates 209.85.220.55 as permitted sender) smtp.mailfrom=isar-users+bncBCD6JJ6CQQFRBJESV6BAMGQEQM5HT3I@googlegroups.com; dmarc=fail (p=NONE sp=NONE dis=NONE arc=pass) header.from=siemens.com Received: from mail-sor-f55.google.com (mail-sor-f55.google.com. [209.85.220.55]) by mx.google.com with SMTPS id r14sor3702371ljm.66.2021.03.12.12.03.48 (Google Transport Security); Fri, 12 Mar 2021 12:03:48 -0800 (PST) Received-SPF: pass (google.com: domain of isar-users+bncbcd6jj6cqqfrbjesv6bamgqeqm5ht3i@googlegroups.com designates 209.85.220.55 as permitted sender) client-ip=209.85.220.55; Authentication-Results: mx.google.com; dkim=pass header.i=@googlegroups.com header.s=20161025 header.b=bYNEJmfX; arc=pass (i=2 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of isar-users+bncbcd6jj6cqqfrbjesv6bamgqeqm5ht3i@googlegroups.com designates 209.85.220.55 as permitted sender) smtp.mailfrom=isar-users+bncBCD6JJ6CQQFRBJESV6BAMGQEQM5HT3I@googlegroups.com; dmarc=fail (p=NONE sp=NONE dis=NONE arc=pass) header.from=siemens.com ARC-Seal: i=2; a=rsa-sha256; t=1615579428; cv=pass; d=google.com; s=arc-20160816; b=N8CgF+3FSrJgzjdTyOV6kd6FYmYIlGU6a4dTgOSJZ0hSc9BK2HbxXLFPeq6y1xfynA DBV1/B4w1AF7d7EcNMGLNERpLlAoEoH3ePokYe3Nj+I6sZbQ1hIzYG2Kg9bJRxma2iVZ XfMrguTHpMeDR60pQ9QGe9vBx/SCpR1V/BkLS+lPonkeh+tbGYDeUVFSTCJCidPbgm3g l9EctCSYfwOFh5q0csqPxcq+OPNuqu27LE/ABcAcXcusE156kKqPJ2fLysUK9VRrupoh omSvcR4mkGTu7DrSs8wcFPvJ8JC8wTVtY8PteTBxrq8pr89Ej6p/CIF9+J0cU+ZHuzaC hEwA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:to:from:sender:dkim-signature; bh=sopnZWehGnOpXJs2YM/GsM1y9d410xpQI6yrtvb2wGk=; b=0TrB1cyPXo9dX+aQdtJ+r3ibGwJMDCCutrMl2+MERlWl1NdPGaPiWo9QzoCI0D1ROi gozJmW5GrAyQ22b2lZeRORxrGoCKjRJJiOEbpaJKdiY65k/RZ569vcM/iRL43hO78VQt v+go58D1cD9tEa3Wn8ijck7vDc0WSzlU35Z/2RukA9jFLolWSPOK5Po6XWp0McDHKq44 ak+a2HZkMc0HXMQYzfvixSiRnUyM3QFmpmNPzDO7kVplJni1X/YKYmKuXWU1sPGEmUtT hf0nhGl6X3d+U1rRbi6dOYnZbcoxSvXEBUSDZQFg5UX05OESZ+qomo3OuRsGJGeuPbU/ 5X7g== ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=pass (google.com: domain of silvano.cirujano-cuesta@siemens.com designates 194.138.37.39 as permitted sender) smtp.mailfrom=silvano.cirujano-cuesta@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references :mime-version:x-original-sender:x-original-authentication-results :precedence:mailing-list:list-id:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=sopnZWehGnOpXJs2YM/GsM1y9d410xpQI6yrtvb2wGk=; b=bYNEJmfXB4LPRVTZKDL/tY4dUs29ziKjESJ8uVPiDWm45WXDde1ZmJMqcK/qQ+aQZS V+f4t7QklSVN3911eVxNcwelPYUOQuIEJBsxfG4fbjkS1AcRMybIsI6EjXPO201joiL4 yCsqfpSFLDiSXKx3tIfGTuNg7hvl9IuIWWbYOE8GdUMItUi0+o7X1TT0/VYgJ8itdDVo XcQ2pZAt9dgdeNrIBII7Z55wR+OVCMAONa0c4toxVSjv0cJZ0Tx/+XokXJzFxSCVm+i2 ST14uBPP3TyuvIu3PgzWJCKGxxy4QGNtV6YysOSEvF81qFaco4WMSzCG7xE1YicblGEY tkfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=sender:x-gm-message-state:from:to:subject:date:message-id :in-reply-to:references:mime-version:x-original-sender :x-original-authentication-results:precedence:mailing-list:list-id :x-spam-checked-in-group:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=sopnZWehGnOpXJs2YM/GsM1y9d410xpQI6yrtvb2wGk=; b=prmhHfeJy4wahXIuIxvYSFx3zIUAX22gHOrxCBQ6g1faxWaAYMA4SwgCsV50tPPP4Q MWiH4IdiYbsGGCckFXqEROgKXHp4KhmRnarvCWhwOXVTSRh9qpkVjBkyS5O11IfScSTy QX8eLmSywH39VS/LP2dQtewjHDkIqjpWJWQunwEqVF+wc42kg6gTan8XiUrOMe+JGW3d BowW4Xeqddar5Ahe75g3WKpzuEb3qPcV8xz2JvOVeMh/JQddT0nTXCZsDG/gwuCIFciB +USIuVEJZDM7PrHxDAovllUhht/FZrsbIb/TBC4+NJfPTY6UzrSe7aneeUb29P1JQhG+ Eqnw== Sender: isar-users@googlegroups.com X-Gm-Message-State: AOAM530I5pO1TpxOwQzHeOUArdUZph4eBZFa1N3n4powvxYU6XME9kpG TatMl9rPaJ/wZkSbQSLIAzQ= X-Google-Smtp-Source: ABdhPJzaCv9St07MAv5nwiRagCzRnLSvc2J8cKDqedKQsam7LbKF/4ANG80Iz7OWU6A9B5sgd7UbIA== X-Received: by 2002:a2e:8e75:: with SMTP id t21mr3396577ljk.216.1615579428267; Fri, 12 Mar 2021 12:03:48 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a2e:3c10:: with SMTP id j16ls2193992lja.2.gmail; Fri, 12 Mar 2021 12:03:47 -0800 (PST) X-Received: by 2002:a2e:3818:: with SMTP id f24mr3469772lja.466.1615579427376; Fri, 12 Mar 2021 12:03:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1615579427; cv=none; d=google.com; s=arc-20160816; b=0FPWoqu72DzhRSPY4+eZMPKE3+2I9UKWzN2SluMJI6Ufoz9/eth5nuCkWaOnnKQDL9 aKXjh2IAA+/YUeuWlU9tPNePhZEZMhl0kXFqRZamfJxJxtBjN+eGkKFH0yby0p6gGtoE SqYPpym20XqWribKvCHVccMXjLb8/ezzqrRblZiWm4gQJw5vjH5ZWk4+Xgy+27IWvtYL 6JDsnsoYFxcJrtmrzijRvFeSRHPptUhgO7uQZ/nhKR1OKqxsmtI7IcMGtRTVnsrn+yjR H0tyk9UZXuzlNxC1ABXfG9U0BXbQ7Yl9t+B+CcQJHXKLLXCxuC/BMZa4JPt6ghlqtugv Zxyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from; bh=bwd5SkJ/JFSlvz6OwGn/bh80sWbNmD6yYkMrQutwxAg=; b=Y8XUcJ8lLBowzTI92980poBAY2mD5fOXESP6sPTB3wUpCH5uDiaAqWqwevzuiBjIxw +Iveg0CG8mh648Z/hBOMadrXB3dpVhiIoITyYIF89k1g4lYL8pW/oC6X7V5g85lpJWNH Pcm9ABL1EOVqWogEoQ74VfpQMg85lKbKC63mypWnIEvGymCEYVAaFMukKKd2Rf4wqf5G YvXu37jvQS3EGTFQgdqbD9rrehhR2dRyG//KWItfBT7RdLF8+up5xZSB7bOb2ZU+qxav LCjKXeaxg34sJAwjiI138uLecFTb15fEnA9mXimGx01WBmrCb7Iu+XdVOU6VZtCnInqi RgHg== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of silvano.cirujano-cuesta@siemens.com designates 194.138.37.39 as permitted sender) smtp.mailfrom=silvano.cirujano-cuesta@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from lizzard.sbs.de (lizzard.sbs.de. [194.138.37.39]) by gmr-mx.google.com with ESMTPS id q3si310550lji.2.2021.03.12.12.03.47 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 12 Mar 2021 12:03:47 -0800 (PST) Received-SPF: pass (google.com: domain of silvano.cirujano-cuesta@siemens.com designates 194.138.37.39 as permitted sender) client-ip=194.138.37.39; Received: from mail1.sbs.de (mail1.sbs.de [192.129.41.35]) by lizzard.sbs.de (8.15.2/8.15.2) with ESMTPS id 12CK3k8b020142 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 12 Mar 2021 21:03:46 +0100 Received: from md1sf36c.ad001.siemens.net ([167.87.3.106]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id 12CJwiaR008930 for ; Fri, 12 Mar 2021 20:58:46 +0100 From: Silvano Cirujano Cuesta To: isar-users@googlegroups.com Subject: [PATCH v7 5/5] ci: add container image sample configurations Date: Fri, 12 Mar 2021 20:58:43 +0100 Message-Id: <20210312195843.96000-6-silvano.cirujano-cuesta@siemens.com> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210312195843.96000-1-silvano.cirujano-cuesta@siemens.com> References: <20210312195843.96000-1-silvano.cirujano-cuesta@siemens.com> MIME-Version: 1.0 X-Original-Sender: silvano.cirujano-cuesta@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of silvano.cirujano-cuesta@siemens.com designates 194.138.37.39 as permitted sender) smtp.mailfrom=silvano.cirujano-cuesta@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com 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-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: =?utf-8?q?1694057815103262118?= X-GMAIL-MSGID: =?utf-8?q?1694057815103262118?= Add samples for the creation of container images and containerized SDKs as well as testing configurations to the CI script. Signed-off-by: Silvano Cirujano Cuesta --- meta-isar/conf/local.conf.sample | 3 ++ meta-isar/conf/machine/container.conf | 5 ++++ .../conf/multiconfig/container-bullseye.conf | 4 +++ .../conf/multiconfig/container-buster.conf | 4 +++ .../conf/multiconfig/container-stretch.conf | 4 +++ scripts/ci_build.sh | 29 ++++++++++++++++++- 6 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 meta-isar/conf/machine/container.conf create mode 100644 meta-isar/conf/multiconfig/container-bullseye.conf create mode 100644 meta-isar/conf/multiconfig/container-buster.conf create mode 100644 meta-isar/conf/multiconfig/container-stretch.conf diff --git a/meta-isar/conf/local.conf.sample b/meta-isar/conf/local.conf.sample index 107496c..87ba26f 100644 --- a/meta-isar/conf/local.conf.sample +++ b/meta-isar/conf/local.conf.sample @@ -51,6 +51,9 @@ BBMULTICONFIG = " \ qemuamd64-buster \ qemuamd64-buster-tgz \ qemuamd64-bullseye \ + container-stretch \ + container-buster \ + container-bullseye \ qemumipsel-stretch \ qemumipsel-buster \ qemumipsel-bullseye \ diff --git a/meta-isar/conf/machine/container.conf b/meta-isar/conf/machine/container.conf new file mode 100644 index 0000000..367d790 --- /dev/null +++ b/meta-isar/conf/machine/container.conf @@ -0,0 +1,5 @@ +# This software is a part of ISAR. +# Copyright (C) 2015-2017 ilbers GmbH + +IMAGE_TYPE = "container-img" + diff --git a/meta-isar/conf/multiconfig/container-bullseye.conf b/meta-isar/conf/multiconfig/container-bullseye.conf new file mode 100644 index 0000000..200b241 --- /dev/null +++ b/meta-isar/conf/multiconfig/container-bullseye.conf @@ -0,0 +1,4 @@ +# This software is a part of ISAR. + +MACHINE ?= "container" +DISTRO ?= "debian-bullseye" diff --git a/meta-isar/conf/multiconfig/container-buster.conf b/meta-isar/conf/multiconfig/container-buster.conf new file mode 100644 index 0000000..78b0324 --- /dev/null +++ b/meta-isar/conf/multiconfig/container-buster.conf @@ -0,0 +1,4 @@ +# This software is a part of ISAR. + +MACHINE ?= "container" +DISTRO ?= "debian-buster" diff --git a/meta-isar/conf/multiconfig/container-stretch.conf b/meta-isar/conf/multiconfig/container-stretch.conf new file mode 100644 index 0000000..3ff8bcb --- /dev/null +++ b/meta-isar/conf/multiconfig/container-stretch.conf @@ -0,0 +1,4 @@ +# This software is a part of ISAR. + +MACHINE ?= "container" +DISTRO ?= "debian-stretch" diff --git a/scripts/ci_build.sh b/scripts/ci_build.sh index 3868fb6..a8d861d 100755 --- a/scripts/ci_build.sh +++ b/scripts/ci_build.sh @@ -17,6 +17,15 @@ cd "$(dirname "$0")/.." # Start build in Isar tree by default BUILD_DIR=./build +# Check dependencies +DEPENDENCIES="umoci skopeo" +for prog in ${DEPENDENCIES} ; do + if [ ! -x "$(which $prog)" ] ; then + echo "missing $prog in PATH, exiting" >&2 + exit 1 + fi +done + BB_ARGS="-v" TARGETS_SET="\ @@ -33,7 +42,8 @@ TARGETS_SET="\ mc:qemumipsel-buster:isar-image-base \ mc:nand-ubi-demo-buster:isar-image-ubi \ mc:rpi-stretch:isar-image-base \ - mc:qemuamd64-focal:isar-image-base" + mc:qemuamd64-focal:isar-image-base \ + " # qemu-user-static of <= buster too old to build that # mc:qemuarm64-buster:isar-image-base # mc:qemuarm64-bullseye:isar-image-base @@ -45,6 +55,12 @@ TARGETS_SET_BULLSEYE="\ mc:qemumipsel-bullseye:isar-image-base \ " +TARGETS_CONTAINERS="\ + mc:container-stretch:isar-image-base \ + mc:container-buster:isar-image-base \ + mc:container-bullseye:isar-image-base \ +" + CROSS_TARGETS_SET="\ mc:qemuarm-stretch:isar-image-base \ mc:qemuarm-buster:isar-image-base \ @@ -237,3 +253,14 @@ bitbake $BB_ARGS mc:qemuamd64-stretch:isar-image-base mv "${LAYERDIR_isar}/scripts/lib/wic/canned-wks/sdimage-efi.wks.ci-backup" "${LAYERDIR_isar}/scripts/lib/wic/canned-wks/sdimage-efi.wks" mv ${BUILDDIR}/tmp/deploy/images/qemuamd64/isar-image-base-debian-stretch-qemuamd64.wic.img.ci-backup \ ${BUILDDIR}/tmp/deploy/images/qemuamd64/isar-image-base-debian-stretch-qemuamd64.wic.img + +# Finalize with containerized images, since they remove some not-needed packages from the local.conf +sed -i -e 's/\(IMAGE_INSTALL = .*\) example-module-${KERNEL_NAME}\(.*\)/\1\2/g' conf/local.conf +sed -i -e 's/\(IMAGE_INSTALL = .*\) enable-fsck\(.*\)/\1\2/g' conf/local.conf +bitbake $BB_ARGS $TARGETS_CONTAINERS +while [ -e bitbake.sock ]; do sleep 1; done +# and SDK container image creation +SDK_FORMAT="docker-archive" BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE SDK_FORMAT" \ + bitbake $BB_ARGS -c do_populate_sdk mc:container-stretch:isar-image-base +while [ -e bitbake.sock ]; do sleep 1; done +