From patchwork Wed Apr 19 14:09:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinuvasan Arjunan X-Patchwork-Id: 2775 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 19 Apr 2023 16:10:08 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-io1-f62.google.com (mail-io1-f62.google.com [209.85.166.62]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 33JEA7Sq030044 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 19 Apr 2023 16:10:07 +0200 Received: by mail-io1-f62.google.com with SMTP id ca18e2360f4ac-7606cf95537sf2312139f.0; Wed, 19 Apr 2023 07:10:07 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1681913401; cv=pass; d=google.com; s=arc-20160816; b=sdNnI/5C6dY3zgI7Lt1qAzoLhfMke+qj6qVPRm/KJSrzxha5xnMc/x5K8RfKjgGrPZ gx5IXKEtQtfPTJzsVNSA5AeBPKCTlISs3agieNSxF+NM/8EIP/UHCXCxyj+EROtjLZtn iK/RoHyA2YMoaPVJ7iv9wzYC0ubqWgVIu++zskPfPk1Z0RDDnJqSMFb7jvO9Q3d0P3QH t5HyzPSiCW501DEAtkItIoiQ5JISxuQRb3/kxc8nxkAiZcyb6tKRdYuTDuxpR1p89UC2 12ESCX2X8i4ltkFFoMrqmp2QsorElosmJ4dJOs18VaQnHJG3jskL0Mbd7sidSMnoOFHG j8TQ== 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:cc:to:from:ironport-sdr:sender :dkim-signature; bh=xQxRxPzbA0vWfDmDAs3tB2x2lckKL07vYxWzALYM2Ck=; b=u62T2Hbne60u4E4jJStNP2kO+w5cZTGWfUVm8jviAaiO8WjIGVL/ZNfKv100cl1Org 1EscKI4N+Mya4Ixi4Znj8J3abUMUjiTlAwWUBBptYrlyH1OICK7+F8+LB97LAapv6mxH sq2cmNxiHKbqVIFsSy9wo5tf2hM7JEeE0SCdAQ4ZLVKujpCONS5t5qcE8uvObHr6jp0N ifW1BGRVdxlA8DNqi8EID3nTNZKB6FO5NvpaXyo63GOJV6+5MCab2cZCcersmcF+fGcY 1A71lzX1EUt1f/+IuvLYur3XhJhpEeEYmeDUAQXfQ+UoZU4ckZDgtOkEvZBOFdBWjdTy ZVcQ== ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=pass (google.com: domain of srinuvasan_a@mentor.com designates 68.232.141.98 as permitted sender) smtp.mailfrom=Srinuvasan_A@mentor.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20221208; t=1681913401; x=1684505401; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:ironport-sdr:sender:from:to:cc:subject:date :message-id:reply-to; bh=xQxRxPzbA0vWfDmDAs3tB2x2lckKL07vYxWzALYM2Ck=; b=mzgg8OEm7aZkt0+fXnTLLnLqQZyZZGIqQqLQO/Y5L7pdU4r+Au28wOYAQdM9MjzzKL UZVGAuebiC59bINFovbOhoRsbe0TTU+LYhlteaHTDXILEhRc7E47y4FzvCBrHjIQ6fkB ZGM6Vjf051vB4gt2F9uCQSkMaeo0zXMPX7ml92KbGbwSk/Br/eCz1atF0ItoKkbON2rw sA7aSHhojTheuLElUDjqnYlqnviW6czHOCTDwztXAgo/SGCuKLYqUQ/pQeKGO/rDDKjl z0ER6KUL0PDUHsboAU1cNokxUsLTi+uj7GMVugDgKbhdBHb5vKCL31JZZkNz564UwHHL Etag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681913401; x=1684505401; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :ironport-sdr:x-beenthere:x-gm-message-state:sender:from:to:cc :subject:date:message-id:reply-to; bh=xQxRxPzbA0vWfDmDAs3tB2x2lckKL07vYxWzALYM2Ck=; b=MD34fKhKrSKbIzTTzM2p5Ly2eGmWGXJEmmHsVK4cTkwgAH/cZMnZn/W/MsaWbnaK13 jOYyot+Hj3D/X/VjAEFgfNo1duE+uFNGN1Y7AM7m93RJc5FL7F/NKC/V0vquyk4zDFyI 2iM+ggPzD7M9DqIIXw8gjxZFKg9rwQ+UuHuWoqO271yQo1XKRyp6i6ceduqSqGSW2LmW WOTheK8QIWv5LxtpeKtoyxk+Kc29VMFKviV931lNBUoPMTYHIUA5xyMj/UbcokXhT7+t J+CuzCj/S5W674tyI41qXGnXZ4d3zrt5YhlIJ02Y2dZgZFFO7cRSl/qb53Tg+fkhuGSy K2yg== Sender: isar-users@googlegroups.com X-Gm-Message-State: AAQBX9dUNUC7B5fxeGYINkkZnhACNAGd14xWQEJ9rro4/aO/vkX7LR5F AXhAl2irrQoJTUT/MmyZCFM= X-Google-Smtp-Source: AKy350bFfH8ubn4PcNsSuKuPgMBsUZjqQJ1n6xm2g58iWRVHyStlqLJrVWyUzQ3YcS6G/now/nllEA== X-Received: by 2002:a5d:8951:0:b0:760:a07c:3222 with SMTP id b17-20020a5d8951000000b00760a07c3222mr17675iot.3.1681913401586; Wed, 19 Apr 2023 07:10:01 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6e02:2184:b0:32a:ad14:88b with SMTP id j4-20020a056e02218400b0032aad14088bls4771469ila.0.-pod-prod-gmail; Wed, 19 Apr 2023 07:10:00 -0700 (PDT) X-Received: by 2002:a92:d784:0:b0:32b:6d5:5146 with SMTP id d4-20020a92d784000000b0032b06d55146mr47477iln.11.1681913400721; Wed, 19 Apr 2023 07:10:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681913400; cv=none; d=google.com; s=arc-20160816; b=i1VkmWpdaiaYddzRM2sU40IxsWOo6Wo3zQJE2AYKjEfjGak7ItVODpyZKncRlUHvxk PmBDZHUh2qqlmgq1peCUe0l3ezJtYXowLDf8NbjLGhQZpfuzwMKW2hvLmHR8qBYDL49a 1Bs4+LQjQsJVMT/KaQ9xdlLvwJZxy6h8D9kah8A0NHOmGUJn22AFkl+Q/gccdJNAuDG7 UTA+2BOan52ykaw849c3khVdJj8+XYWj0UncEG/7IHK2f04nnntQUZgJnoD9x6d/ihZO bXJojlpNhcDAQbNpqbXL6NYRo2GkUZafWIUpEISnMyWYvDySaoZfzXJgnGfrrYm9C0Nq F0QQ== 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:cc:to:from:ironport-sdr; bh=4PzhNCoSl6uE2UvtMvanrOZiAB5tpe7+XTLWxTD3KEo=; b=zNFuXNjlre10AxWojmVAR36K0PZIHZ9Oqrc7mLM+totMsj8P7LKPUYdvKzjRZayKHo g7cUCLKs4XuHsPo6fqt3U/TVehzLc9OtZn2APQH2gjw1ANsTgH5Gl/Ng6FpFFa7ON9hm 2HbWdicNjLqUHAO3UJnmM0SudXS7jeCVUe89xh49kJeD/pcyq4zwp4t8e1+UFWh5iJ9n Bj6yaKx7KHkGIM2GQBJhGWwWD6RQhlsP26ILXIHhF7GC7x1w2cPN4UWKaBNIEGtZErFV cTf8MKbut48sv38IvMOyli7GXCMwWj9Ka4dgZQRq+3uS3QWLFPQX0IKDjkB62KE13h2O iU9w== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of srinuvasan_a@mentor.com designates 68.232.141.98 as permitted sender) smtp.mailfrom=Srinuvasan_A@mentor.com Received: from esa2.mentor.iphmx.com (esa2.mentor.iphmx.com. [68.232.141.98]) by gmr-mx.google.com with ESMTPS id l14-20020a056e020e4e00b0032b4d49f708si273423ilk.1.2023.04.19.07.10.00 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 19 Apr 2023 07:10:00 -0700 (PDT) Received-SPF: pass (google.com: domain of srinuvasan_a@mentor.com designates 68.232.141.98 as permitted sender) client-ip=68.232.141.98; X-IronPort-AV: E=Sophos;i="5.99,208,1677571200"; d="scan'208";a="3254442" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa2.mentor.iphmx.com with ESMTP; 19 Apr 2023 06:09:59 -0800 IronPort-SDR: 8dWSOy/LrxY2AVXf46u/Fz1vPq/1VF0sXNkNIopRqDhrZzFrGTgFt5oEYcbpjpvzEw6g6saBrn K2n819ZVSxvk1Z5R8r7VSLK+HITXzp6t8ahzBlpiFMYmFQN0waWRagDfznPhVmOx8wKS98p30P 4YQF5cm7PxwvOiUhDxof9M1lPMgKBwr5/CggNSbDtsXW0EzvvcRhhUe3ci6N+MnOGxV/T0FuaC IURUS8wHSY2e/wRSq48GQUrcB+//bZgLGhExWG2cAXiUfZ+Pbn62oi5Odiocew5S3gBy8kmps+ eqw= From: Srinuvasan Arjunan To: CC: , , , Srinuvasan A Subject: [PATCH v2] meta/classes/sdk.bbclass: add --transform in TAR_OPTIONS Date: Wed, 19 Apr 2023 19:39:40 +0530 Message-ID: <20230419140940.1268690-1-srinuvasan_a@mentor.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 X-ClientProxiedBy: svr-orw-mbx-11.mgc.mentorg.com (147.34.90.211) To svr-orw-mbx-13.mgc.mentorg.com (147.34.90.213) X-Original-Sender: srinuvasan_a@mentor.com X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of srinuvasan_a@mentor.com designates 68.232.141.98 as permitted sender) smtp.mailfrom=Srinuvasan_A@mentor.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-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,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?= From: Srinuvasan A When we untar the SDK rootfs archive file, all the contents are extracted into the current directory, not a folder, this looks ugly hence fixed it with the file name transformations option. But the below transform pattern not works, specifically with the symlink TAR_OPTIONS:append:class-sdk = " --transform="s|.|${IMAGE_FULLNAME}|"" instead of changedir -C with {PP_ROOTFS} and choose all files (.), use {PP} and choose rootfs dir, now by default extracted into a rootfs sub folder, in this case --transform works fine with the filename. Updated the document as well. Signed-off-by: Srinuvasan A --- doc/user_manual.md | 20 ++++++++++---------- meta/classes/imagetypes.bbclass | 2 +- meta/classes/sdk.bbclass | 1 + 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/doc/user_manual.md b/doc/user_manual.md index 92075a8..60b7ca9 100644 --- a/doc/user_manual.md +++ b/doc/user_manual.md @@ -1063,8 +1063,8 @@ User manually triggers creation of SDK root filesystem for his target platform b `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). -The resulting SDK rootfs is archived into `tmp/deploy/images/${MACHINE}/sdk-${DISTRO}-${DISTRO_ARCH}.tar.xz`. -It is additionally available for direct use under `tmp/deploy/images/${MACHINE}/sdk-${DISTRO}-${DISTRO_ARCH}/`. +The resulting SDK rootfs is archived into `tmp/deploy/images/${MACHINE}/${IMAGE_FULLNAME}.tar.xz`. +Once you untar the compressed file, the content will be extracted into the ${IMAGE_FULLNAME} sub folder. The SDK rootfs directory `/isar-apt` contains a copy of isar-apt repo with locally prebuilt target debian packages (for ). One may chroot into the SDK and install required target packages with the help of `apt-get install :` command. @@ -1073,7 +1073,7 @@ One may chroot into the SDK and install required target packages with the help o - Trigger creation of SDK root filesystem ``` -bitbake -c do_populate_sdk mc:qemuarm-buster:isar-image-base +bitbake -c do_populate_sdk mc:qemuarm-bullseye:isar-image-base ``` - Mount the following directories in chroot by passing resulting rootfs as an argument to the script `mount_chroot.sh`: @@ -1091,14 +1091,14 @@ mount devtmpfs $1/dev -t devtmpfs -o mode=0755,nosuid mount devpts $1/dev/pts -t devpts -o gid=5,mode=620 mount tmpfs $1/dev/shm -t tmpfs -o rw,seclabel,nosuid,nodev -$ sudo scripts/mount_chroot.sh ../build/tmp/deploy/images/qemuarm/sdk-debian-buster-armhf +$ sudo scripts/mount_chroot.sh ../build/tmp/deploy/images/qemuarm/isar-image-base-sdk-debian-bullseye-qemuarm ``` - chroot to isar SDK rootfs: ``` -$ sudo chroot build/tmp/deploy/images/qemuarm/sdk-debian-buster-armhf +$ sudo chroot build/tmp/deploy/images/qemuarm/isar-image-base-sdk-debian-bullseye-qemuarm ``` - Check that cross toolchains are installed @@ -1190,7 +1190,7 @@ 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` +`tmp/deploy/images/${MACHINE}/isar-image-base-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 ). @@ -1207,27 +1207,27 @@ to edit files in the host with an IDE and build in the container. For one-shot builds (use `local.conf` otherwise): ``` -export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE SDK_FORMATS" +export BB_ENV_PASSTHROUGH_ADDITIONS="$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 +bitbake -c do_populate_sdk mc:qemuarm-bullseye:isar-image-base ``` - Load the SDK container image into the Docker Daemon ``` -docker load -i build/tmp/deploy/images/qemuarm/sdk-isar-image-base-debian-buster-armhf-1.0-r0-docker-archive.tar.xz +docker load -i build/tmp/deploy/images/qemuarm/isar-image-base-sdk-debian-bullseye-armhf-1.0-r0-docker-archive.tar.xz ``` - 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" sdk-isar-image-base-debian-buster-armhf:1.0-r0 +docker run --rm -ti --volume "$(pwd):/build" isar-image-base-sdk-debian-bullseye-armhf:1.0-r0 ``` - Check that cross toolchains are installed diff --git a/meta/classes/imagetypes.bbclass b/meta/classes/imagetypes.bbclass index 2ee3240..e476778 100644 --- a/meta/classes/imagetypes.bbclass +++ b/meta/classes/imagetypes.bbclass @@ -9,7 +9,7 @@ TAR_OPTIONS ?= "" IMAGE_CMD:tar() { ${SUDO_CHROOT} tar ${TAR_OPTIONS} -cvSf \ - ${IMAGE_FILE_CHROOT} --one-file-system -C ${PP_ROOTFS} . + ${IMAGE_FILE_CHROOT} --one-file-system -C ${PP} rootfs } # image type: ext4 diff --git a/meta/classes/sdk.bbclass b/meta/classes/sdk.bbclass index 06cae02..c6dc689 100644 --- a/meta/classes/sdk.bbclass +++ b/meta/classes/sdk.bbclass @@ -53,6 +53,7 @@ ROOTFS_MANIFEST_DEPLOY_DIR:class-sdk = "${DEPLOY_DIR_SDKCHROOT}" ROOTFS_DPKGSTATUS_DEPLOY_DIR:class-sdk = "${DEPLOY_DIR_SDKCHROOT}" IMAGE_FSTYPES:class-sdk = "${SDK_FORMATS}" +TAR_OPTIONS:append:class-sdk = " --transform="s|rootfs|${IMAGE_FULLNAME}|"" # bitbake dependencies SDKDEPENDS += "sdk-files ${SDK_INSTALL}"