From mboxrd@z Thu Jan 1 00:00:00 1970 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-f190.google.com (mail-lj1-f190.google.com [209.85.208.190]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 472Bgkst020222 (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-f190.google.com with SMTP id 38308e7fff4ca-2ef2fd50a2asf77141291fa.1 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=HBEHhELcDd8UPT/x8WywxhMMWrK8ULpoYLfEfclSxqYmsBugATuhpnbtL9IkB3QczG 2xAZIPbrSORk9Kah2jCfroWHJC0LfZvG7aR4xlvT8D2J7o3m5SHWM8ezdoPeJV2gyQxU TJe4szb3k61cqXV5AS6PvlLmmpf4nJfsMLumhpdIIqUKlysjjzLt6iv8LCjEdzz82OMr eGJo4yK1e8TMkOsEEeMI1fbyXeA4GPdsHivYfEvajHvZKkBlnj/c4AbEiZCZu04dBFPh jQp5cuKiwNlRWJMuOt5gqiYjr+3vT9gDJ1bRwXjsogxgGNOXC0YHRSCahSDlz4ejLoT9 LbNQ== 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=lNtuX+lshoAESE/FuSbldk/yudMCxOs+KttXuiaS4Y4=; b=ybpAdYTEbMHPHhxLOKyJeO6gsj4Mj7sHQFsQb7lQ7+ZRNXmawYJjxckv+LKBUCfAvW yZGC1Hg63lNv+dhjo/52T2wNv+WJF6xlhiqbnYFkwrQr6Ef7G8xM1XRF2scyQRLM2oLD TjHAfa4nE+wbo7/IwQ8mLVOV1jZIH7AsjQbwzjdGvmtC9uts/bI9G5GdoLaCNqiXBN2e FH6kRWzAZsubE7SlWdBiJk04Ob+rfKuWksWOPBlPLiLFwS5Cx72lyPErXdIVQiFoqYdC zWjwx0NcGbnYljKCg/OrPJUla3veqJfq+V60DVWVVAw1NEA4w//wUVgBUfdUunPwU1TP Bs/Q==; 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=G2vIxhyn5oejzk0yMZI5EBDbuQBu/0UBt4ixPubkPJJViQgyidskBG4uw/vAvWqt5Y 0vAr2DG0L7AVSxgArHVcqqk/6qcSDccoyl+2n+FN3LI8olUf20HvUEiyKIodWT6fHG+T tmg3oIQponb7eUtMznx5tz10SuR9KX6r6Zi6gFkTSmAU85c5ZBcTUiDlE4Iu+B/CLCqO hRZdL2Oc2JsC1EsMXIp3fLN2Kjwwo5+172KUvqPqxOC0Qskx38Rz7yNtIiWQSdHo2e7I QY4NThUcNyZppLXlNuwtF/Qj80oBFe5bFTiYyA6jwe/lPqnBisvjRl7803Or4zCJCcKh 8lRQ== X-Forwarded-Encrypted: i=2; AJvYcCWPBr8mi/Hh1MaMtYv7PLmknWBqEBpau2tx9vnc4TWcjmeAlmplpjO9CaTFT4U7vrEjYQKbyl5iSRMjsfRM/wY/DqY= X-Gm-Message-State: AOJu0Ywo6TjCf7jq4MMOWdFuYWiARjkXOtimkjPqcksw6Lbqo3MztUDs PESI8pvWxywGYzaOPzN0XE6CXIjP64zo2U7b2aF1nUHb1azceAHx 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 From: "'Nicusor Huhulea' via isar-users" 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 Content-Type: text/plain; charset="UTF-8" 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-TUID: SdZlPrqt/UBh 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 <