From patchwork Tue Jan 21 10:12:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Felix Moessbauer X-Patchwork-Id: 4019 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Tue, 21 Jan 2025 11:13:13 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-wm1-f57.google.com (mail-wm1-f57.google.com [209.85.128.57]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 50LADCfM025895 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 21 Jan 2025 11:13:12 +0100 Received: by mail-wm1-f57.google.com with SMTP id 5b1f17b1804b1-4361d4e8359sf42282555e9.3 for ; Tue, 21 Jan 2025 02:13:12 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1737454387; cv=pass; d=google.com; s=arc-20240605; b=G1kObA0uUl6CuS8rptvWOc7eRPiGYA/9i8a9H/kBA12zaHITyLBXv2DSOdLp88oiQW 2kUW39LWNPSQf0Xw0aEcGEwvBIdB4Ya+5EmX8anGKYwbF/3G7N2wg627WUSyAZlai597 vSSvPL2WRPlv7g1X9GkLZBKDwoJp5dh7K2EiVUpeapDjUIRwVv6I+r+o6pmNcEW5FkYs b4OItDe0DVStpMiLAeSdXVtYvGWjUgXTlMavuJtOKJmwoYJuFol+5uS4LgtqlXZ5GtRI fkIQGK6pDn1OGAhr5pnAMBqL42IuwCVW9W2GDZBjEx869zVOroVo5qlKDz4juXDw53HX MW/A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=41xboY/rbspBz/hD+lVVqG80PRqI0DAzxe7ZTs8PjjY=; fh=x5dsLSBCXDenv3BnoWw2C6YgRxL+P0T4dv6ll6i/OkM=; b=R2IJBP55uHy59nQPbbGEqvZvqbAm9DEshm23cVaxHD1MLs08S/jCpeErUknMDC1wlT 531euRBuYWS/eHeNQ+nlC5PDov4X7siCXduUWm1KF0muv6wyiXsMQBhSArjxoTK2WtnC Xmo+1mJ6maYiFCn9kP37J87NScpvhoMrsOEbeO7UNDcalByf4ksluZ2PwV+u6U5ItbEo R2tk74AT0KmTp2LqaIt3FdJS+Bhzj+hnOkSk9r4GaJBtjrLdeQRX/0T6hAYwNnQdPGS+ u3KxCWQhKUVi+z14mg+wRfgylmUCzBztyY+9M/29FMGJnRkkfPgadmJAXeJ9sdWwIeb8 eshg==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=YS++6+II; spf=pass (google.com: domain of fm-1321639-20250121101304bcc4dcd31444d7476c-rxty9t@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1321639-20250121101304bcc4dcd31444d7476c-RXty9T@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1737454387; x=1738059187; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=41xboY/rbspBz/hD+lVVqG80PRqI0DAzxe7ZTs8PjjY=; b=B0bCGNMX9J34IdOJ2fuPJYwWNIoASjXr6PJzIdGmi2EvtjGg4VjjPDzY5FLTMqxFcM KQCvpe9ULKKGqPSzMhPYWFHGUCpWm+9QZ7v15vT85V6R3+RYfqc53yV6Y9CAFqpP+ifa 1LAe6B1L/Tkd4ZXbU4ZyQPldreij5YZ4hPiIpnxoEFa6U0IWfhCTHJILThzAFlnJ0OuT g8SNBYLWj1Wx+Xp6jSusJPcq8w53fUE4l5y5fuMw8yh7v9/nTVspGiLDNPzUGCX8pFZE agFrHAVKEZ6+ueEaqJJLB7KkZ/SkG/tH/mtEZIl0gTf/XnXV3oxh44P+W0I9fuHKNtHZ HhKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737454387; x=1738059187; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:x-beenthere:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=41xboY/rbspBz/hD+lVVqG80PRqI0DAzxe7ZTs8PjjY=; b=b3o+PBzKBU8qbU0dfywYaSlRoxquYdef+KVRRD/PfYUVX6QXXMWlfMxJ/sEr5rfU1S Eua+qD/R8+g9ErOM4HzOH7BOzmJ/5mGi2w4f4hWqJZWHgifzCCTzrQYTM9cmokpA2g+3 l5PQe7ZONZSNww1APsuMYp4QZDnhVgIsa+073jgyq8zdsIihgcUNsL382Q+x4hNKEeaC G5OrmjT6EY0OCGOHmdRkvhPJbVwoKkVhpqy60eeqphiE/b1xLtzJNBtteNPdIlP5m6Py UmLMFxOMPaUeTd7LaPADs8bDgZvvjHyqr1q0ZYEvYnHUheg9BZ1tuleK05jtZKAkK7dx N6Lg== X-Forwarded-Encrypted: i=2; AJvYcCXOLPVjJF79/a7Tq996bh5ZN9jqTLRyb/qYbXVwC6ewat0FsUR+mE9IxKT4fROovK6Mw7Crz6s=@isar-build.org X-Gm-Message-State: AOJu0YzJWdUMNqgIkFluqvZrCY5V59GsaLvACcCajOOZBqa7YKe1SQzB bsy84cksfVNi5XH8+mEkx9IyNIWJZ8Adqc679Umm+XwX3DmU/ipL X-Google-Smtp-Source: AGHT+IEjzIkloB4Z2IjwBbI8b7FJEXu+nrCHYbl7af2JCOYEhPo8mhAOTO5U6Qxq/n3dQyeoDhtiPA== X-Received: by 2002:a05:600c:1c83:b0:434:a746:9c82 with SMTP id 5b1f17b1804b1-438913be56bmr158153465e9.5.1737454386766; Tue, 21 Jan 2025 02:13:06 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a7b:c44b:0:b0:434:92f9:ac7 with SMTP id 5b1f17b1804b1-4388aba4f13ls6241255e9.1.-pod-prod-07-eu; Tue, 21 Jan 2025 02:13:04 -0800 (PST) X-Received: by 2002:a05:6000:b10:b0:382:5141:f631 with SMTP id ffacd0b85a97d-38bf56740b4mr11559047f8f.29.1737454384419; Tue, 21 Jan 2025 02:13:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1737454384; cv=none; d=google.com; s=arc-20240605; b=fqFOMMZm/Aw0woNG2fV/BFUm31sTi0EMfCuJY2SEiVSfbSwEp9zpOkACB2w2TaLWbg IxRClcRILkESzamLGtS+3mQh/tHXd9ftFlhZQKeCgpVZLMbhJC1mv3eFHfiMuQnSR5+o nULHOxOi6NS8oDeaNPx7xA6FfK/dezKSTwpCm2wiaKtF1uPwkDY9n88sAH0RIoai8UqD E98vBvrHlbIirWdhy+Tbojx0lJ2MqmlquSpl80c7iufb+jit4U17weySW2alkipoX2lu qwVo5l+FK6OCW1499seXgQnO+oFs7ho368wkXZg0LELUv/43/CQOsPCWsJDsbVUuWy9A G8hg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=tJmIxvEtLArcxaSvByPmQqHuMZ9WIYVSQSctXgJ+GDk=; fh=Bo8ZbdhPy/JbmTSxHxcgeG9JPAXIanSEMBVfErZw+70=; b=PZWZHRq9WR8ixWuof7at90TvTYEi4ofRCesMvzcgC2p9oBROEiVz7hi0wND3Q46EU+ YYKQ49DZinzYZfWs5FhkXXhH+DN4H4dCuEd4fLngJ9756n1KGidyqJofIvqbu8l8zlv3 zq2tgWJI/3oXIpMt3xO5Tnd1+Q0swFStNLHckiV4E65yPngyQrNFESxm/0/Ccu/UINzU 1D0/dryhzCQSQfV5gVrAlWTzGnkR30N+mCsmMOkuZhOz5p1ysEOwJ1clXUphIn3zAiAa UCCAAKVbwDQdAy1HHBtnhQwmho/SrHvn1vPsQUZIff5W2MZymx0P2eX3wr+YxCcuC2Fi SLuQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=YS++6+II; spf=pass (google.com: domain of fm-1321639-20250121101304bcc4dcd31444d7476c-rxty9t@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1321639-20250121101304bcc4dcd31444d7476c-RXty9T@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-227.siemens.flowmailer.net (mta-64-227.siemens.flowmailer.net. [185.136.64.227]) by gmr-mx.google.com with ESMTPS id ffacd0b85a97d-38bf32156e5si121937f8f.1.2025.01.21.02.13.04 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 21 Jan 2025 02:13:04 -0800 (PST) Received-SPF: pass (google.com: domain of fm-1321639-20250121101304bcc4dcd31444d7476c-rxty9t@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) client-ip=185.136.64.227; Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 20250121101304bcc4dcd31444d7476c for ; Tue, 21 Jan 2025 11:13:04 +0100 X-Patchwork-Original-From: "'Felix Moessbauer' via isar-users" From: Felix Moessbauer To: isar-users@googlegroups.com Cc: clara.kowalsky@siemens.com, florian.bezdeka@siemens.com, jan.kiszka@siemens.com, Felix Moessbauer Subject: [PATCH 3/5] move squashfs imagetype class from CIP to ISAR Date: Tue, 21 Jan 2025 11:12:50 +0100 Message-ID: <20250121101252.324899-4-felix.moessbauer@siemens.com> In-Reply-To: <20250121101252.324899-1-felix.moessbauer@siemens.com> References: <20250121101252.324899-1-felix.moessbauer@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1321639:519-21489:flowmailer X-Original-Sender: felix.moessbauer@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm2 header.b=YS++6+II; spf=pass (google.com: domain of fm-1321639-20250121101304bcc4dcd31444d7476c-rxty9t@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1321639-20250121101304bcc4dcd31444d7476c-RXty9T@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Felix Moessbauer Reply-To: Felix Moessbauer Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H2,RCVD_IN_RP_CERTIFIED, RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= As a preparation for live images, we move the squashfs class from isar-cip-core to ISAR and register it as always included. ISAR-cip-core revision: 0e85378341fb7b37cf95b1c910ca0260cf4f5cf4 Signed-off-by: Felix Moessbauer --- meta-isar/classes/squashfs.bbclass | 47 ++++++++++++++++++++++++++++++ meta/classes/image.bbclass | 2 +- 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 meta-isar/classes/squashfs.bbclass diff --git a/meta-isar/classes/squashfs.bbclass b/meta-isar/classes/squashfs.bbclass new file mode 100644 index 00000000..9cd7ed3d --- /dev/null +++ b/meta-isar/classes/squashfs.bbclass @@ -0,0 +1,47 @@ +# squashfs image rootfs +# +# This software is a part of ISAR. +# Copyright (C) Siemens AG, 2021-2025 +# +# SPDX-License-Identifier: MIT + +def get_free_mem(): + try: + with open('/proc/meminfo') as meminfo: + lines = meminfo.readlines() + for line in lines: + if line.startswith('MemAvailable:'): + return int(line.split()[1]) * 1024 + except FileNotFoundError: + pass + return 4*1024*1024*1024 # 4G + +IMAGER_INSTALL:squashfs += "squashfs-tools" + +SQUASHFS_EXCLUDE_DIRS ?= "" +SQUASHFS_CONTENT ?= "${PP_ROOTFS}" +SQUASHFS_CREATION_ARGS ?= "" + +SQUASHFS_THREADS ?= "${@oe.utils.cpu_count(at_least=2)}" +SQUASHFS_MEMLIMIT ?= "${@int(get_free_mem() * 3/4)}" +SQUASHFS_CREATION_LIMITS = "-mem ${SQUASHFS_MEMLIMIT} -processors ${SQUASHFS_THREADS}" + +python __anonymous() { + exclude_directories = d.getVar('SQUASHFS_EXCLUDE_DIRS').split() + if len(exclude_directories) == 0: + return + # Use wildcard to exclude only content of the directory. + # This allows to use the directory as a mount point. + args = " -wildcards" + for dir in exclude_directories: + args += " -e '{dir}/*' ".format(dir=dir) + d.appendVar('SQUASHFS_CREATION_ARGS', args) +} + +IMAGE_CMD:squashfs[depends] = "${PN}:do_transform_template" +IMAGE_CMD:squashfs[vardepsexclude] += "SQUASHFS_CREATION_LIMITS" +IMAGE_CMD:squashfs() { + ${SUDO_CHROOT} /bin/mksquashfs \ + '${SQUASHFS_CONTENT}' '${IMAGE_FILE_CHROOT}' \ + -noappend ${SQUASHFS_CREATION_LIMITS} ${SQUASHFS_CREATION_ARGS} +} diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index db21cc76..49861b75 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -129,7 +129,7 @@ IMAGE_BASETYPES = "${@get_image_basetypes(d)}" # image types IMAGE_CLASSES ??= "" -IMGCLASSES = "imagetypes imagetypes_wic imagetypes_vm imagetypes_container" +IMGCLASSES = "imagetypes imagetypes_wic imagetypes_vm imagetypes_container squashfs" IMGCLASSES += "${IMAGE_CLASSES}" inherit ${IMGCLASSES}