From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7376673206058352640 X-Received: by 2002:ad4:5aaf:0:b0:6ae:d305:15bf with SMTP id 6a1803df08f44-6aed30515e7mr134181446d6.5.1717515570409; Tue, 04 Jun 2024 08:39:30 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6214:d06:b0:6a0:f448:96ca with SMTP id 6a1803df08f44-6ae0ba4ea7bls19695476d6.0.-pod-prod-04-us; Tue, 04 Jun 2024 08:39:29 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH2bOdMPTsX91h0l622SjA1cz+2rEpRnJeY4UzNe6ahoCdeUWXdfeENpEDLKWvp6SI94mDG X-Received: by 2002:a05:6122:910:b0:4eb:1b53:47a8 with SMTP id 71dfb90a1353d-4eb1b5357bdmr5705302e0c.15.1717515569247; Tue, 04 Jun 2024 08:39:29 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1717515569; cv=pass; d=google.com; s=arc-20160816; b=UVZNyztlBm+z3n6FrqpTW2SPR5x5c1UBIWk39AyW/Xki0By3vQrXem65Ej6AERmbvA kXv8gkG80b2CHZ0l4R6RZke8LjDZb1KyWFI5n/1BqIVlQHcBEnEkfYU5uDpW5haABIMO LygGCU5V0NGAGRfW08EtRGn3BEOP/fycFF53MDXdNuf4m4EIKoDJpsjjaCksd4Z3524m psL9W27xmZD4ZoJRpUHPSQmsBkSKTn35VVLQV2azMYObMDjT8SRYbmZJfwop0n1ARwZz rLUWNytceMpElwUmysdk50Ol1fV77jQBYJZRrd8cBHwyNnNnbaG7HXJUJPnQeXXz1p6i Y5XQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:content-transfer-encoding:message-id:date:subject:cc :to:from:dkim-signature; bh=3wHWR4lvrQdICLf50tPNGjlO4RNlGczCMaya5UElJmk=; fh=IjFZP5bUXdcvIerha5l4/5Iqg8JjXjfiJOsVmxaE4VA=; b=tFspMBk6FQciEVA6fu/VX9BpZcSpVRG+6jfFhH0F+h2q1Y1EGQpzBvZQ2JnxHzwnep 7c4uExWN84fMt8vf5Eq+d/MyMC2JrefmY1X/Ro32Q9EvRjxKpdcxUR2anl5bL9o3gDf4 TyOCZ24k2SjTJt0DcBDt5Tr6wrTHvSFsIWcjUSEv5SVQz/aKahEEm8YsfjpMNGjVZnT6 NWKT5nI1B7PYpsges85scU2RRbC8MKV/ztnv12HtvQgAfN9tLF/ztB7ItDCQBuOHiU5G Zgy0fOdloPxlp8hUzH9WJlSswoclupCTWVKl+QsjgSDBgaEiWKhDii7OdrI7vauA/MTX aR8A==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=tA5t3JFP; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of stefan-koch@siemens.com designates 2a01:111:f400:fe1e::606 as permitted sender) smtp.mailfrom=stefan-koch@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Return-Path: Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0606.outbound.protection.outlook.com. [2a01:111:f400:fe1e::606]) by gmr-mx.google.com with ESMTPS id 71dfb90a1353d-4eb02af704dsi753946e0c.5.2024.06.04.08.39.28 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 04 Jun 2024 08:39:29 -0700 (PDT) Received-SPF: pass (google.com: domain of stefan-koch@siemens.com designates 2a01:111:f400:fe1e::606 as permitted sender) client-ip=2a01:111:f400:fe1e::606; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=tA5t3JFP; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of stefan-koch@siemens.com designates 2a01:111:f400:fe1e::606 as permitted sender) smtp.mailfrom=stefan-koch@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iKEoFyaZFbiKtBr4JNlwEQ2fDdOMaBhgyu8hHOB+NPrGJ4OFjs8nEH4L9mrlQjGbl37ZepyzG8RWwSg6XuGw5kAm4BWu8gco0CrHdh10FeDjvjY1R4R5S5nY+Gn6PsVgzIY198XgQRCkx6mAqQPMSKz1VWCX4Bsn7NkqrHpSScSacUnC86+OgrEOJbL1SCR9aQRXOT6eeqZfZh9nP0t034Z5u2EAFVkhAeXrfdEIBpKGJJGctERQLYvxjWnLo0+443EHyVQkBMK/QffDFT0QO6uP1MTAR6FFosGuT08Ctpxr81abDf/PUDCII8upjAsx2X+na/cpcmLYklwVIu4GBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=3wHWR4lvrQdICLf50tPNGjlO4RNlGczCMaya5UElJmk=; b=Guorn1XjWSlADhH5WdagL/YlwkaIf13GhE/pS7RSpZcoA4RDOGEKudnwA/yGGnTQ7BnC9FsUGtF/ZZlpXq8zIazxIqczTVn8Wg85HCNILtgXZS8QI606SmfhvT7YXtAdq0FuZEm4zsS8x9KAUMD+/QShAWEn39oxU6R26EP+5MrASZ506dfK+0pPcr6xa89BB3jyWQ/moCOM4xa0jERT56DMZ1V7O1zZc1uW76S+PxNGxPCrk6PvaR6AUw7OmQSCJzsVOc8fXSxD6p3Tz+jnNbbQSth7xvr1o0EPOUR78k07fMc0jGMOOv1etob6wUshd/1W8CsYxJu78NHoVMtUtQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com; dkim=pass header.d=siemens.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siemens.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3wHWR4lvrQdICLf50tPNGjlO4RNlGczCMaya5UElJmk=; b=tA5t3JFPK9P6DJ5SwmUWtqKse1oZuCU2HDi+QBVf3m3OWZDU+6Q7I2EcTM/ivrTGvgHs3b0hiDSn6Z/P/AGAFrjBDvwDWZsqrXcPf2LPmOc61pNC/GRwCRjwUpWg1+X1286MlDqvGe81qZeo1sccsWaWITIpkS/vYxJ6/t4MlvK/pG6Ye345U1C1sA2Tix6QPMhyX3Oss50ylxJ18s2Uu3FzmdDYJ3Gk/zpsgGzRZO2mM4lYqJpNaoqTdBf3gyKhf+hmU7TjnFoJDb40OBhsJU2rQ5fVd8HCI6BW+C2Q0zDTSx3h81TrxaQD1zAhfeTQOooN0Edw82yEwTY2CMQQsA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=siemens.com; Received: from DB9PR10MB4953.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:2c2::14) by VI1PR10MB3663.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:800:133::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.24; Tue, 4 Jun 2024 15:39:25 +0000 Received: from DB9PR10MB4953.EURPRD10.PROD.OUTLOOK.COM ([fe80::f75d:ad6e:d321:cc46]) by DB9PR10MB4953.EURPRD10.PROD.OUTLOOK.COM ([fe80::f75d:ad6e:d321:cc46%4]) with mapi id 15.20.7633.018; Tue, 4 Jun 2024 15:39:25 +0000 From: Stefan Koch To: isar-users@googlegroups.com Cc: stefan-koch@siemens.com, jan.kiszka@siemens.com, christian.storm@siemens.com, michael.adler@siemens.com, simon.sudler@siemens.com, cedric.hombourger@siemens.com, adriaan.schmidt@siemens.com, felix.moessbauer@siemens.com, ubely@ilbers.de, amikan@ilbers.de Subject: [PATCH] linux-custom: Speedup build of target specific linux-kbuild package Date: Tue, 4 Jun 2024 17:39:18 +0200 Message-Id: <20240604153918.3788602-1-stefan-koch@siemens.com> X-Mailer: git-send-email 2.39.2 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: FR2P281CA0061.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:93::18) To DB9PR10MB4953.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:2c2::14) Return-Path: stefan-koch@siemens.com MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB9PR10MB4953:EE_|VI1PR10MB3663:EE_ X-MS-Office365-Filtering-Correlation-Id: af2faf3f-8484-439a-4597-08dc84ac833d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230031|376005|1800799015|366007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?qQT/CKxYAyQck4OCJhvubD9E7l4OIywxP/fLy7BpvBbj+XcsNvj7AsbblPF2?= =?us-ascii?Q?CFOoaWPF4qJyDFzf6XcyUIpooJz5fzbLB3AcMIx0SarNz9/cukaCJo7T4Pq0?= =?us-ascii?Q?qgP00VJmEsDi8iWax0wCtPSlv5laMVu16xDxtlLxOpWkmQM1XC/NxsTcr5lP?= =?us-ascii?Q?VDxIeZNViSI7qYi2bWf/YwK9+j/CY8hXVlMXNFeitNl2lS/Ll7Cvxx/uUbbe?= =?us-ascii?Q?ruJsuIZqBdLACooyy9l93t9dVbY5q10XuCorlqzfeTpQABqjlyZD3dAMh3S4?= =?us-ascii?Q?3sC9ojbcFu5rNCt+dPHfSahh7yF066qhrfCM4SDgZ98n09xxePX7OSZO/MYD?= =?us-ascii?Q?lnWqoAjWuyK6pXyo2xzbxGZDVLRcvXsmyegtPWPQ0SaEhxRpMKjQZeGG08AQ?= =?us-ascii?Q?4MR9xD4n73P48qAYB8pRgnAMXHCC3rgpiPNf0CxFxuA5j/LLr9g/oZfNhr8D?= =?us-ascii?Q?6xjrJLmVmyHK8s4Y9+T6JSsrWGc4Cbbysmtu3LNoeTNN5rr695JctBE3tADg?= =?us-ascii?Q?aWef0Ni1iKgCd85MgodhTcbjZ7BaIk5fZ8ymxchmcGuAgFtzsm+LITsZvrgf?= =?us-ascii?Q?OJEU2tmn9R5z53eYyzJWEhHOWeOAnHxSTHCYBBfziG0G9/SHm7Z0P2nuUYic?= =?us-ascii?Q?rZLzcJy8/UsBDMoUmq6F0wwo1KXzNyR+iOv1KgD/8vCsDv9AtfTdOppFKLX/?= =?us-ascii?Q?2nGfE0zluwcqoZ8gBS5kHfisOWvfGInrxK6hnRC0ox5CosBSRaYL3APCKKlo?= =?us-ascii?Q?uk79NcEMxAFLuebKxHWs4CoUadVIUqc51lyOvGbUIxfdPcTVmlCtJDkJ7kla?= =?us-ascii?Q?AmfKhrEM7NyeqeFcM/RZw/fmY7kyn5DlWC4AekqZQwGButF9LeGNJokCJp4v?= =?us-ascii?Q?jLACVZJyXsk/IsEDYHBxsu5lukDjbNrEGjYUJgmCDTWjk7PQNESznqc+ccg9?= =?us-ascii?Q?LAmFJxZWgydoNn9bhuE2tmlBYm07VjyOU1SaT/0dch99XBjPFNTxef+WBrf7?= =?us-ascii?Q?HsBfnr1ExtfMNIYmC4yXOTQ+SaYSkDhZoqIEX+X+torKh1C039XXEq+QOIhV?= =?us-ascii?Q?EB9n7fkZpeMStQIJJ6uRxUG1Uei26kwVV4dHLWUMyem0DY7E6g/F6nlrEnj0?= =?us-ascii?Q?An/zDj3CoPVjGLkRSbXkfrAsAdvgNjT22lRxQw6vkvdYgxP3HIdJaHvjARHL?= =?us-ascii?Q?jKYrd7pQSWtQ+gxqWcy3SjiiGVPdv/kzJupFKbNFHkwVYwVUePOh3yQDkEyh?= =?us-ascii?Q?I8bCmqzu2MVsXJHLva4DxS9o+xOGsnTmRQ7qKjpn+cfkfsiV/uU3L5vpZ///?= =?us-ascii?Q?NUqMKgFSDf49PUQk2jjv7QFT?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR10MB4953.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230031)(376005)(1800799015)(366007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?3k0hj/IJmj43eM1njThLI7wMrEGhoIx1mporI/Vg4+YwzSDGhZYd8/3UMNLy?= =?us-ascii?Q?NLb+R3D4piSI8ncBa3q7HlknG7kt6M1QrqEILbDRlj7531+AvKMFKWVvImCU?= =?us-ascii?Q?eao9LsZ4nPAE3EkuKBT56/w0Atu88Y+psQCTVZyP2/wLBcJwPphyTxb8ZyB0?= =?us-ascii?Q?gVMeikcesRMZ20kWsRZOSvVWDwUY6Drw+DUm94n5U8zPHpTDfLfSkWA6vh63?= =?us-ascii?Q?wVAbH1884KmeapR79wW2vNynrHnjcINz/Ffy9xHvTkIYXroj/MvOzNmQAOr+?= =?us-ascii?Q?aMsjlPMurgmX/9qFK52wfWRqKGNuxzzobZ5BxELtsS4l0kMh0H+/okv26Zwx?= =?us-ascii?Q?AvWQM44x5+3ab0aqhY5zItHUW0mukNft9mh2rxgPt7yYLNi8eKfU6us3C0yL?= =?us-ascii?Q?g8ZzS8OYme4XhTdDCENVoLHbAZ48/n2Bh3lVEx2amabGMcHHXNAy/wIShX1I?= =?us-ascii?Q?hHaL9MKvG9MSlDxO94okhYBLt/heax/LyIYloI6IfZ/9CH7v9nHCfUY5k/s8?= =?us-ascii?Q?X0qI69XnSBCpG2ZhmFLFnYtnOj0WaQgI7VnkJhJm5O9+Hjf0JFJb1ekiCZxI?= =?us-ascii?Q?wr7ErUA4sGFgBJKcwzrDezoTQOIejAaOw4IrmTrk2upeJZfMkq2E7zh6hEzX?= =?us-ascii?Q?sDCRiuwoQjX4FAzLDovpWwzoIC4ngggS/nG2431B0CwRVUm94KUwfNRa6+D9?= =?us-ascii?Q?X1/4N5jMUmXy795KvalLKtTNkqqwIjgjKzJez8n6CO4beBSTr7bH3vkaTwAp?= =?us-ascii?Q?+YYl4EFV3FNjYwVvqf7fMDimsWTKj96q/qoJ6R5ol2abAohyq18bfFoKQIGM?= =?us-ascii?Q?nyfQI7vJ+Fb1Mu5ErwGggTv1++dC4nFdIPQ2ayLWIV/NPxjEU2lNiVU2Cdw4?= =?us-ascii?Q?wWNDTcy1BrTpHbSb5Kabve4yyemQS0BaLSxzhKkYPassbERr0VQmmaaQOi2N?= =?us-ascii?Q?GH7YRB2kePNzMyw38y5/wjUhBjFvLuW4lDEIkiRCElmaa4Ws4TB20PP7whuQ?= =?us-ascii?Q?spb0wqMZwhanCQHFvArgcE0O6FH2oRGG7y4VN235NiyJN5x6/owLFj4W9QsU?= =?us-ascii?Q?rSsUSMe6UJWO20NCharVgjn5Yl4XJnmMvjvPCie5Wcn7QJOiRmj+cRPyel1U?= =?us-ascii?Q?ZZeut2cYVkkGJ55FN0dMA33Irx8TGe/FFp5PpRozgI/R2Bex/v+J1IZTy1fN?= =?us-ascii?Q?e5/345df4+Ce9L1o8CZKgSU7eBh/m9Jg1fZ0r2zl1iaeG93d8e4+tmwSMeI7?= =?us-ascii?Q?O49VlAPtchKdILFgXwjCDJ6MO+lqJol/30GIwbOsOlkWsUAc0WHoqgUM8s9y?= =?us-ascii?Q?/psbdIis6dbaHyPvkon/4t8S2p27S5FHCsqadYXB9GmWSAjedyD1UFnV5fWO?= =?us-ascii?Q?K6OdtvWoZcDjvE2W4GvLIqyKWThczEoh7aMa2Png94UWh0Uw7c9n75JcWzuj?= =?us-ascii?Q?DQUuGm+pCXq605FbQv7HR35NTF1W7RWxU39EUpi98XU/P+Cuk8JhzaWM1Ah4?= =?us-ascii?Q?U4lOCiKKOkVWy8i+KIrKhEgO8zD0K1ibQd2szN7TAo3CYPjwTqi0AdMcDPUO?= =?us-ascii?Q?H1ZFI5sKwXaRByoiBL8iahQSLjBNJRzU+R2Zh8pOFEfmuMtGtW74dESz4Ho7?= =?us-ascii?Q?kriVY0SgNUMw/5sh07WngK1yYKK2FeKNYm7duS9qKX+z?= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: af2faf3f-8484-439a-4597-08dc84ac833d X-MS-Exchange-CrossTenant-AuthSource: DB9PR10MB4953.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2024 15:39:25.2076 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: QIk+kCeHjJ0gEPkxsQT/teREMUKjyjhVoCCFeIM2NKuAOCTbQTgkiJBMav0s7WZZw0aJvrfpfiYAseHAzr+0jg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR10MB3663 X-TUID: aTBWUTtYypOR Avoids time expensive QEMU-emulated merging of kernel config by using a pregenerated kernel config for target specific linux-kbuild Using DEPENDS instead of RDEPENDS ensures creation of pregenerated kernel config before build of target specific linux-kbuild Signed-off-by: Stefan Koch --- .../linux/files/debian/control.tmpl | 8 ++++++++ .../linux/files/debian/isar/common.tmpl | 2 ++ .../linux/files/debian/isar/configure.tmpl | 18 ++++++++++++++---- .../linux/files/debian/isar/install.tmpl | 15 +++++++++++++++ meta/recipes-kernel/linux/linux-custom.inc | 14 +++++++++----- 5 files changed, 48 insertions(+), 9 deletions(-) diff --git a/meta/recipes-kernel/linux/files/debian/control.tmpl b/meta/recipes-kernel/linux/files/debian/control.tmpl index e0e932a0..fa2b4e12 100644 --- a/meta/recipes-kernel/linux/files/debian/control.tmpl +++ b/meta/recipes-kernel/linux/files/debian/control.tmpl @@ -50,6 +50,14 @@ Description: Linux kernel debugging symbols for @KR@ This package will come in handy if you need to debug the kernel. It provides all the necessary debug symbols for the kernel and its modules. +Package: linux-config-${KERNEL_NAME_PROVIDED} +Build-Profiles: +Architecture: all +Depends: ${perl:Depends}, ${shlib:Depends} +Description: ${KERNEL_NAME_PROVIDED} Linux kernel config for @KR@ + This package provides the kernel config for @KR@ + The target specific linux-kbuild package benefits from a reduced build time. + Package: linux-kbuild-${KERNEL_NAME_PROVIDED} Build-Profiles: Architecture: any diff --git a/meta/recipes-kernel/linux/files/debian/isar/common.tmpl b/meta/recipes-kernel/linux/files/debian/isar/common.tmpl index 86af70c5..6666c414 100644 --- a/meta/recipes-kernel/linux/files/debian/isar/common.tmpl +++ b/meta/recipes-kernel/linux/files/debian/isar/common.tmpl @@ -10,6 +10,7 @@ KERNEL_PKG_IMAGE=linux-image-${KERNEL_NAME_PROVIDED} KERNEL_PKG_KERN_HEADERS=linux-headers-${KERNEL_NAME_PROVIDED} KERNEL_PKG_LIBC_HEADERS=linux-libc-dev KERNEL_PKG_LIBC_HEADERS_CROSS=linux-libc-dev-${DISTRO_ARCH}-cross +KERNEL_PKG_KERN_CONFIG=linux-config-${KERNEL_NAME_PROVIDED} KERNEL_PKG_KERN_KBUILD=linux-kbuild-${KERNEL_NAME_PROVIDED} KERNEL_PKG_KERN_KBUILD_CROSS=${KERNEL_PKG_KERN_KBUILD}-${DISTRO_ARCH}-cross @@ -32,6 +33,7 @@ deb_dbg_dir=${deb_img_dir}-dbg deb_kern_hdr_dir=${deb_top_dir}/${KERNEL_PKG_KERN_HEADERS} deb_libc_hdr_dir=${deb_top_dir}/${KERNEL_PKG_LIBC_HEADERS} deb_libc_hdr_cross_dir=${deb_top_dir}/${KERNEL_PKG_LIBC_HEADERS_CROSS} +deb_kern_config_dir=${deb_top_dir}/${KERNEL_PKG_KERN_CONFIG} deb_kern_kbuild_dir=${deb_top_dir}/${KERNEL_PKG_KERN_KBUILD} deb_kern_kbuild_cross_dir=${deb_top_dir}/${KERNEL_PKG_KERN_KBUILD_CROSS} diff --git a/meta/recipes-kernel/linux/files/debian/isar/configure.tmpl b/meta/recipes-kernel/linux/files/debian/isar/configure.tmpl index 389c9a85..19797b84 100644 --- a/meta/recipes-kernel/linux/files/debian/isar/configure.tmpl +++ b/meta/recipes-kernel/linux/files/debian/isar/configure.tmpl @@ -10,10 +10,20 @@ do_configure() { # Trace what we do here set -x - # Process kernel config target and fragments - ${MAKE} O=${KERNEL_BUILD_DIR} ${KERNEL_CONFIG_TARGET} - ./scripts/kconfig/merge_config.sh -O ${KERNEL_BUILD_DIR}/ \ - ${KERNEL_BUILD_DIR}/.config ${KERNEL_CONFIG_FRAGMENTS} + configdir=/usr/lib/linux-config-${PV} + if [ -e ${configdir}/kernelconfig ]; then + # Prefer pregenerated kernel config + # So, very expensive QEMU-emulated merge_config.sh + # can be skipped for target specific linux-kbuild package + mkdir -p ${KERNEL_BUILD_DIR} + cp ${configdir}/kernelconfig ${KERNEL_BUILD_DIR}/.config + ${MAKE} O=${KERNEL_BUILD_DIR} olddefconfig + else + # Process kernel config target and fragments + ${MAKE} O=${KERNEL_BUILD_DIR} ${KERNEL_CONFIG_TARGET} + ./scripts/kconfig/merge_config.sh -O ${KERNEL_BUILD_DIR}/ \ + ${KERNEL_BUILD_DIR}/.config ${KERNEL_CONFIG_FRAGMENTS} + fi # Stop tracing set +x diff --git a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl index 00011517..3387671c 100644 --- a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl +++ b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl @@ -33,6 +33,13 @@ do_install() { # Trace what we do here set -x + if echo "${DEB_BUILD_PROFILES}" | grep -q "kconfig"; then + # Install kernel config + # The target specific linux-kbuild package can speedup + # the build using this pregenerated kernel config + install_kconf ${deb_kern_config_dir} + fi + if echo "${DEB_BUILD_PROFILES}" | grep -q "kbuild"; then # Install kernel scripts and tools if echo "${DEB_BUILD_PROFILES}" | grep -q "cross"; then @@ -223,6 +230,14 @@ install_headers() { kernel_headers } +install_kconf() { + kernel_kconf_dir=usr/lib/linux-config-${PV} + destdir=${1}/${kernel_kconf_dir} + + mkdir -p ${destdir} + cp ${O}/${KCONF} ${destdir}/kernelconfig +} + install_kbuild() { kernel_kbuild_dir=usr/lib/linux-kbuild-${krel} destdir=${1}/${kernel_kbuild_dir} diff --git a/meta/recipes-kernel/linux/linux-custom.inc b/meta/recipes-kernel/linux/linux-custom.inc index 647f09dd..b21a90f3 100644 --- a/meta/recipes-kernel/linux/linux-custom.inc +++ b/meta/recipes-kernel/linux/linux-custom.inc @@ -25,6 +25,7 @@ KBUILD_DEPENDS ?= "build-essential:native, \ flex, \ git, \ kmod, \ + linux-config-${KERNEL_NAME_PROVIDED} , \ rsync," KERNEL_DEBIAN_DEPENDS ?= "initramfs-tools | linux-initramfs-tool, \ @@ -106,14 +107,14 @@ python() { } # Default profiles and provides -BUILD_PROFILES = "kernel kbuild" +BUILD_PROFILES = "kernel kconfig kbuild" # We only offer the -kbuildtarget variant when actually cross compiling BBCLASSEXTEND:append:cross-profile = " kbuildtarget" # When cross-profile is active: -# build only kernel with the default variant of the recipe -BUILD_PROFILES:cross-profile = "kernel" +# build only kernel and package config with the default variant of the recipe +BUILD_PROFILES:cross-profile = "kernel kconfig" # -native: kbuild package for host BUILD_PROFILES:class-native = "kbuild" @@ -122,14 +123,17 @@ RECIPE_PROVIDES:class-native = " \ linux-kbuild-${KERNEL_NAME_PROVIDED}" # Use pseudo target to pull in the base variant of the recipe. # Will be auto-extended with -native by multiarch.bbclass. -RDEPENDS:class-native += "${BPN}-pseudo" +# Using DEPENDS, see below +DEPENDS:class-native += "${BPN}-pseudo" # -kbuildtarget: kbuild package for target, enforcing non-cross-build BUILD_PROFILES:class-kbuildtarget = "kbuild" RECIPE_PROVIDES:class-kbuildtarget = " \ linux-headers-${KERNEL_NAME_PROVIDED} \ linux-kbuild-${KERNEL_NAME_PROVIDED}" -RDEPENDS:class-kbuildtarget = "${BPN}" +# Using DEPENDS instead of RDEPENDS to ensure creation of pregenerated +# kernel config before build of target specific linux-kbuild package +DEPENDS:class-kbuildtarget = "${BPN}" ISAR_CROSS_COMPILE:class-kbuildtarget = "0" # Make bitbake know we will be producing linux-image and linux-headers packages -- 2.39.2