From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7163980406052618240 X-Received: by 2002:a1c:6a08:0:b0:3fe:e842:60a0 with SMTP id f8-20020a1c6a08000000b003fee84260a0mr1437297wmc.31.1693982302708; Tue, 05 Sep 2023 23:38:22 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:600c:5115:b0:3fe:e6e4:c1c1 with SMTP id o21-20020a05600c511500b003fee6e4c1c1ls2090944wms.2.-pod-prod-06-eu; Tue, 05 Sep 2023 23:38:21 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFk3MlEI5gIRCm+tIj+Ovpu9DmcktOFsTRrBmDWpvBNrEhRQ4wWfi2Mf6+XarBTWEzo2mCc X-Received: by 2002:a05:600c:2811:b0:401:38dc:891c with SMTP id m17-20020a05600c281100b0040138dc891cmr1404085wmb.5.1693982300952; Tue, 05 Sep 2023 23:38:20 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1693982300; cv=pass; d=google.com; s=arc-20160816; b=CQTEinBIGNxCaCYPJvWB4067ygliOF1GtRq/w/Y/SJ7pX7/L3T4KVQ3AOQFUg6wlm5 2VZ2Zqyw4hH9y6AcCNH2uuS0VyViSnFWJW7CYgwVRpdPkkASvx0v+3AzlbQusEWfjYKk MyxGRwN9p6KJa7cY4nvwmrYASTvx3848GKNBQAqptliXm0Zs/i1+yJNinsilExxluhRc cnO3IyKeRA0Sx2Rr43AGzDrhFBC69RN56oJRyLNVi+VvCkC9z9dvtjCbUV032MnLWVgf rTpecDEJspj1JJzQ0guFfcNaSIfydxJWSjCy2BEhzua4ENuwOm/0hkSBoD8VeF7IxnnT 1myw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:content-transfer-encoding:msip_labels:content-language :accept-language:in-reply-to:references:message-id:date:thread-index :thread-topic:subject:cc:to:from:dkim-signature; bh=methNt5JY+X1TLr1Z9HHEWOaYjN2l4wB7kGeaVbLc/Q=; fh=wBNDAdJp9WOHGMBhi3vY/pWTeRCTG0v9eTFpm6znjxA=; b=m9ALzP5bcpTdFj+051uao4hW1HAlriIkPKqjFiAhxGlhmveiApKL6kci+9snX6brdb jzwkh9p+0YX3KcIVhR1PUsFF3pWeJKh6JXzcPFncKEre6/tbSbethOfAXDtcTyGv8Rry 0+0rqdzNSk8+vx9cxLO6T+ajQ6CbewkUJNyPvPY8DcxgrK7m4iEZlciI4ts7RffaXKCd NokhjiZEyaBA9eX2o5RR9vuD5+oCqHvcclGgeZLi77Uzk5mDP/o+dQXLW+UdxDSoac5s OrYhDcRI1cQuCK7NgzeHoD1G6p5nrnAQ7FSqFUBEzqZFhIFYyxG0BoJQ45rMArY5c0fO bkew== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=gQEzQH7r; 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 adriaan.schmidt@siemens.com designates 2a01:111:f400:fe0e::60f as permitted sender) smtp.mailfrom=adriaan.schmidt@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Return-Path: Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on060f.outbound.protection.outlook.com. [2a01:111:f400:fe0e::60f]) by gmr-mx.google.com with ESMTPS id ay11-20020a05600c1e0b00b003feeac2eef2si969220wmb.2.2023.09.05.23.38.20 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Sep 2023 23:38:20 -0700 (PDT) Received-SPF: pass (google.com: domain of adriaan.schmidt@siemens.com designates 2a01:111:f400:fe0e::60f as permitted sender) client-ip=2a01:111:f400:fe0e::60f; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=gQEzQH7r; 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 adriaan.schmidt@siemens.com designates 2a01:111:f400:fe0e::60f as permitted sender) smtp.mailfrom=adriaan.schmidt@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=EaMxs0Vqd4GOiGlxEuupsfg+LfJ6xjq5+/NQa+/C5PHM8aGpFkG5ylSmgrvtCq/CxfY1it2JMpo61ONIdJ1jXk3pl0H0zaiQN5wkWWIk27Wv25e6FwK4RijnQ6JT6LucBHKzCUKIyq2rZk9M2nZBXIKhhNI7JNX2GobVq1k9meS/d9HNjUkUHB/Mi4IR53ZDaiutdKDQL2DxtR89Iuou87RNUxWe41cC0hXlCpLP8LnJLiIxanQE2HoMcmKDl73cPi/RiaZ8eo//ZpWT9QUqR5zoeINBVQyhgnIA6dle/ZEsYBeXwI9Fx1LKqj0HV3pErUWEhO+6cySt2Q8knnzLCg== 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=methNt5JY+X1TLr1Z9HHEWOaYjN2l4wB7kGeaVbLc/Q=; b=PwEgWe3CljHe3LUh5wfj9LxDoY4e56ePWNBWuRW4lCIttGSbaozGpRAJN4CcWYKujZuY8qA4rE9fus+UggQjX2RuBJF9wS93b8ZbmiCfogW6Zuxc8YxjapjYVBCzhNhe/mA7kBfyq2/gEjzPszo3pk8W5GpI45aU7LHwL82pkBuXagrdst6GBmO3gnwKTZ16k/p0apac6ZdNwa8eia/4Rj8BngLttW85GXOGeGIiT9yFwZ5tcamCGpWmaWJFoPI8K6GdIfdVwjqSYzEUMMHdJAMZpOZO0BJQONZ+hThL3Ix/YRdhbmoyWxc0nf6LkDVikTC5/n0E2r0YT0dL0AKVrQ== 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=methNt5JY+X1TLr1Z9HHEWOaYjN2l4wB7kGeaVbLc/Q=; b=gQEzQH7r7/d60tX0o2U9OeKE3glhiRC7PYHeYBh4qZqBjE668u+iKFNxdCi0uv2w8kf0WK9x5WLkgwqgSKxs+Li+S6yREJ/7uGLhMTWR4Jf94AeW/qJvSLSmAGJSXUhHm26HMZwuuCAze3hxtkR30DujJbsfu+zJoxFimAHt8PiGssZVOgRrRgMuAHh5qg6IW+Ob/NU5vjZFlTPmp9Bgrt+YUgUGJRjcUJdNUjtDiXc350gyMywayiLx8lttE3npfInvKrRT8znv/hda1fQv1Xlyt47ernFdnE7uYn/OhXbi82gg2h8Hk6YQi7GiW5mpXnqSGwCTc2kLUMuzRUn3zg== Received: from AS4PR10MB5318.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:4b8::15) by PAWPR10MB7865.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:102:359::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.34; Wed, 6 Sep 2023 06:38:17 +0000 Received: from AS4PR10MB5318.EURPRD10.PROD.OUTLOOK.COM ([fe80::fdd2:62d:576a:c9bf]) by AS4PR10MB5318.EURPRD10.PROD.OUTLOOK.COM ([fe80::fdd2:62d:576a:c9bf%7]) with mapi id 15.20.6745.034; Wed, 6 Sep 2023 06:38:17 +0000 From: "Schmidt, Adriaan" To: "Koch, Stefan" , "isar-users@googlegroups.com" CC: "Kiszka, Jan" , "Storm, Christian" , "Adler, Michael" , "Sudler, Simon" , "cedric.hombourger@siemens.com" , "MOESSBAUER, FELIX JONATHAN" , "ubely@ilbers.de" Subject: RE: [PATCH v4 2/3] linux-custom: Provide host and target specific kernel kbuild packages Thread-Topic: [PATCH v4 2/3] linux-custom: Provide host and target specific kernel kbuild packages Thread-Index: AQHZ1DW5QxAmo4aNO0+XxB+24aqlrrANabGQ Date: Wed, 6 Sep 2023 06:38:17 +0000 Message-ID: References: <20230821134501.2681654-1-stefan-koch@siemens.com> <20230821134501.2681654-3-stefan-koch@siemens.com> In-Reply-To: <20230821134501.2681654-3-stefan-koch@siemens.com> Accept-Language: de-DE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_ActionId=58b79350-0236-40bb-8f91-7f60113750a2;MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_ContentBits=0;MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_Enabled=true;MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_Method=Standard;MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_Name=restricted;MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_SetDate=2023-09-06T06:12:04Z;MSIP_Label_9d258917-277f-42cd-a3cd-14c4e9ee58bc_SiteId=38ae3bcd-9579-4fd4-adda-b42e1495d55a; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=siemens.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: AS4PR10MB5318:EE_|PAWPR10MB7865:EE_ x-ms-office365-filtering-correlation-id: 3706eb54-75c2-43b5-4a3b-08dbaea3dac6 x-ld-processed: 38ae3bcd-9579-4fd4-adda-b42e1495d55a,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Jw0g6qRGgDvKtmyW35lj0inhd6einF/cqj3Vd9bE+m+gHIott+3aH08le1l2ePJCtr0sPVJCINeSJbQp7NdFxtMvEr1q4qFcvVeLwRfngyn2ZghkJcbgG78HNYf919iVcS/UBQWVU4s2YThOeAehq2LKWl451YKaYtl2utx1wU/e7s/nl3sBIlArfyndbxKPVoZdwl0doQG4gQe4mrgF8g5BKehGXyAdkMuIRKw/6l9Mnw2l4NALFLmX59OtpKEVRmrTkcARh1heQasnDs0MyIjJxSxfUZ4q83rin2biGRkU5jvjSMhayoLOVPydDqLoMUxzy8rum3VBuRvGFCRGgnkbOK9jPWc4ruDm8aFdPJJzu+qU6LroYZSVTy/sUzR6o2feLA5EgpnjPDJx1FkzXO4nwIIaNs1QGMoGC03t8ZQxLegkjA4VrJzKCxlTJxd7c4JRL1cGj9IkXMy5gtMV6WHnekfn3DrISCGN1HU7Dyf62YZceUeIMUDR1f+shINkJ7c52ElR+FrCW78e0AV1faf8hAy8gLysY5FAstSki7Pvn6WYUPX5jU1ie6ZvAfatSZ4xRoStW8L6vF60ccCKVrSnpZUII2kCt3o4Rj02bFk= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS4PR10MB5318.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(376002)(366004)(136003)(396003)(451199024)(186009)(1800799009)(6506007)(7696005)(71200400001)(9686003)(83380400001)(966005)(30864003)(478600001)(2906002)(26005)(76116006)(66476007)(64756008)(66446008)(41300700001)(66556008)(66946007)(316002)(110136005)(54906003)(52536014)(5660300002)(4326008)(8676002)(8936002)(33656002)(86362001)(82960400001)(55016003)(38070700005)(38100700002)(122000001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?zc47hexEwvJEjXg5BwY4nTi5Lt2czzFrghG2YrU9xZbcZGYm+CyqEiVH3fAK?= =?us-ascii?Q?dDb/ddYRthMJpdry6yeCzqQmPJG56NIXqAqloJfB0/eOGFa01UvenlUVjnlf?= =?us-ascii?Q?n0hqxTmFAqcx5muV+yvrrUT8AjISLlbilSpUjIGq2R3oFGJ0bM8CrXSs4Hy4?= =?us-ascii?Q?ylMI7DVp3nxz+2CMDrbuE+ibJIviO7gzLqBSM+akGoG2mYcW3izBLk/x2TSk?= =?us-ascii?Q?I6V4YjBCi3x+3IKgTlkSXuJmhLhjK0nUAGc/1UAL269PTsqbEM4/L+YnCfPT?= =?us-ascii?Q?rneUKafqAmJbCvwG75iOjwZsRDa28H8ynakRl3QcsCkQdd5GMbAnzLekkcqs?= =?us-ascii?Q?+t5qj9FEFCibXoiu/+vf19xSBrz/nz7KrDPHLGuH0wVgN5CvCGm4OuRg6XGF?= =?us-ascii?Q?mHwUHpmPc+WRUcmBir2STXU1zRmXWNcl9DtHYfIXeENbRdg7IjrguPKPYO0R?= =?us-ascii?Q?jjpCZMaydhKcfqAPMiRyWt2eT8ifnU64PRKLkE6UykEEcISHCwKCoFWnYhCx?= =?us-ascii?Q?gbDtMoRULftavFgA8H2y8lvE9SJBeshbCs+JsKAwU7+RUTEJRSPKwYbJeiQo?= =?us-ascii?Q?5E+BZPZqYf6xfT6aB8hR+N28f7I5l/osUluDg3Mjv89uqdoDbKn0QNhZsE/7?= =?us-ascii?Q?FWsuV3EhzRaWc1QYQJvotMGq3y4UtcZAKyDGZXja5kVjnwmIRbgSdAbNtu+X?= =?us-ascii?Q?+Hs3FQVevoMOWHRBDDnb6P3YESvyJKXKIDW3MoFeAPEnHSJiW/dWczhrA+tH?= =?us-ascii?Q?M2fYRDvPuWlNL/UeWM3vqYUHQyzvdKJjIqc+O5NCIU57X7oVMWCFLgC+C+oi?= =?us-ascii?Q?nRyRgr5iaEZJ7R5PwfubvLmaYQggHkLE+Qj89q5SwRSaMXM6bwOo+nMJCmZG?= =?us-ascii?Q?brHJ6KZFjIR7HJMBUhr0E43sm3a+mx/Uo095tjSgpdiXYrmZANMVyclgxMZZ?= =?us-ascii?Q?O1b0bP+EouLoS8hmUKKqYQ/EUqq3ygNS5xhpd1knvC62voetiLpX2OhoLO9W?= =?us-ascii?Q?WY+6SQ1DaitiGYC6CHaWx+wLMCjUOieNVNo+ZtXvw8sg5rgnNz6JNAI0V6CC?= =?us-ascii?Q?Q65K6DTfk/IxmAP88khJSvRE7LJzeCOgdm3nf8X3IiSS7UQBJOvsKTtxzzFa?= =?us-ascii?Q?U9Za7HrN0ecmHIYAOkfpWdtbAVZsCgU0ZMLHSDNBgI4PILRPr1dPqztuOXJu?= =?us-ascii?Q?OcYcbqOpTCTEe2czeFvriqFEW5Ea1vISey+brmnbptChuC3ViS2XW+PAl+Tf?= =?us-ascii?Q?2AuzlzQO/nel3Tb8cLEL6hvs4JkIscArvDQ3XUisvFSkHvD5EV/TJ5nIVb1B?= =?us-ascii?Q?gq9ZpNXO1Uom+LIRMAVPnXGNWz98oahr5xviyMo/opAJzNMQkMGPIeXZca7p?= =?us-ascii?Q?FSBdyXIDpRKnVZAbPHGcFOZqot3snszTeRPYdcfWJe7B7TQFqlyQWYghPrzi?= =?us-ascii?Q?F9MHCAPDEWZMAburdBtKxH4ip9H1HQyr/xg4+sRAH/JRvuG58qRBCU4cIhzQ?= =?us-ascii?Q?g4+elj9b3mJeTdLMQBt3i+uScm8bbjsOYesh5XRMJL+J44szqVpfUQUascrf?= =?us-ascii?Q?4gn0NKt8kAnSAnFNxnazg6k6zKuGqIGx1f7zEPJyrb3l1R+wXfzCKz5Gxb+S?= =?us-ascii?Q?YQ=3D=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AS4PR10MB5318.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 3706eb54-75c2-43b5-4a3b-08dbaea3dac6 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Sep 2023 06:38:17.5887 (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: uqiPl0yovc+dScfwq8a3P4BWpEDnbRJl83vuVCh/4baDPvcT8GoxfLyYRd5Z/0Iq9/gT8MHLGML9edfAVJ59IC5UgYqAOWmm8ULpLHo6+/4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR10MB7865 X-TUID: oZIglUaOdsBK Koch, Stefan (DI PA DCP R&D 3) , Monday, August 21= , 2023 3:45 PM: > When using a cross build this patch does introduce optionally > host and target specific kernel kbuild packages that > ship the "scripts" and "tools" binaries. >=20 > By default at cross builds a kbuild-cross package will be > generated that provides the host specific kbuild package. >=20 > The "-compat" and "-native" multiarch bitbake targets are useable to run > additional target or host specific builds for kbuild scripts and tools. >=20 > Using the "-compat" bitbake target enables the build of > a target specific kbuild package at cross builds. >=20 > Using the "-native" bitbake target enables the build of > a host specific kbuild package at cross builds. >=20 > This solves this from doc/custom_kernel.inc: > - The kernel headers package has not supported both native > and cross compilation of kernel modules when itself was cross built > - Future roadmap: Generate kernel headers package for both host > and target when using a cross build >=20 > Signed-off-by: Stefan Koch > --- > .../linux/files/debian/control.tmpl | 16 +++++- > .../linux/files/debian/isar/build.tmpl | 12 ++++- > .../linux/files/debian/isar/common.tmpl | 8 +++ > .../linux/files/debian/isar/install.tmpl | 26 ++++++---- > .../linux/files/debian/rules.tmpl | 2 +- > meta/recipes-kernel/linux/linux-custom.inc | 49 ++++++++++++++++--- > 6 files changed, 94 insertions(+), 19 deletions(-) >=20 > diff --git a/meta/recipes-kernel/linux/files/debian/control.tmpl > b/meta/recipes-kernel/linux/files/debian/control.tmpl > index b19ca2c9..c012048b 100644 > --- a/meta/recipes-kernel/linux/files/debian/control.tmpl > +++ b/meta/recipes-kernel/linux/files/debian/control.tmpl > @@ -6,6 +6,7 @@ Build-Depends: bc, kmod, cpio, ${KBUILD_DEPENDS} > Homepage: http://www.kernel.org/ >=20 > Package: linux-image-${KERNEL_NAME_PROVIDED} > +Build-Profiles: > Architecture: any > Depends: ${KERNEL_DEBIAN_DEPENDS} > Description: ${KERNEL_NAME_PROVIDED} Linux kernel, version @KR@ > @@ -13,6 +14,7 @@ Description: ${KERNEL_NAME_PROVIDED} Linux kernel, vers= ion > @KR@ > files, version: @KR@. >=20 > Package: linux-headers-${KERNEL_NAME_PROVIDED} > +Build-Profiles: > Architecture: any > Depends: ${KERNEL_HEADERS_DEBIAN_DEPENDS}, ${perl:Depends}, ${shlib:Depe= nds} > Description: ${KERNEL_NAME_PROVIDED} Linux kernel headers for @KR@ > @@ -21,7 +23,7 @@ Description: ${KERNEL_NAME_PROVIDED} Linux kernel heade= rs > for @KR@ > This is useful for people who need to build external modules >=20 > Package: linux-libc-dev > -Build-Profiles: > +Build-Profiles: > Section: devel > Provides: linux-kernel-headers > Architecture: any > @@ -30,6 +32,7 @@ Description: Linux support headers for userspace > development > are used by the installed headers for GNU glibc and other system librar= ies. >=20 > Package: linux-image-${KERNEL_NAME_PROVIDED}-dbg > +Build-Profiles: > Section: debug > Architecture: any > Description: Linux kernel debugging symbols for @KR@ > @@ -37,8 +40,19 @@ Description: Linux kernel debugging symbols for @KR@ > all the necessary debug symbols for the kernel and its modules. >=20 > Package: linux-kbuild-${KERNEL_NAME_PROVIDED} > +Build-Profiles: > Architecture: any > Depends: ${perl:Depends}, ${shlib:Depends} > Description: ${KERNEL_NAME_PROVIDED} Linux kbuild scripts and tools for = @KR@ > This package provides kernel kbuild scripts and tools for @KR@ > This is useful for people who need to build external modules > + > +Package: linux-kbuild-${KERNEL_NAME_PROVIDED}-cross > +Build-Profiles: > +Architecture: any > +Depends: ${KERNEL_HEADERS_DEBIAN_DEPENDS}, ${perl:Depends}, ${shlib:Depe= nds} > +Description: ${KERNEL_NAME_PROVIDED} Linux kbuild scripts and tools for = @KR@ > + This package provides kernel kbuild scripts and tools > + as ${HOST_ARCH} cross binaries for @KR@ > + This is useful for those who need to cross build > + external modules using ISAR's sbuild-chroot-host > diff --git a/meta/recipes-kernel/linux/files/debian/isar/build.tmpl > b/meta/recipes-kernel/linux/files/debian/isar/build.tmpl > index 906dc580..7f293528 100644 > --- a/meta/recipes-kernel/linux/files/debian/isar/build.tmpl > +++ b/meta/recipes-kernel/linux/files/debian/isar/build.tmpl > @@ -22,7 +22,17 @@ do_build() { > sed -i "s/@KR@/${KR}/g" ${S}/debian/control ${S}/debian/linux-image- > ${KERNEL_NAME_PROVIDED}.* >=20 > # Build the Linux kernel > - ${MAKE} O=3D${KERNEL_BUILD_DIR} ${PARALLEL_MAKE} KCFLAGS=3D"${KCFLAG= S}" > KAFLAGS=3D"${KAFLAGS}" > + if echo "${DEB_BUILD_PROFILES}" | grep -q -e "targetbuild" -e > "hostbuild"; then # Build kernel scripts and tools > + ${MAKE} O=3D${KERNEL_BUILD_DIR} ${PARALLEL_MAKE} KCFLAGS=3D"${KC= FLAGS}" > KAFLAGS=3D"${KAFLAGS}" scripts > + if grep -q -E "CONFIG_STACK_VALIDATION=3Dy|CONFIG_HAVE_OBJTOOL= =3Dy" > ${KERNEL_BUILD_DIR}/.config && [ -d "tools/objtool" ]; then > + ${MAKE} O=3D${KERNEL_BUILD_DIR} ${PARALLEL_MAKE} > KCFLAGS=3D"${KCFLAGS}" KAFLAGS=3D"${KAFLAGS}" tools/objtool || true > + fi > + if grep -q "CONFIG_MODULES=3Dy" ${KERNEL_BUILD_DIR}/.config; the= n > + ${MAKE} O=3D${KERNEL_BUILD_DIR} ${PARALLEL_MAKE} > KCFLAGS=3D"${KCFLAGS}" KAFLAGS=3D"${KAFLAGS}" modules_prepare > + fi > + else # Build the Linux kernel > + ${MAKE} O=3D${KERNEL_BUILD_DIR} ${PARALLEL_MAKE} KCFLAGS=3D"${KC= FLAGS}" > KAFLAGS=3D"${KAFLAGS}" > + fi >=20 > # Stop tracing > set +x > diff --git a/meta/recipes-kernel/linux/files/debian/isar/common.tmpl > b/meta/recipes-kernel/linux/files/debian/isar/common.tmpl > index f4c0519f..36e01691 100644 > --- a/meta/recipes-kernel/linux/files/debian/isar/common.tmpl > +++ b/meta/recipes-kernel/linux/files/debian/isar/common.tmpl > @@ -11,6 +11,14 @@ KERNEL_PKG_KERN_HEADERS=3Dlinux-headers- > ${KERNEL_NAME_PROVIDED} > KERNEL_PKG_LIBC_HEADERS=3Dlinux-libc-dev > KERNEL_PKG_KERN_KBUILD=3Dlinux-kbuild-${KERNEL_NAME_PROVIDED} >=20 > +if echo "${DEB_BUILD_PROFILES}" | grep -q "hostbuild"; then > + # Force creating kernel kbuild debian package with valid host arch > + # Use a cross build to comply with arch specific kernel defconfigs > + # The scripts and tools are always created for host arch > + eval $(dpkg-architecture -f -A ${DISTRO_ARCH}) > + CROSS_COMPILE=3D${DEB_TARGET_GNU_TYPE}- > +fi > + > # Constants > KCONF=3D.config >=20 > diff --git a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl > b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl > index 236b67c4..08b8a9a5 100644 > --- a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl > +++ b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl > @@ -34,18 +34,24 @@ do_install() { > set -x >=20 > # Run the install steps > - install_image > - if [ "${ARCH}" !=3D "um" ]; then > - install_config > - install_map > + if ! echo "${DEB_BUILD_PROFILES}" | grep -q -e "targetbuild" -e > "hostbuild"; then > + install_image > + if [ "${ARCH}" !=3D "um" ]; then > + install_config > + install_map > + fi > + install_hooks > + install_dtbs > + install_kmods > + install_headers > fi > - install_hooks > - install_dtbs > - install_kmods > - install_headers >=20 > - # Cleanup and install kernel scripts and tools > - rm -rf ${deb_kern_kbuild_dir} > + if ! echo "${DEB_BUILD_PROFILES}" | grep -q -e "targetbuild" -e > "hostbuild" && echo "${DEB_BUILD_PROFILES}" | grep -q "crosskbuild"; then > + # Install cross kernel scripts and tools > + install_kbuild ${deb_kern_kbuild_dir}-cross > + fi > + > + # Install kernel scripts and tools > install_kbuild ${deb_kern_kbuild_dir} >=20 > # Stop tracing > diff --git a/meta/recipes-kernel/linux/files/debian/rules.tmpl > b/meta/recipes-kernel/linux/files/debian/rules.tmpl > index e8ae3daa..1f838a41 100755 > --- a/meta/recipes-kernel/linux/files/debian/rules.tmpl > +++ b/meta/recipes-kernel/linux/files/debian/rules.tmpl > @@ -48,4 +48,4 @@ override_dh_strip_nondeterminism: > true >=20 > override_dh_strip: > - unset DEB_HOST_GNU_TYPE && dh_strip -Xvmlinu --no-automatic-dbgsym > + dh_strip -Xvmlinu -Xlinux-kbuild-${KERNEL_NAME_PROVIDED}-cross --no- > automatic-dbgsym > diff --git a/meta/recipes-kernel/linux/linux-custom.inc b/meta/recipes- > kernel/linux/linux-custom.inc > index 94ed84a2..85faa2d7 100644 > --- a/meta/recipes-kernel/linux/linux-custom.inc > +++ b/meta/recipes-kernel/linux/linux-custom.inc > @@ -85,9 +85,6 @@ TEMPLATE_VARS +=3D " \ > DISTRIBUTOR \ > " >=20 > -inherit dpkg > -inherit template > - > # Add custom cflags to the kernel build > KCFLAGS ?=3D "-fdebug-prefix-map=3D${CURDIR}=3D." > KAFLAGS ?=3D "-fdebug-prefix-map=3D${CURDIR}=3D." > @@ -95,17 +92,57 @@ KAFLAGS ?=3D "-fdebug-prefix-map=3D${CURDIR}=3D." > # Derive name of the kernel packages from the name of this recipe > KERNEL_NAME_PROVIDED ?=3D "${@ d.getVar('PN').partition('linux-')[2]}" >=20 > -# Make bitbake know we will be producing linux-image and linux-headers > packages > python() { > kernel_name =3D d.getVar("KERNEL_NAME_PROVIDED") > - d.setVar('PROVIDES', 'linux-image-' + kernel_name + ' ' + \ > - 'linux-headers-' + kernel_name) > + distro_arch =3D d.getVar("DISTRO_ARCH") > + host_arch =3D d.getVar("HOST_ARCH") > headers_depends =3D "linux-kbuild-" + kernel_name >=20 > + # The "-compat" and "-native" multiarch bitbake targets are used to = run > + # additional target or host specific builds for kbuild scripts and > tools. > + # The "-compat" bitbake target requests a "target" build > + # and the "-native" bitbake target requests a "host" build. > + # > + # For different distro and host archs > + # - Add dependency for sbuild-chroot-target > + # to allow building arch specific kbuild scripts and tools > + # - Set correct variable overrides > + is_compat =3D "compat" in d.getVar("PN", True) > + is_native =3D "native" in d.getVar("PN", True) Just a minor thing: The intended/preferred interface for recipes are the "class-native" and "class-compat" overrides set in multiarch.bbclass. This is nice for bitbake (just set MY_VAR:class-native =3D "value"), but unfortunately not so easy to use from Python code. Still, I'd avoid looking at PN again in the recipes, and instead go for is_compat =3D "class-compat" in d.getVar("OVERRIDES").split(":") > + > + # Determine creation of a kbuild-cross or (standard) kbuild package = for > the host > + is_cross_profile =3D distro_arch !=3D host_arch and > d.getVar("ISAR_CROSS_COMPILE", True) =3D=3D "1" > + > + if is_cross_profile: > + headers_depends =3D headers_depends + "-cross | " + headers_depe= nds > + build_depends =3D "crossbuild-essential-" + distro_arch + " [" + > host_arch + "], " > + d.appendVar("DEB_BUILD_PROFILES", " crosskbuild") > + d.prependVar("KBUILD_DEPENDS", build_depends) > + d.appendVarFlag("do_prepare_build", "depends", " sbuild-chroot- > target:do_build") > + d.setVar("ISAR_ENABLE_COMPAT_ARCH", "1") > + d.setVar("COMPAT_DISTRO_ARCH", distro_arch) This feels hacky... it overrides the compat mechanism, resulting in a "*-compat" package that is not actually for the compat arch. Adriaan > + > + if is_compat: > + d.appendVar("DEB_BUILD_PROFILES", " targetbuild") > + d.setVar("ISAR_CROSS_COMPILE", "0") > + elif is_native: > + d.appendVar("DEB_BUILD_PROFILES", " hostbuild") > + else: > + d.appendVar("DEB_BUILD_PROFILES", " defaultkbuild") > + > + # Make bitbake know we will be producing > + # linux-image and linux-headers packages > + if not is_compat and not is_native: > + d.setVar("PROVIDES", "linux-image-" + kernel_name + " " + \ > + "linux-headers-" + kernel_name) > + > # Set dependency for kernel headers > d.appendVar("KERNEL_HEADERS_DEBIAN_DEPENDS", headers_depends) > } >=20 > +inherit dpkg > +inherit template > + > def get_kernel_arch(d): > distro_arch =3D d.getVar("DISTRO_ARCH") > if distro_arch in ["amd64", "i386"]: > -- > 2.39.2