From patchwork Mon Mar 29 06:56:36 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: 390 Return-Path: Delivered-To: ilbers.mnt@gmail.com Received: by 2002:a4a:378f:0:0:0:0:0 with SMTP id r137csp3546326oor; Mon, 29 Mar 2021 08:56:43 -0700 (PDT) X-Received: by 2002:adf:e108:: with SMTP id t8mr28740641wrz.371.1617033403029; Mon, 29 Mar 2021 08:56:43 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1617033403; cv=pass; d=google.com; s=arc-20160816; b=oVBMMwpf/nb31Tbc41dYArD56A+1d7beRweJLkuH2mZWO7iKaEm1dAUuM1btsabVvP vOmpoq/mJSz6mLIOocIRY7r8UrG97ooKvc+W0ne0hHDk7gcgAGSeXJlw+awLqP+gObTR RwAURZnbeVR1ufg+dYOgwjpYqqm681kN7W2wtIyYSWqxUpbzryCauRsIxUuK3Epr99KL TllH+xN6Z0m48j0WRupXj3FuAx1WucXoDP7P6bZqINI9H/nX9XX6O2G2/xvxDU+/gYDO BXOg9+wGxknDEzjzKyIvHr4pAPV1xKjhvw41A/YeNvlaemzfp+C0JOIn83xsVOpZBsR6 IPrg== 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=77koU1m5Pi8cFpZ5xyTFOZstUxhBaliD0r3QMvXeJPo=; b=IwpKy3b4wS84i31NgDn/SK/XoibPfA6p2Lfjuay7usu5K70+W6suPVMR2qGMvjMEr8 7u54ZoF2pKodAk56OsFAj6DUhAQEPORvqLqWsnxm+TWsEXl8GoNazKvyicjkEskiGXR6 d+JGn79SecqIdnQIWbxdbiQQrr45SLkX40hqkRxFuwxHzcKgyJqSsw2B83tSeFWOSgHl 2SAMXPf91wdFQROUUMx9DJntau7Ft1hdgVAqARr8VD78zRS3uRT4u8kjE973pcNOXqOe AXfA53gOKEugB9dOV8lYDADBJzha9l+qHGOnGSTIUWNNkzruSTz5legw4FIVmnMd6BaG R/OQ== ARC-Authentication-Results: i=3; mx.google.com; dkim=pass header.i=@googlegroups.com header.s=20161025 header.b=dMwYvpOB; arc=pass (i=2 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of isar-users+bncbcd6jj6cqqfrboxrq6bqmgqe7gl7qja@googlegroups.com designates 209.85.220.55 as permitted sender) smtp.mailfrom=isar-users+bncBCD6JJ6CQQFRBOXRQ6BQMGQE7GL7QJA@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 i11sor8225600wmg.8.2021.03.29.08.56.42 (Google Transport Security); Mon, 29 Mar 2021 08:56:43 -0700 (PDT) Received-SPF: pass (google.com: domain of isar-users+bncbcd6jj6cqqfrboxrq6bqmgqe7gl7qja@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=dMwYvpOB; arc=pass (i=2 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of isar-users+bncbcd6jj6cqqfrboxrq6bqmgqe7gl7qja@googlegroups.com designates 209.85.220.55 as permitted sender) smtp.mailfrom=isar-users+bncBCD6JJ6CQQFRBOXRQ6BQMGQE7GL7QJA@googlegroups.com; dmarc=fail (p=NONE sp=NONE dis=NONE arc=pass) header.from=siemens.com ARC-Seal: i=2; a=rsa-sha256; t=1617033402; cv=pass; d=google.com; s=arc-20160816; b=eXoKr2jIZBz8+NEPH8q6/rry+8lrGIWFCKGundwXPdSfL01GGzePWPqoMrD4aNei47 dgx2yv/rFJsUIQL6Htj4CLyKfwNy+Hx9RdkQAdD3aPOFnN9SJHCRVLGneCz024z59w2n Hnvz0LYCCqxAQm6wQMqnTL585cp+Qx1EqtQ92uPux+7D257zvNHXq0BDQR1wLHgCbSSk ZIqC8pVhxPovBOybXRxMaEup4Ymd5Mlj21qgjBbLzkH4ejFz20Yxbq34pT2vWD9L0cd7 ZdNtmEPimOSvwCYmEGa3QIDGN76M6Uxozeyb7W5PgQuad0yT/F7LvGvJ4Xz45zRXJttv pJvQ== 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=77koU1m5Pi8cFpZ5xyTFOZstUxhBaliD0r3QMvXeJPo=; b=lQRqFbOVP6qLpiKSnK6xClm505PQa0WyJ6EBjBAOPP12LavprAS51brfEAIICIeraG V0r4USKxg1W2oJMOftDj+ZjNtkNuw6VjSttL7L+qcy3SwsF/UT2GbAEGG06qfOLWjtN9 uByffQ+GdLFs5VnS3LeYk//3rabmi0um47jnG61ln1BNKprwDeWIsKfKI4HUrO2m3ooP HANNB7EuKZDiilY8m0AOVMofbbxSDeVwhzIs6sqLlJNwO91jShGohn/ykY1UaRFIbq1a gl4vDx2mgDIkbX1FZSiqoxOT2FauUJ/+AS7XQpzBHWrA3dHc4NMEvJLcFHjD+b1mHZ25 5bOw== 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=77koU1m5Pi8cFpZ5xyTFOZstUxhBaliD0r3QMvXeJPo=; b=dMwYvpOBK/CTiLn8WGC3so1i8qJZyp9+fe2Q2NfNXxdK7iNCbVmlgFmzLI3QIhq/YK LJP0LXaOaY3cucSkN54wVFwlpygV+6pXG5pldQkONDwkbwqSrJ9JBVCRXWozd7gzShNR 9ZzPV8ZCqOovOm4/2ShqjcwdSsweoDptoz5AmA8lKlPrWTmrQvTLp1M9lF9hDpj1yzlz FDccAQ1bSk+cWMZKzFVPWfLT1UpnRS3lfTATkrbWswjH3zJlovPWubdkYPxdmmdegUbV aSkqISGPWqS4egkf+KhRBNDFIn0KZPx01W7NHJGuCUUjAJMx8ZDL6aKxwJYKZMFQJVIO 7Zjw== 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=77koU1m5Pi8cFpZ5xyTFOZstUxhBaliD0r3QMvXeJPo=; b=fLyOYKMosCxAT8UigWU6qBBnIVENqksB3z1qEBUUZ18B+CxgNEN1RI/R0/t0VF4iIL RkPU+rQo3fQYU1YLAMJk/b1VhkmvWGgyiNIhVfwBdbb8rpGqFG/w683n3yqx0eBXSh66 fzHMSTiV2sJM3+1WsLn+eB2lGPR040ctycn5ZkmbPJmlliFZd7RYv77Ez1Xmz6Ku98dU 5GCn9w4837r8jOOrQAYX9lW49G4pDBkd7QijuWe1AUqMGqh5dsOcr9RIajBKRjUUdNFK 1qPzai4qG7IHjLCVcj20GZ2znQq+T4ZbFxhS3p0o8RvZiRwU7Vz1wTMzfdgsECZtxTjR 2IAw== Sender: isar-users@googlegroups.com X-Gm-Message-State: AOAM531aCmbSe87VeHCqXspIvmVjLEcHgVSy/1++7GRppPdIgEIByuzJ MUbWXsmgB5QFIMExu1gK+wk= X-Google-Smtp-Source: ABdhPJyHeZwI2nJJcEP4YVDu5UjJm90xUtsixaPgIgcmiqcCyxv8QVV9MSNSQx3EEPitV7fUTmZlPg== X-Received: by 2002:a05:600c:3796:: with SMTP id o22mr17631336wmr.139.1617033402454; Mon, 29 Mar 2021 08:56:42 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a1c:24d4:: with SMTP id k203ls7921056wmk.0.canary-gmail; Mon, 29 Mar 2021 08:56:41 -0700 (PDT) X-Received: by 2002:a1c:7ec4:: with SMTP id z187mr25472741wmc.3.1617033401742; Mon, 29 Mar 2021 08:56:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617033401; cv=none; d=google.com; s=arc-20160816; b=XVL87wREaE/AQWz2SZBSSswOXvZ0FO9K9bS9eHUu4vfs2hWhdUlJDE21E5seBY3IWY y0bCJpUwyHZFpcSeijB59iTdRkatdBXIJHVPRx46zSOrxrQ3K4Oqflll77LJ9OA+VXTr sSN3V7sO8a6Gyw2AMWL1+9pOf98za9mY7ZydFHpWZy5OX4WQ+DbAY/S64sSMjdWcUJyq zwFyaGu5PDU/78Zoe4aBNuNUULQPE164YH2bdGtvaHaF/gbw1GaH4Dayv70p4rN8a3Y7 7mKOfQVuORdAw/9RDcb5qibLx4+/8K3/UVip8844TUc0/hrSSCGzXp6Qm01v6maWlBbL pOSg== 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=UoU5rtSUjdje4gcbAE4iAaL8dO/gY1W/Afi0o1RjDTQ=; b=xYmkw7uRxKzCIiiGJ2SMp5yKnuEAKM3miGZZKENPGpNkvymxhiX8ktjo+pD/JDuM/7 oKE5cTOs4xO6vdKXHQWJQ4BaAiFnq6mWHvLjvswq4H63BtzHvcTPzKVqh9G4g6wCgD3o zc1Qt08uxZX8AgIrzk2v59tnuShZWTQKirRlsoOK54hP3A7UJeC0tKsBJZmNrNKeGnU2 /Uoj9BKxVqJWenGbX18GJEs3Sk5ERCAmIsA95vVFFN9gUGU9/sIqSsZTu6YKrk7tR79k y0hAzBrDJhA3Y8Mp5/tNzrfXFMu/v6sVW9m1wYiVjP8zuyqj5dQ5qjMmzi9DxAGWnXTj enAA== 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 r11si690638wrm.1.2021.03.29.08.56.41 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 29 Mar 2021 08:56:41 -0700 (PDT) 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 12TFufg2000539 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 29 Mar 2021 17:56:41 +0200 Received: from md1sf36c.ad001.siemens.net ([167.87.46.205]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id 12TFufsk031984 for ; Mon, 29 Mar 2021 17:56:41 +0200 From: Silvano Cirujano Cuesta To: isar-users@googlegroups.com Subject: [PATCH v8 1/5] classes: add root filesystem containerizing class Date: Mon, 29 Mar 2021 17:56:36 +0200 Message-Id: <20210329155640.62445-2-silvano.cirujano-cuesta@siemens.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210329155640.62445-1-silvano.cirujano-cuesta@siemens.com> References: <20210329155640.62445-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?1695582417646877331?= X-GMAIL-MSGID: =?utf-8?q?1695582417646877331?= 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 Mon Mar 29 06:56:37 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: 393 Return-Path: Delivered-To: ilbers.mnt@gmail.com Received: by 2002:a4a:378f:0:0:0:0:0 with SMTP id r137csp3557998oor; Mon, 29 Mar 2021 09:11:44 -0700 (PDT) X-Received: by 2002:ac2:5e36:: with SMTP id o22mr17686043lfg.525.1617034304053; Mon, 29 Mar 2021 09:11:44 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1617034304; cv=pass; d=google.com; s=arc-20160816; b=EQ9QGiv8iH9UBiutxbw/N6s/jXfdmDp/seg/wSZbfIBbpPmF/hPmIa44eETMXcPBwS vX2UTJAKznHkHF5si62HJ63HfDvhzuz9gvJRKc2RSYx0AMHzrbJbWqqdn7X+Oy0JQJuU J/uYsf49ehNpRzFUScK9Amka1Fqad0Wgm8g5I9jybVn2h8/yyi9WqlRjlYEiVFLFs3qi ++ALtO2meVKTKTM6+/7mrsd8TotxDkOCN9WVsp7rdsZyY8q9/XbPjt+370/qJ2mI7Wp5 3QrJPNqOSVhcAl7ryU1AKxPsTkNuyIVXSOe/HW3ogbEtMfer0jI3bzm3QCklZ/6Q08Y7 JW3g== 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=t49AktHY97G3oYLwFHHd1TU+1wUg+/LIlRmJOTiQbHs=; b=oVkVmG/izCTK4HVChu6NZWSqe/bGXyh7B3izV+n4Icb3sCkDAUD58wKWy8aFLAjWb4 bPfpGK5D1ofpoRNf56rmCYo6ukKjrI9dHnNr+2WMq7BerKVEcV3aYzgLLg+H3zUXWvNZ LdWsQXcFMFWrDkfdb/zd8V4dFphLyzjBAKHL8fc+dVSjakIbkE3c3DHLP3Fs0XhkxExv J5rtnPJnsWcD8K+sUIDd7iVMeS16eCytuFg5omumV0+ZQe3x9+6guY0OhJLYtO3fg47w 3PEcf/xrb28qO5bHAt1WUARe2IVlCRvD0j5flbFjbySjjLikO70wtue8B5I34vC0fAF7 B3RA== ARC-Authentication-Results: i=3; mx.google.com; dkim=pass header.i=@googlegroups.com header.s=20161025 header.b=V27kt1TM; arc=pass (i=2 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of isar-users+bncbcd6jj6cqqfrbp7yq6bqmgqeclzpuhy@googlegroups.com designates 209.85.220.55 as permitted sender) smtp.mailfrom=isar-users+bncBCD6JJ6CQQFRBP7YQ6BQMGQECLZPUHY@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 e22sor7372691ljg.53.2021.03.29.09.11.43 (Google Transport Security); Mon, 29 Mar 2021 09:11:44 -0700 (PDT) Received-SPF: pass (google.com: domain of isar-users+bncbcd6jj6cqqfrbp7yq6bqmgqeclzpuhy@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=V27kt1TM; arc=pass (i=2 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of isar-users+bncbcd6jj6cqqfrbp7yq6bqmgqeclzpuhy@googlegroups.com designates 209.85.220.55 as permitted sender) smtp.mailfrom=isar-users+bncBCD6JJ6CQQFRBP7YQ6BQMGQECLZPUHY@googlegroups.com; dmarc=fail (p=NONE sp=NONE dis=NONE arc=pass) header.from=siemens.com ARC-Seal: i=2; a=rsa-sha256; t=1617034303; cv=pass; d=google.com; s=arc-20160816; b=jJdDvzkpUn7OZJfKxW/oDYN+7x5ImuxjnNfif2+Lttk2VJMIzujOT/+6jU3K/NCce6 dlw9WUBPTHrDTSMuDk3AeHFCcwBhfzHXh9epIgJv5k/a4kO4BeT1H0GQzvwiRQLeY2RL AcbVQH66iVIc5M7NXfWKm8OQQHXjHW3h8P/iGIqFc2TpXUFWMdaZWr2jvcPHJIox4Q9K msbTeYsAtcR3cQul0hLNT/TK9ns4RwVZhsaVPCxCPjhpRmgT6ffWtPixQ5OgCM1pZE1V H24XZX2zThffxj3iQpJWK2JcD5z5eId51D0T+UCXDM5UBcXTlo4d4zxGpP+l7IDG19LV Z5/A== 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=t49AktHY97G3oYLwFHHd1TU+1wUg+/LIlRmJOTiQbHs=; b=bFhHRacJYuo0PwymTRK6muyk06GAnR0n/M801kCUCStaYZr7iKNtPTbZsod7A/fdTY STNU6+RGDJQEa36f4bT0SxjKmLdiPet2jkbiOO8bLDVuOR7EvSHbVw2frMGNpSZojrkq BYNaI2BWi3030lXiKhtj7WumGDwfVmJw+0p5pubsBOLZa4EnyhU3I2P2eYjy1kKbskiz ECl1SF/F1/84TiZHyxDZmRkh1idzQ2jXbMjODkNAOItcXFRPgQ/AiVV2PhP/NgQ6z235 iH8AJWMsE84xeMqiSSHKgUqaBSxWTBSyvWYOX7zx/l2hYinaOayuM5k7Zba2W+uLfzAu 3cZg== 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=t49AktHY97G3oYLwFHHd1TU+1wUg+/LIlRmJOTiQbHs=; b=V27kt1TMIeHT++1Nl3YdGdjWIt8jEmQJ3vBEIUnMEnRrnBPPJc7OboqkEM2hn+7AXM qxJHrg334olT2ZNrQfy1Kux8om8G+fhL1nVHSsSTyzzeqtFRMwHb+aig7WsG9F91AAp1 iZ8IrH6w0jnBCV/9stjEXiFUR/FnJJEBmNmDZAg5DjTRoEQBIG21bVNLHABvHVon40Hr Ckc2jgbNQUpj4SHK1EKYziqE3HyL7vhbGwTyrB26Tu7tmD+6hTqK5UDWLrUEcg/K/Hgn lT1duqCsH06M66B06JragOdUbTppAuDu5uf04N0lmfnu6y4RPJhScsC468e9a7LhivdO aVAg== 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=t49AktHY97G3oYLwFHHd1TU+1wUg+/LIlRmJOTiQbHs=; b=oT9OEgUHGLvZLTQ3URsLZHZLqYGRlUPlwfnk6cj06GRvQkzVhwMzYH2T0K+dLj9i1G ptOeartcjSj4IHDP4+MryZk+y+u3nV+CdKvuqKnmCvZlh0fppkpz7Z/z3jXOzNpv3fS1 FeDA4+UtGEgwpgPXZGabeP3G9ZAwXFy3C82nVTtuS8Ghu4DVqSmIsMZZzFZhsNhiPd8q 2ztM17lv+ztLCWDFexbibb6AUpe6Pk6k4RH0PPwQSnp01EI9WoRLng4A10djeTVcslsG MGRGTJ2jtbLYbVBEebpdBVYQIo1nQqAVspOjFI7x1US5ny14P9qBwLFhmtG3BtY+zcUI TUiw== Sender: isar-users@googlegroups.com X-Gm-Message-State: AOAM531mg867oLO63DqsxLq178eVf7Qzq7zsD6/0ZKZtgldUXXQWzHdo rGJ3UrzbQcU6R7UDQaHfJn4= X-Google-Smtp-Source: ABdhPJy4MSxkBkGSvJZmdc+Ga46lrvuI5P3mkVO2Q/ywp/cVOHCsnlxgfsBT7QPCzKDGxoD4R+QxsA== X-Received: by 2002:a2e:7317:: with SMTP id o23mr18992670ljc.250.1617034303714; Mon, 29 Mar 2021 09:11:43 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6512:3d16:: with SMTP id d22ls4660842lfv.1.gmail; Mon, 29 Mar 2021 09:11:42 -0700 (PDT) X-Received: by 2002:a05:6512:202b:: with SMTP id s11mr17715560lfs.22.1617034302808; Mon, 29 Mar 2021 09:11:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617034302; cv=none; d=google.com; s=arc-20160816; b=TbZr7UNb4WWTBv0nKnbgwjBTPLO86QX/+f+g5vTqoxMwpB7OAtu8T6C0kEJJnmuesa s+dNFcRCINkKonOsPDUDQQ06+UgoLI6N/4aj/QCFkVwoQIuoLohBYqNLG5P2CeixJJVP HOFXt2v0EvgRnDrurileX0wAh0Qw/aMaByfzY54e6TClpt4NCofgcbyVNSDlnCNev+a8 NymlvOhGGgyi4unICXiup4Gg5MqItEbUXWf6n+BtXNQg43ybh6Rh7haVaclc93XP1ni6 buy/J2DNoVEAIAVkSh99AgVqtGSPqsc5hyt2HvRbU8lE3dh0HkBKYIa1yF2cSxiGgR3m m1vQ== 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=zkbngAJUC1Fxze3GegPceiiLkZHpuIeq92xcNQoD7mg=; b=QroDzyoh8gRNkzC72HirGat6m9d33dRZp8EKcDs3DR1MWRZrC+joazkZd0l4Ws5DDJ qZVCXsD8PjuSQTPF5zp6jUndmBgW5Fy0nUAYj0z5tc43kYcNGes/OyiMFQ0ARKNGcUuG FJjdO/TooGL5Bq8ht/DviVcR/6PAb2tFbKcR7hFoPctRr/dguO+NI+6REG0KKlOEdKw7 zGOJKKePQaMJ1G+HUMKNaVV5G8i6B+abvgHzXbsyNkag66BH3vqe1fJmmWekyt6V+J7+ aee2vL4Ct4NN/Lec/lZdmlAc4MMcfF2CtdIQVKTaT1JZClGCcHbHH7QkUjf3yC+fZgTg ZxOg== 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 a66si570965lfd.7.2021.03.29.09.11.42 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 29 Mar 2021 09:11:42 -0700 (PDT) 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 12TGBfhV020024 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 29 Mar 2021 18:11:42 +0200 Received: from md1sf36c.ad001.siemens.net ([167.87.46.205]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id 12TFufsl031984 for ; Mon, 29 Mar 2021 17:56:41 +0200 From: Silvano Cirujano Cuesta To: isar-users@googlegroups.com Subject: [PATCH v8 2/5] classes: add new image type 'container-img' Date: Mon, 29 Mar 2021 17:56:37 +0200 Message-Id: <20210329155640.62445-3-silvano.cirujano-cuesta@siemens.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210329155640.62445-1-silvano.cirujano-cuesta@siemens.com> References: <20210329155640.62445-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?1695583362784445771?= X-GMAIL-MSGID: =?utf-8?q?1695583362784445771?= 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 Mon Mar 29 06:56:38 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: 391 Return-Path: Delivered-To: ilbers.mnt@gmail.com Received: by 2002:a4a:378f:0:0:0:0:0 with SMTP id r137csp3546331oor; Mon, 29 Mar 2021 08:56:43 -0700 (PDT) X-Received: by 2002:adf:ea8b:: with SMTP id s11mr30326732wrm.413.1617033403189; Mon, 29 Mar 2021 08:56:43 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1617033403; cv=pass; d=google.com; s=arc-20160816; b=aK7QSvn1hqXjdXFoTomvysbMfB/Adv8tmKGXrrftHOzV0XXBn3WLaPuD0x1YTFuG8D RtwaVTTxW9scEOpqo+B7durkodaJMSbs+fcz2yZ+gZJrqSGhknDDH9mbm2MnPWVXkcL9 QTuKGUkXnlijRgcaqiDb4DkoEPnpS5HJi5/SlT6HZv2mQw0ErAaKzmB4zwsJGqRIfE6G j3T5KTDuEkvH1WNqbbM3AVFOoj3F5LZtoQH0igA+lSkPM5L0KJ48Igy8HCoVjO84qNjy x+A0r2pjwPxsmLWSvuehgcNMG2qHmVwEoXuTonSqDPRtcch2tBPxai28+CI2+/lePvYW jqTQ== 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=XvXQLtMbECdQ3UvhT3i4D0KrEUBK4DZDZX2L6k4wtTo=; b=AZfEqE5x/9e50f24RnRs3YrH9/41jPWni9W7tAkfEDj4AZp4Uq0SzGqWaGM+wU0PLs qIMB3lhID018ye8jCFYXmOn63eaQ/WlgoMBrFsUpWnB7AjBI9dDFq6S5XU3JGC+VTzgd 8/G+BTH27h9XZTaU9O5Lnz8Rlfb7TaJbLehKB19vyzvjt0HDluhEOZhA8Kv6h8nN08ec Ii5npBc4tyhUtNJcqKi+ptdXObHwAFHcS6Xzh8HiH9n7NdKB0QlPO/Y/qrDVZjhDDRuN BR1OXxs5VQV522vbtdz4/Pw5zexNhD5l1rDGYLsYVVWUJN8Plvn+wm+IZh5HXIzI40w5 8U5Q== ARC-Authentication-Results: i=3; mx.google.com; dkim=pass header.i=@googlegroups.com header.s=20161025 header.b=PIS0hqoW; arc=pass (i=2 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of isar-users+bncbcd6jj6cqqfrboxrq6bqmgqe7gl7qja@googlegroups.com designates 209.85.220.55 as permitted sender) smtp.mailfrom=isar-users+bncBCD6JJ6CQQFRBOXRQ6BQMGQE7GL7QJA@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 y6sor4769239wrm.54.2021.03.29.08.56.43 (Google Transport Security); Mon, 29 Mar 2021 08:56:43 -0700 (PDT) Received-SPF: pass (google.com: domain of isar-users+bncbcd6jj6cqqfrboxrq6bqmgqe7gl7qja@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=PIS0hqoW; arc=pass (i=2 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of isar-users+bncbcd6jj6cqqfrboxrq6bqmgqe7gl7qja@googlegroups.com designates 209.85.220.55 as permitted sender) smtp.mailfrom=isar-users+bncBCD6JJ6CQQFRBOXRQ6BQMGQE7GL7QJA@googlegroups.com; dmarc=fail (p=NONE sp=NONE dis=NONE arc=pass) header.from=siemens.com ARC-Seal: i=2; a=rsa-sha256; t=1617033403; cv=pass; d=google.com; s=arc-20160816; b=rvgiVoKWxnuA6S9EjPt+NUHd64qWomWkdI7zVdpJRCSlp0HHMtYh7IM41XUeKW2FVQ 8Ucd/OquIhhHWDOh+2nKVwnEn56x3xn+mmO84Gz+H9TrFQHn3Dx+anCNq19n9rO1neco iXxHPsN3sBOSAqTqzSvW01T85aobJNvkzdHjm1D6R/wpvlDVzzCoewiVMyRJ8KBcUp9X i3ZRuCjIbVzvDLmulTN522lC/ILHfEsp/dTjtisPBWbmEGQfORvEOBCequeSjamKTEux JeQKOH45VY/2/XQICx9FBP8chgP5bbVDdUkdHRBINAbNDSCchAZBqZKdM4ddZbhHRS+E 5HxQ== 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=XvXQLtMbECdQ3UvhT3i4D0KrEUBK4DZDZX2L6k4wtTo=; b=RcpLid/CeR/9ROcSQFPyMEkFJCSjQHEfcdUHzR1uKJnJ8zr9DeUkhp6Mf2o08LJRX8 IQ4+CKwkovXMl7/lxf9QQX3H+69yDFJIiMaIJtVI0+MdQtRr2mGSXWBZbPWFhQsDZFK8 BBfg870F1ErYxBmkisyycg/erUeOBSJgRO4IkZaCtos7jS9iIyeQ6cJYXm+C9c05mrfq C8YtKGVD9J/MyD99EjvTNW9WFaNnRRcWq9thWx/InPWE/uwutMbbXVw7ykXz1n1mMKCv DmXt04y5u/1IavEYTi3d7h+JLjuQM8NN+iG7mD6pjSFi/Yhyhu3MYmKOC05e1u4imdr0 kwyQ== 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=XvXQLtMbECdQ3UvhT3i4D0KrEUBK4DZDZX2L6k4wtTo=; b=PIS0hqoW+2A96TigJGgVv/Y5T8Os8FJoi2fbdQjgiQ1L5rYNprrHvXOIZOekzLovvY 5VMbEDAL49ghb4MeIN5JrIEFMoHy5Gctl62WWCLs9ReIQDTIc5vzBjVRjKW/WGUd8BPU cMtM5ak4JTAgflH0mPzhd2f1Ys1dw/0QmsRaPDY9QnT/4go34j9NRMtFERhwosGetnRR XXmYGaZalaQarfz/nYbPGF0fYd4KskkFltsoI08T1w7/Kwel7UfpA4iEDF5rxLp5eeCu GrUS0u14G4lxSSW1ARJvH/H2ojYGuwE9lYWO9tcjQJs3qFYtX1kDhBcK4WHdDgt6a+n6 MlUw== 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=XvXQLtMbECdQ3UvhT3i4D0KrEUBK4DZDZX2L6k4wtTo=; b=tC+bPD0yChOcFP5DGtePeCSf9z7vzoqLvcXvUIgA39gw/X1wLIiuc6EWtCWw8AzM/g 1fzEB4fGUsRt8rPjQyLal85wU3gSrJrKTvWP5QUviJXwNYe5m5gSCrP4uN6fD4FE4KIy M5hESHS7yw1JXWQRgwVbNvpGAOZTOKsMdeWzgbuTCX/4k5qSzN3B7R3ZQh1XYcqb8Rlg nb+zRiW0+oPBptN2VM9pYMaIV+LJadz7yUSjC3PXrV7qTWw8PE6vfJjMyhe4LXqsd33N MTks+t+LqX8JMVrqM52se2E9dGdgaVKXht+PGXYG615BETkJDU6lXiZEHlkYoVko1iTQ 8aFw== Sender: isar-users@googlegroups.com X-Gm-Message-State: AOAM5322l45VGaLhRTGXGJTMUzQDB1oXWJoLH3ClT+f2KpX7KHbu+H/l m06dbqEvc7Sn3I5luLUgBjE= X-Google-Smtp-Source: ABdhPJyGwZBo6Y8xiN0SXU+OuWFe6/CrDGof0eVw0DAU473k9Zxw2JmlclNACjT8UOow7JIrmLSZwg== X-Received: by 2002:a05:6000:1563:: with SMTP id 3mr29164994wrz.211.1617033402914; Mon, 29 Mar 2021 08:56:42 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:600c:4f8f:: with SMTP id n15ls7916724wmq.2.gmail; Mon, 29 Mar 2021 08:56:42 -0700 (PDT) X-Received: by 2002:a7b:ce91:: with SMTP id q17mr26159188wmj.28.1617033402137; Mon, 29 Mar 2021 08:56:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617033402; cv=none; d=google.com; s=arc-20160816; b=kpSLnuZx+6EgF/IOmYlRwia+c1uyytudpDJ6eOsxakPr9a8odoqZ0vviDb8tHmuoc7 k3EQC3vbnSiDfdrHm4iEGrrSzO9WKv7tFnfRAZ76HO+pMAnvJnQjMQGO6T8isWsxE2v3 B5Y+O55MY+zBc1iG+JxeWH6b0ADJ67bZRgv1eYKQwbG/5uAYKPYliX8Em/t7tmBR0CJT FGBVwqWeuQAFTqS/e+oaonODjemMKHffwVOoYRjQuBx4PVeCRUMvQI3im203YQxGBgFK Jd9zQJoTEkn2kMjLi92MwN8zkTg4eHGyQ5y0p++cjPgkgT1AiYfO2v3tlQ/aIkyKCA9z mxzg== 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=cFUKx3xsFF7zqRq9Q8aE1NAjDDFR4l3c6GJsZ/OPsrA=; b=Gx6HA18o5oUfItqgGq2VoXPQSE0zkjGCNBptBN3/5Ac7s57gm8DRPJ7qTSYkHuwG/y Yjk6Zmh7WsBYQInD/4oWNXOid3m0m+BTBORhkdkhyfCM+N3jpzqBBQcF6e7NrBCn5b60 5IePQax8hkq9xnM9+5kEchEC1nWTvZ6IenFomHBnyLIjl9jSBQA91REkkQ+L745cCG/g TUA/dhbWUNRJm2lJiEax/4O0qqAmOuqBgXKBii0p6f4kYzWImbmNe6QG1uK+dBwCgnXi 85n1AfcdbYsw5/pRddYeGLllBAYXmCVk7vQzBTdcaDIcSJE3gCnCyrAJ+mUQl31iJuqB 7gHw== 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 b6si15482wmc.2.2021.03.29.08.56.42 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 29 Mar 2021 08:56:42 -0700 (PDT) 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 12TFuf3I000544 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 29 Mar 2021 17:56:41 +0200 Received: from md1sf36c.ad001.siemens.net ([167.87.46.205]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id 12TFufsm031984 for ; Mon, 29 Mar 2021 17:56:41 +0200 From: Silvano Cirujano Cuesta To: isar-users@googlegroups.com Subject: [PATCH v8 3/5] sdk: add support for containerized sdk Date: Mon, 29 Mar 2021 17:56:38 +0200 Message-Id: <20210329155640.62445-4-silvano.cirujano-cuesta@siemens.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210329155640.62445-1-silvano.cirujano-cuesta@siemens.com> References: <20210329155640.62445-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?1695582417712699817?= X-GMAIL-MSGID: =?utf-8?q?1695582417712699817?= 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 Mon Mar 29 06:56: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: 392 Return-Path: Delivered-To: ilbers.mnt@gmail.com Received: by 2002:a4a:378f:0:0:0:0:0 with SMTP id r137csp3546332oor; Mon, 29 Mar 2021 08:56:43 -0700 (PDT) X-Received: by 2002:adf:b30f:: with SMTP id j15mr29467385wrd.132.1617033403396; Mon, 29 Mar 2021 08:56:43 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1617033403; cv=pass; d=google.com; s=arc-20160816; b=S2a1HYc8I+KdmlAydew9zCA+Nh29Tj0VA+tTcWHHRgmo0BsnLZGA1RBFep0qidHw5/ u+Yn4eOOPki7vs6wzIslJ2+VcLAyEWS/7XKvYgA/tRVdgPKckM7eVzliByuPEeHNSPbD 0C0ktRDXjPRn186aoFwsSd/CI1ZNMW2ChrFzxG4wzYzkyG3Zcvx9Tq0gQJ3sBvRvXvqg zauHFXQ++kRBB2cKNbFdvij2kRbGWN4XAskgXG6t4ToK5W8qcFo9XJocReIceILHgCAF Dowy0sjGf5LRUAQ5T8j5cNS/XtnZm9DWQiMorm1muKBEhsqmp7AcEu/KRrR9hbHV/2Zz Sl/g== 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=y7dyZoVFlQw/soy8qErJT5GiOZmji8Sy+dUtwRI2VnA=; b=VOslR0gLJCPpan+whqKgkDtZNeqYKLVarqV3C1zldkLF5ePfcMCS03+61zSlLC3Q1a Jf6w46sLHVgA4MgnJDp1uRhoojtWyPcYIBZSU6DJ79cL+9jOI0dkNcQKkwGyBjb7sZ/t Ue94qfRzfUPh9AiJsiz/Aov8zWO0KmQArI0i+ZXzASc8WgV1SZak1yuwFrdfQwHb6BV+ lD51wyUVer8Y2bBVEsbBDoli92mgXX2lWXrZUnQKPzaXBf5BT89R8OBGqnLv3Wcl6+xz 4MU5+Ozq8ChaVdMR4KPYcj8Pm0cFOg8xGkz23+SZ7V33HIFXYa9l6H9FWRnN05xbK8N2 qUUg== ARC-Authentication-Results: i=3; mx.google.com; dkim=pass header.i=@googlegroups.com header.s=20161025 header.b=iK3wmlCL; arc=pass (i=2 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of isar-users+bncbcd6jj6cqqfrboxrq6bqmgqe7gl7qja@googlegroups.com designates 209.85.220.55 as permitted sender) smtp.mailfrom=isar-users+bncBCD6JJ6CQQFRBOXRQ6BQMGQE7GL7QJA@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 l2sor8033801wml.24.2021.03.29.08.56.43 (Google Transport Security); Mon, 29 Mar 2021 08:56:43 -0700 (PDT) Received-SPF: pass (google.com: domain of isar-users+bncbcd6jj6cqqfrboxrq6bqmgqe7gl7qja@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=iK3wmlCL; arc=pass (i=2 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of isar-users+bncbcd6jj6cqqfrboxrq6bqmgqe7gl7qja@googlegroups.com designates 209.85.220.55 as permitted sender) smtp.mailfrom=isar-users+bncBCD6JJ6CQQFRBOXRQ6BQMGQE7GL7QJA@googlegroups.com; dmarc=fail (p=NONE sp=NONE dis=NONE arc=pass) header.from=siemens.com ARC-Seal: i=2; a=rsa-sha256; t=1617033403; cv=pass; d=google.com; s=arc-20160816; b=i1BXhB+0x0AHpjLHkEtP4MY8GYax3QqJm0Tr0WnKoYxon4Q1JxlhC9+SZaB/aN5L5s BwVb54KYAs9eyFhMJEAsSbhaWltEu5o0+YLddAy2d9L/lDU3lZ0ai6XVPqjkg33ERM/0 BPqtxoy8EYF+yN8a++F/4hZ8d5FT3fRwsYyndVSdeRRGO41Q5tjzV+kS4pMakA5BVR5y dXMjAfRm/MmRqsMgSUhf9h/PdgsHXnG25dRI6eRnFwfz1zk9aQYmSevbCQlpvISE8Ft/ 4xRCgjpDI5io3Jz+yfrcrh144ZqqiCSRFFhs/mvDR5jyG7W+C243K86Vd9f3vtAvvrGF t0sw== 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=y7dyZoVFlQw/soy8qErJT5GiOZmji8Sy+dUtwRI2VnA=; b=ffDZExihK+8ibr3FLmM18xZ1J0mYpOUD0KBjlR6aWJz0XbGB+VIoFbeSOvR2FSQAKw D7eF1aT1TvxZ1JhwTAsdzw7dAUxMXleweDV3lKu7IX0qe2qylKYWsrwmGEONCMB5+3Ef COpSrAjiTpvClm9Xeyq1gGWXJMNsFEcZXQiCFLUhpqzTgAWhV8JY54Zl5cTjGM4OukI7 di5WzkPDFZwrwN214ZevAmwjfCqULQxovh6QS1A6f1DJiLWiNElTOD6SzH9mtgoQZhjO K3jsxmAn9iNfUXF3V5IDnmDzuWHoF5OzSM+tZILiH+5poEkanXI9+fKcggrm0hGs+vCX oLGQ== 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=y7dyZoVFlQw/soy8qErJT5GiOZmji8Sy+dUtwRI2VnA=; b=iK3wmlCLJ62ly7ruuk8acawIo1DrF9hgGsbMOXGk2lp7O19bZPfJjnET1sZK91kioZ hjBLXwUMEz4VFTaPZ30PI2pptfnRo9ef3Xo9jwcQfNLsQkMsXcg6Rnkz9ATieAEN2fcD t3B30/kw7DgtQHa1Yb5E+6iYVgfF+Kuh8Kdh3rck/UuOG6vZYcyAKcBPX998778R6dN7 4y/GksWUyfc9rv56siBu5zrbWueh2YOyZj23pWXIg/edm9fCapLTbCnAB8ni/PHjYD3N J6beP2L1TV64Ru4c143FDfTQsZjGpJpAJrSSIdVAEkG5JeCfyliQIh5yayEbkhsFfs/Z KHAQ== 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=y7dyZoVFlQw/soy8qErJT5GiOZmji8Sy+dUtwRI2VnA=; b=BViXRUS/mcv99z2bW6L86MWGYs9/cvOlsPd64mmx20s54Qr1h+7Z7ASXry6MyGLoDH Zsd7EodpJDfxyT9UKiLuN3+MLdbfW0gS/NEchJ/gNFTb8X20Tta0WErN9K6Exh0lQA+f vIUjbICjOLofV867Ytt11unzwAdNQ4t2R8ccKRPEjFBIyxY/EdMYkIeFAnDKHBuoLzZx aMBd46XbWLdkrDrGlx3/SxyA8Z5IUY9fgqAAimRaz2TnWqa6n630JdXzn+u5fyGYQbgg 9Sx+H0RHi0RZI8kVl6wRRsG2Umam0H0OY/UFtCG0LlIEOuky0FDucSXxk9wQs7881HPs F1ow== Sender: isar-users@googlegroups.com X-Gm-Message-State: AOAM533cm5ljLPM3cB8uKaA3r/2HC+Y+fCYy8741wvwzbRg9OPe+HOM/ DvnIXDx2l1U6v7LgtbV+UkY= X-Google-Smtp-Source: ABdhPJxFYQAr2lLYo/6AoowUFWmwaK2IRpunimkFgiXqi061hoMfZAfHofon48UYgGG+6NrEKoQcaQ== X-Received: by 2002:a1c:7715:: with SMTP id t21mr25107630wmi.132.1617033403030; Mon, 29 Mar 2021 08:56:43 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a1c:9ac6:: with SMTP id c189ls5088303wme.3.canary-gmail; Mon, 29 Mar 2021 08:56:42 -0700 (PDT) X-Received: by 2002:a1c:9d0e:: with SMTP id g14mr25570227wme.30.1617033402257; Mon, 29 Mar 2021 08:56:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617033402; cv=none; d=google.com; s=arc-20160816; b=muD9aaPXO/lT3E191bHpQZecz0r1YmfvwcatVrlUZbSmdoTQhd5BJMu9gmEUoWxZ1g Q1cu+Z06TQMD2nPcOtZUHDDXkymyFDnb0u2LPNKbDotcjlXdGDvV8XTQG3m+gafyhfud iYsD1aVcZBklR9dnhzsXQ0vEfpu2dDzfT8KkwAAVxWZibwkykdvgz7DIIoA4WwGQS2GS XkYUQgy2KLWVehQ+SFmWgLwKqq9W6id8Zq6QlfV1LB7RJuYLnKKjtO06w2IZ1RQDvyj2 dE9HniAsgL663Ozckt/v9D6TjJxG0qDlJ6Gnysb9wiIiJ9HueWYa+JOPXAX3HH7lag2c 17Zg== 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=la/esXpFR0osGZuUC0Au3TjQAgrmai4QHShMqZ8JKJo=; b=dZgydf2Hw+II7KPQK2nGE511VMDXlzBTk1uYgjvhZkoR+Bz/UOfDW1rvv3RberbKCE qqwoYRuMG4n21qrobEA1nevDk7+szoTiQB6M1gvTc+RznSM18PG3Oajdl5BI+GQiFI/0 Sqas0mRDY9EWKlJpK7v0pDWvrGs1H93fnM0dB6H/U+5fMah8/vj/hMbQhCNHs7ovXUw4 VQQa2BJ8e5ynNvdu1PfD9LZzOVFdO9fdgnrU8wWfgEgxYvo1pjyl9bp/qHxqL2QOIYfH mu5ny2i1gaJM+fBToieH0cCUFVdvhxhlG2YH88XyqxY3mIAtflIVrq2nxs84XKpLjbFO KMIg== 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 b6si15483wmc.2.2021.03.29.08.56.42 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 29 Mar 2021 08:56:42 -0700 (PDT) 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 12TFufcB000549 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 29 Mar 2021 17:56:42 +0200 Received: from md1sf36c.ad001.siemens.net ([167.87.46.205]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id 12TFufsn031984 for ; Mon, 29 Mar 2021 17:56:41 +0200 From: Silvano Cirujano Cuesta To: isar-users@googlegroups.com Subject: [PATCH v8 4/5] docs: document creation of container images Date: Mon, 29 Mar 2021 17:56:39 +0200 Message-Id: <20210329155640.62445-5-silvano.cirujano-cuesta@siemens.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210329155640.62445-1-silvano.cirujano-cuesta@siemens.com> References: <20210329155640.62445-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?1695582417495904461?= X-GMAIL-MSGID: =?utf-8?q?1695582417495904461?= Signed-off-by: Silvano Cirujano Cuesta --- doc/user_manual.md | 179 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 179 insertions(+) diff --git a/doc/user_manual.md b/doc/user_manual.md index a4f3d1d..e57551b 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,14 @@ 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 +232,73 @@ 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, which 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 +910,109 @@ 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_FORMATS` 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 Mon Mar 29 06:56: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: 394 Return-Path: Delivered-To: ilbers.mnt@gmail.com Received: by 2002:a4a:378f:0:0:0:0:0 with SMTP id r137csp3557995oor; Mon, 29 Mar 2021 09:11:44 -0700 (PDT) X-Received: by 2002:a17:906:cb18:: with SMTP id lk24mr28243909ejb.70.1617034304040; Mon, 29 Mar 2021 09:11:44 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1617034304; cv=pass; d=google.com; s=arc-20160816; b=exz4qT2A+V/VkHkKjwS6MarcjABJJ6B6pWmF/2mL0SMoz6reVUkyqdT+W8UoXnPDbV npEvuPM/ivQDGKEoLh3TYCEy1Kd1P6/P1DidAV/mt5fdCMF5iJ/k+eh6c/oPBEivVU4w uI2UlJOYVfN4O0KLiIKgRMioRbGiW7jX8PtVacuqqoywWf3BbPaHh/SXaeZO5Nlf0M/y +6YbHRM+jpYwncDxvuulsp2Sx+MyR0iFyqRMyiOA3r93+zolbol/BCkEvzKiwrxYyRPy wheOuPS0SdNYcAsFCV1PjdasoB3eM3tT0DcFGRNttfuUmKH7tRbQ9LRqaWlOo2uUfxUi T1zw== 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=sBREnlMJ0CKffyM/tXb926JKvw8tMoN5yG8+GcD5AXo=; b=jjoCOThJAd/KVcVNFatyhI2BMJMKOwRNUOQjyejzEhfbw/wK0JxJ+/cyK3c4a77XQ7 JG4PTRpFkvZrbTtICjKmSnDzlXtVy320FyDjJSAHTgyzFhXtt1M9Nxy7EcrQYylTGE5b CBA64PUXKzDkx8+T3hIhuN2LG0GNtcntV/8uVB38IqQw0bCBC1pPveuP0ToFeiQYjXr+ mn0xjvusZ/fnc648b+ObhJfqhEYNjeCAt8yW//55RVdaS8bFNsqhhQIviHH5LsMcjP1i 3q8F2VeU7QQ6SqigCsd3JyKWlMO1DNQBT4EPk6SLW3yIZdTiKd2QIprZE9og6l0oYj8L tLRw== ARC-Authentication-Results: i=3; mx.google.com; dkim=pass header.i=@googlegroups.com header.s=20161025 header.b=CllQippD; arc=pass (i=2 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of isar-users+bncbcd6jj6cqqfrbp7yq6bqmgqeclzpuhy@googlegroups.com designates 209.85.220.55 as permitted sender) smtp.mailfrom=isar-users+bncBCD6JJ6CQQFRBP7YQ6BQMGQECLZPUHY@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 m19sor7459254edq.18.2021.03.29.09.11.43 (Google Transport Security); Mon, 29 Mar 2021 09:11:44 -0700 (PDT) Received-SPF: pass (google.com: domain of isar-users+bncbcd6jj6cqqfrbp7yq6bqmgqeclzpuhy@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=CllQippD; arc=pass (i=2 spf=pass spfdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of isar-users+bncbcd6jj6cqqfrbp7yq6bqmgqeclzpuhy@googlegroups.com designates 209.85.220.55 as permitted sender) smtp.mailfrom=isar-users+bncBCD6JJ6CQQFRBP7YQ6BQMGQECLZPUHY@googlegroups.com; dmarc=fail (p=NONE sp=NONE dis=NONE arc=pass) header.from=siemens.com ARC-Seal: i=2; a=rsa-sha256; t=1617034303; cv=pass; d=google.com; s=arc-20160816; b=v175saMUQXm1AEIykf7D/8yAh+iMIlxkqxyExHj31NAXuNvHsQDPPqTivm7drB2qOS uoC61XFJ+jCVDmWTJ5NxoDPenDRtbPKwwN8gQ2fRr077s81TA32yzi/zQJvvxweRx3Pj /Y5TwvEdYIqFATlCNrNMtozlpuP8vQJiYli62h3hMaq/ajf9TbZlsdZEW9LBXeLfqiZU gKrFsKzOxWLmNxOyT/OXqynlO2ybqfhDwRr9cs2cR0ol8JR5w8gKrveqaYGZKpVE6nsd 2m4axGLuX15R6y+qXr1RGbxu1Ch3CUqjjBH3X2t6O90ISnPSzo3cNbV5U86fUXACL5u6 9xuA== 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=sBREnlMJ0CKffyM/tXb926JKvw8tMoN5yG8+GcD5AXo=; b=RTb7+suV4I/v3BlIqg/qRLzTRL+obwxgYYRoQ2Tt4CzUNNm212yk52Jp8j9vmkrX6w AJEfZs6CkjJYzGXq0Li5TGnFW3c2n5b/qm34ubfeftQsKMwrH4qcgW6V/PYSx6/j1Hzm wjvm/FbI17JU8QZGN/r9uEU1cENREMlP7moOsNT7oRRcUEv8tD9OzkHrN4YtegsBlgcq k/9pOgU6zqciNCcWdyLrINDC/B3FX+6cjlGODALkqkidxjwupdfhFSu3qBXl8vOg0is/ GUezUp1f0r93LZ+rAhVwCX1cO/a2A02+CF3N6/9TNkAU5AthrxSedR2Ah+IsxMenx524 cCow== 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=sBREnlMJ0CKffyM/tXb926JKvw8tMoN5yG8+GcD5AXo=; b=CllQippD3OiHLK0YPNo+llK5+IbbMNGQ9dv93yNSFRoe9EAA1BVLZpbVHIWhtfQerr JotJEP/gW1fJRMDjyP2oZo+uT+86tWlcA5rY3myFJ6ZjUftwlDiiv+JlFGCxYRz5axLJ DsLh1vJhkrTKT2byLpc2ZIax3IDrd8kyJcWIwk3a7MXzbGeKJJyCf5uIgCtD8ewp535+ /FqMOUSsqKAjldMQSoITiE+94ll+ehyPSEDMmlFKtXf0NJCetbId2LeH8ykHJujhB0Uo dJ9eEBB2fE7aZcMn6ZUjjgBtAeYUxjCzwp/pdOSgy3PZ2n7IJte9J+FG5+es6W5iL/0k fsdw== 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=sBREnlMJ0CKffyM/tXb926JKvw8tMoN5yG8+GcD5AXo=; b=oTFQfawkUWQthKl4j7E4iIakPIFMT1BvddhjVPYSac5oNkSyee4uuC5bOHqPVM8chb 9VplddRgGtQBnWCyJa4BNqlDWsHYH5L4coMlntaeXTePi5OI1u0Z2TZeeKlxyD0WXPbE g9C290qtFPcOi62H1Srg8aoxjOWW+8B/6eKydIP3eVvSuDey4UpJxM6fixzizij5xpx3 n3X0NybaUXoa5V/0opUh7jfY3+88GtPJLxrBMFJ3lPgsqeJGKG6KaMJTdEmIZ+w2hBo0 qEpSxVMB7sdAw+rzaf6j/54dOA/yCNVWD+Ek8qZ0cJApYK6LU/OfRLYK+SD+ey2fcxIg f0tw== Sender: isar-users@googlegroups.com X-Gm-Message-State: AOAM533m2U0KW5ns0eu6ipBVLZYUXIgTDSurv7f3AhiUW/FzTzs6k/cb QFz+WAHeCPzzJSO1y+yXubQ= X-Google-Smtp-Source: ABdhPJys671o40AGX3jHSnjgQzSjCYat2amftyq1ro/le9OLxLU/PxuZ8NcXNYon3fODiqaDE+mj5g== X-Received: by 2002:a05:6402:84b:: with SMTP id b11mr28873927edz.56.1617034303639; Mon, 29 Mar 2021 09:11:43 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:906:80f:: with SMTP id e15ls8510346ejd.1.gmail; Mon, 29 Mar 2021 09:11:42 -0700 (PDT) X-Received: by 2002:a17:906:aac6:: with SMTP id kt6mr29368651ejb.260.1617034302870; Mon, 29 Mar 2021 09:11:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617034302; cv=none; d=google.com; s=arc-20160816; b=bwvXgsAaZtJ/vB2qTXE0gPAS7sTs0YBE+ZG9THlFNn4U6HI/fOxbIRfz0dNTCOltZe dOb7p42dwvmPFsTDANqKIou74vDrqNehTjYRnl1N5oS3bfVy47PoKGHLIZPUCEsfUz5n 3WzzDukcyyBa776d9PoTt6J4x/5h+LVYt8gNQhFOfEAysfEg86buUkBUoWsyE7TcIdAL YeJT+wEN1mnGN19619kABnFTnoN3vM0Bsh1IRsPpC+c1/hxUFbyJ2I0bNlo2B/JFfx5K cWulXQp1+kU711bWzaBTRQFmHpQ+rTFor/DKLZqhb+XK8rZ3ddg8Y+NAMpPQFcterbPd F8Bg== 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=9q/+l+nkNvM1hiajqG6q3Qt1DGOZBKJ9gigloMzlPb0=; b=cRlsyiG2+EC8SJsYzjb+T9zz1PwnXsXpuc0pUSQmqTxUjTM/aFdBCsdarNNsPQ4/9i YlJRVFjq01CnX51v6UTJSw/paBNCKPVaMXLgXXEFIF8dN6iNni3rKkYL0ygNPuZfTXoe p18vEJnZLRy4kVXRD+sQi/eEqghX0beIkcrThCdPbiBiAR1uEJdwb5mH2OR5y83kShSJ ddkzkWxqRswEMhgPX5A0WqUkykKyYHo7Qcctt6Wh0L5tqeLphTx3lmdRfuIogs0r23Fw 3abN4qDrqVsu1gi5lKD2gegxtAv82ku9yuD8KxA1X/yRDO24XEmFGawjZPk+LwvPJJQK LRxg== 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 f25si653607edx.4.2021.03.29.09.11.42 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 29 Mar 2021 09:11:42 -0700 (PDT) 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 12TGBggl020031 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 29 Mar 2021 18:11:42 +0200 Received: from md1sf36c.ad001.siemens.net ([167.87.46.205]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id 12TFufso031984 for ; Mon, 29 Mar 2021 17:56:42 +0200 From: Silvano Cirujano Cuesta To: isar-users@googlegroups.com Subject: [PATCH v8 5/5] ci: add container image sample configurations Date: Mon, 29 Mar 2021 17:56:40 +0200 Message-Id: <20210329155640.62445-6-silvano.cirujano-cuesta@siemens.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210329155640.62445-1-silvano.cirujano-cuesta@siemens.com> References: <20210329155640.62445-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?1695583362531759227?= X-GMAIL-MSGID: =?utf-8?q?1695583362531759227?= 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..6445b10 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 +echo 'SDK_FORMATS = "docker-archive"' >> conf/local.conf +bitbake $BB_ARGS -c do_populate_sdk mc:container-stretch:isar-image-base +while [ -e bitbake.sock ]; do sleep 1; done +