From patchwork Fri Aug 2 11:41:05 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "nicusor.huhulea@siemens.com" X-Patchwork-Id: 3733 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 02 Aug 2024 13:42:47 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-lj1-f188.google.com (mail-lj1-f188.google.com [209.85.208.188]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 472BgkJd020221 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 2 Aug 2024 13:42:47 +0200 Received: by mail-lj1-f188.google.com with SMTP id 38308e7fff4ca-2ef2abc51b9sf77630001fa.0 for ; Fri, 02 Aug 2024 04:42:47 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1722598961; cv=pass; d=google.com; s=arc-20160816; b=u7tHQ5iA2OoD761sZO1c1+wolqUq+slU1AHpXXmV7lhhmTsTPicFZAmX96MF1Yp//n PJxjuE6QboNc3+0NCzYysWRIeKQFBxmTIvj6WhwX0dt6Uq8Smsf4/uiSuZOzjgyWBz4Q GY9GBh/SbNRhXD/aLs4sH1uf4G4uAeITM6dgEUWB02VkdrNGh8Azj9EkQ0J0f6W7Y7GA 1M7Hi8oj5A13HcI/xe+KXhQ0YJd5CJwNVVarSdm8XayNAZY/sW1wJGaqRZ63hAQHAfEf HPMEcTUd9UirIfDw1cgnRoHE8by2Bo8pcWZMcvn+qZJJBiT/M5N8faO2VRw2mrCPDaxY L0tw== 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:reply-to:feedback-id:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=sbgbedLg1GQfHcEPZXgFtZj7Wa52pFbhQVGEgQeOp3E=; fh=nvKQQU5pze1i/i2nrj7fbj8EuWCGFqdmXBXIKP9rXBc=; b=MEk1ES/Cyv/7hXdArKj8IxIs9eXaBHAGk3u7vMdiUUYOiFTtFRTh5s/Kt7/oUoNjyx gZ8/DhhCL2G8nacNvYULEgs/X8drZeyQ4rVe3PWNl/QdP6r37wB/U8Lq/1WfhGraT5P1 CW0IE3XA084bOtPsRPqxwS9IrO4LTopgsknHgMQ8Aasjm9vw1i9f4VEnLdLhDBK4E4SV C0vQqaf8DOOp53H21OwOHHvLn3kiuC/ATavZ69fpACZ6AqgOMxgZkhluI8BX8IP1SGZ/ cVcOuOQmvy9StISHkNxhwaTqe111dcspx7DSKYQpPftY7vcKr37WMj5FfRVhluYqCodn HmDQ==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=hG1ZujLe; spf=pass (google.com: domain of fm-1327153-20240802114237fff4da993804ca72ec-viqz_z@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-1327153-20240802114237fff4da993804ca72ec-viqz_z@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=1722598961; x=1723203761; 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:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=sbgbedLg1GQfHcEPZXgFtZj7Wa52pFbhQVGEgQeOp3E=; b=xBhl6aU5XXPzG4l8NWx6RTy95r4YTbPTa31q5k/5aFk4YJRiPFUBEWHTAHRFPfFeM3 f8eoR1IJgQt/Mpv4+naz4bhH/B3rfOymUMhaPJPRcSZ+CBIIbs94c8PZgsjjX1QoAhXq kgtYufRNuEDj1w5zfYVoofks6ojfEsn0DXnF+tYaL4/lQI8HRELDIogVHAF0o05tJBfR thK07vi4M9SVFwqBkNuNEHALdbMEinLMJ44v2ZREyHstZpIZzPF6pIydx/zLNBU+e1o7 4V2dD4gUPCENOul8KvOp0Og+sv5dpIHOfMEzljWU/SwnLWiugSSHtRQwFbV2TdjCRXOQ ebPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722598961; x=1723203761; 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:message-id:date:subject:cc:to:from:x-beenthere :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=sbgbedLg1GQfHcEPZXgFtZj7Wa52pFbhQVGEgQeOp3E=; b=IjcG8xWrNbCfinrmHZ4ZtXK5w3SuZMAcuBrQkTCK+KJyzz255pTbmXgHBzpUoqdr8I Du8A+MQjT4cgNSsU1BXobWbf2vlouufuF+MPU2tLwShCRZTdjHkdAIq/+14QYX+n5j2r osNKvqI2b3qNhJFIpScqHZs5dnU6Z+tuOsnuX2ojFCoHdlfJKsx4UQSe3/uJi6bgAuNu SMFNFbI1d5Ap20mwFow0rngIq0p3EMxkg3iBfrk/LHj44ujG32Pbob/loS05PB9ExGAH 14ZLwWNFh9YcnZwLYn9PrUzFqCyGqB0Z9N1KgIS1gggE6HGh34/3oM0AMZbGxfvV3B6V BwmQ== X-Forwarded-Encrypted: i=2; AJvYcCUxVlTdDJxuFvWncU2iM17V1Ywb8utqq+btV6mu/Ag0SsUsYRvtrkgFJ4AOBkw+Eja4irWe/mrJdmZHXshCiZmE4a03Ujk= X-Gm-Message-State: AOJu0YytqwbA1oCP4fgk1pkCI9xDI395huH4zXkIfEK3F0tfq9IQLzxS gPcSQ2rG3Q4bM2p4ScsWVhYxuh+nkIZmpGjE9Q8QH7OQZ2RPAHNu X-Google-Smtp-Source: AGHT+IEu9BCCgkKtQLp1XdCLLAfsr/V+YmV1i7k+if9PGFUyi0JCZ8/dvwAuKGF01DkSA2+DhbAOBQ== X-Received: by 2002:a2e:b048:0:b0:2ef:2b38:8796 with SMTP id 38308e7fff4ca-2f15ab03fcbmr23798691fa.32.1722598960620; Fri, 02 Aug 2024 04:42:40 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:651c:2110:b0:2ef:1eb3:4736 with SMTP id 38308e7fff4ca-2f03a2c1491ls19046161fa.0.-pod-prod-08-eu; Fri, 02 Aug 2024 04:42:38 -0700 (PDT) X-Received: by 2002:a2e:960a:0:b0:2ef:2b06:b686 with SMTP id 38308e7fff4ca-2f15aa99191mr25295781fa.17.1722598958294; Fri, 02 Aug 2024 04:42:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1722598958; cv=none; d=google.com; s=arc-20160816; b=BqVQp6Zjm1wk2J0FeMVI/4eLUTWZCuoa3sqQ40nUj06WPu6UaNAenxYrYwWb9JRPe6 LujogtHO+lyOhyUE1mxKifU61jgRfX48RNNt0yRTmSShktzKKNKmY1BmSQi9JHIzghCb 4tV+9VlQ1itFTknVmpr3oh/7FUXrjLPZbTMj6Imp6ASENPNDStQLXGh8JBo+vGpIDGgI UXAQmdNdcahb+fr6D8TtSX9tkQeanjZw9ZknpjxRQM0VACadgvJRdsgJqQjDqqKijOYn F+lXhuK5d7lp1T4z4XezSMvWWEe0dMpwQJBz95dD2RbDuruTQI77FQnWG/8Iimm5uxkQ hYLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=feedback-id:content-transfer-encoding:mime-version:message-id:date :subject:cc:to:from:dkim-signature; bh=DqFH9ErzWdRxsG44F3ZhGI5wBBQWw08v6luIg5R8gpM=; fh=uEpizMaC9FZ5RjhWZ8Q38YHTDXG+3EPxv68QQHJHPnI=; b=nVO9RhI0iprpyyh+cT1NV89WlzEAtA88s3574fYXyl2LswmKxGuzouxPcwg0ePgfSY eKVnMwMjuUed6YF+/hsvUsyvDYZVe+LTmFU8qkViE3yv0t/Cw5IJmVQLnIJtyCsBEtvr 19uv2dbaYUi0OKxsEm2zkCMDsWu0b0hvNsCU3Lggvh7eP4xDhhTwZrmMDcg7i1mWxcp7 Oy58/mqKkUtIuKvUXitdnO/rVf+fYBBwUKPYEyP5axJWjNJvyQhTKtCosu7ZBptRXrGj 37EIbwU0jkuEX4msj4Vq/MgrxogkJEUT1Csy8uN9Xu4fXZX+I1mWzjyP/bltXr4bZs7Z 96CQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=hG1ZujLe; spf=pass (google.com: domain of fm-1327153-20240802114237fff4da993804ca72ec-viqz_z@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-1327153-20240802114237fff4da993804ca72ec-viqz_z@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-226.siemens.flowmailer.net (mta-64-226.siemens.flowmailer.net. [185.136.64.226]) by gmr-mx.google.com with ESMTPS id 38308e7fff4ca-2f15e291dbasi308081fa.7.2024.08.02.04.42.38 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 02 Aug 2024 04:42:38 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1327153-20240802114237fff4da993804ca72ec-viqz_z@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) client-ip=185.136.64.226; Received: by mta-64-226.siemens.flowmailer.net with ESMTPSA id 20240802114237fff4da993804ca72ec for ; Fri, 02 Aug 2024 13:42:37 +0200 X-Patchwork-Original-From: "'Nicusor Huhulea' via isar-users" From: "nicusor.huhulea@siemens.com" To: isar-users@googlegroups.com Cc: Nicusor Huhulea Subject: [PATCH] linux-custom: compile only those specified dtbs Date: Fri, 2 Aug 2024 14:41:05 +0300 Message-Id: <20240802114105.1767411-1-nicusor.huhulea@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1327153:519-21489:flowmailer X-Original-Sender: nicusor.huhulea@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=hG1ZujLe; spf=pass (google.com: domain of fm-1327153-20240802114237fff4da993804ca72ec-viqz_z@rts-flowmailer.siemens.com designates 185.136.64.226 as permitted sender) smtp.mailfrom=fm-1327153-20240802114237fff4da993804ca72ec-viqz_z@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Nicusor Huhulea Reply-To: Nicusor Huhulea 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_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?= The current implementation makes a full kernel build and that means it will compile all dtbs specified by the bsp makefile e.g arch/arm64/boot/dts/ti/Makefile Currently the required dtbs are given by the DTB_FILES. These changes are checking if the DTB_FILES is specified, compile only those and avoids compiling all the dtbs from the bsp directory. Otherwise build all dtbs specified by the kernel source. Preventing the automatic dtb builds is made by using target specific build commands e.g KERNEL_IMAGETYPE The compilation of the dtbs accepts the following formats e.g: a) full path from the architecture directory: arch/${ARCH}/boot/dts/bsp_dir/test.dts arch/${ARCH}/boot/dts/bsp_dir/test.dtb b) relative path from the dts directory: bsp_dir/test.dts c) device tree blob file: bsp_dir/test.dtb Compilation of the dtbs is somewhat similar to KERNEL_DEVICETREE from OE when it comes to declaring the path to the dts, but for now in the DTB_FILES variable only Device Tree Blobs(.dtb) needs to be declared due to the fact that is being used in do_copy_boot_files task. Signed-off-by: Nicusor Huhulea --- meta-isar/conf/machine/imx6-sabrelite.conf | 4 +- meta-isar/conf/machine/phyboard-mira.conf | 4 +- .../linux/files/debian/isar/build.tmpl | 43 ++++++++++++++++--- .../linux/files/debian/isar/install.tmpl | 31 ++++++++++++- meta/recipes-kernel/linux/linux-custom.inc | 6 +++ 5 files changed, 80 insertions(+), 8 deletions(-) diff --git a/meta-isar/conf/machine/imx6-sabrelite.conf b/meta-isar/conf/machine/imx6-sabrelite.conf index e48823d6..6ca0a907 100644 --- a/meta-isar/conf/machine/imx6-sabrelite.conf +++ b/meta-isar/conf/machine/imx6-sabrelite.conf @@ -15,4 +15,6 @@ MKUBIFS_ARGS := "-m 0x1000 -e 0x3e000 -c 1500" UBINIZE_ARGS = "-vv -m 0x1000 -p 0x40000" IMAGE_FSTYPES ?= "ubi-ubifs" -DTB_FILES = "imx6q-sabrelite.dtb" +KERNEL_IMAGETYPE = "zImage" + +DTB_FILES = "nxp/imx/imx6q-sabrelite.dtb" diff --git a/meta-isar/conf/machine/phyboard-mira.conf b/meta-isar/conf/machine/phyboard-mira.conf index feec4e54..d64b4624 100644 --- a/meta-isar/conf/machine/phyboard-mira.conf +++ b/meta-isar/conf/machine/phyboard-mira.conf @@ -16,10 +16,12 @@ MKUBIFS_ARGS := "-m 0x800 -e 0x1f000 -c 8012" UBINIZE_ARGS = "-vv -m 0x800 -p 0x20000" IMAGE_FSTYPES ?= "ubi ubifs" -DTB_FILES = "imx6q-phytec-mira-rdk-nand.dtb" +DTB_FILES = "nxp/imx/imx6q-phytec-mira-rdk-nand.dtb" IMAGE_INSTALL += "barebox" +KERNEL_IMAGETYPE = "zImage" + BAREBOX_CONFIG = "imx_v7_defconfig" BAREBOX_ENV = "phytec-mira-env" BAREBOX_BASE_BIN = "barebox-phytec-phycore-imx6q-som-nand-1gib" diff --git a/meta/recipes-kernel/linux/files/debian/isar/build.tmpl b/meta/recipes-kernel/linux/files/debian/isar/build.tmpl index bafc5ca4..b18c8f20 100644 --- a/meta/recipes-kernel/linux/files/debian/isar/build.tmpl +++ b/meta/recipes-kernel/linux/files/debian/isar/build.tmpl @@ -21,22 +21,55 @@ do_build() { KR=$(${MAKE} O=${KERNEL_BUILD_DIR} -s --no-print-directory kernelrelease) sed -i "s/@KR@/${KR}/g" ${S}/debian/control ${S}/debian/linux-image-${KERNEL_NAME_PROVIDED}.* - if echo "${DEB_BUILD_PROFILES}" | grep -q "kernel"; then # Build kernel scripts and tools - ${MAKE} O=${KERNEL_BUILD_DIR} ${PARALLEL_MAKE} ${KERNEL_EXTRA_BUILDARGS} KCFLAGS="${KCFLAGS}" KAFLAGS="${KAFLAGS}" + MAKE_CMD_PREFIX="${MAKE} O=\"${KERNEL_BUILD_DIR}\" ${PARALLEL_MAKE} KCFLAGS=\"${KCFLAGS}\" KAFLAGS=\"${KAFLAGS}\"" + if echo "${DEB_BUILD_PROFILES}" | grep -q "kernel"; then + if [ -n "${KERNEL_IMAGETYPE}" ]; then # Override the default compilation + eval "${MAKE_CMD_PREFIX} ${KERNEL_EXTRA_BUILDARGS} ${KERNEL_IMAGETYPE} modules" + compile_dtbs + else # Full build + eval "${MAKE_CMD_PREFIX} ${KERNEL_EXTRA_BUILDARGS}" + fi elif echo "${DEB_BUILD_PROFILES}" | grep -q "kbuild"; then # Build kernel scripts and tools - ${MAKE} O=${KERNEL_BUILD_DIR} ${PARALLEL_MAKE} ${KERNEL_EXTRA_BUILDARGS} KCFLAGS="${KCFLAGS}" KAFLAGS="${KAFLAGS}" scripts + eval "${MAKE_CMD_PREFIX} ${KERNEL_EXTRA_BUILDARGS} scripts" if grep -q -E "CONFIG_STACK_VALIDATION=y|CONFIG_HAVE_OBJTOOL=y" ${KERNEL_BUILD_DIR}/.config && [ -d "tools/objtool" ]; then - ${MAKE} O=${KERNEL_BUILD_DIR} ${PARALLEL_MAKE} KCFLAGS="${KCFLAGS}" KAFLAGS="${KAFLAGS}" tools/objtool || true + eval "${MAKE_CMD_PREFIX} tools/objtool" || true fi if grep -q "CONFIG_MODULES=y" ${KERNEL_BUILD_DIR}/.config; then - ${MAKE} O=${KERNEL_BUILD_DIR} ${PARALLEL_MAKE} KCFLAGS="${KCFLAGS}" KAFLAGS="${KAFLAGS}" modules_prepare + eval "${MAKE_CMDPREFIX} modules_prepare" fi fi + # Stop tracing set +x } +compile_dtbs() { + prefix="arch/${ARCH}/boot/dts/" + for dtb in ${DTB_FILES}; do + # Check if the path is relative (starts with arch/${ARCH}/) + # and if it does then extract the relative path from the architecture specific path + if [[ "${dtb}" == "${prefix}"* ]]; then + relative_dtb_path="${dtb#${prefix}}" + else + # directly use the given DTB if not prefixed with arch/${ARCH}/" + relative_dtb_path="${dtb}" + fi + + # Check if it's a .dts file + if [[ "${relative_dtb_path}" == *.dts ]]; then + # Change .dts to .dtb + relative_dtb_path="${relative_dtb_path%.dts}.dtb" + fi + + eval "${MAKE_CMD_PREFIX} ${relative_dtb_path}" + if [ $? -ne 0 ]; then + echo "${dtb} failed to compile" >&2 + exit 1 + fi + done +} + print_settings() { cat <