From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6751292434813026304 X-Received: by 2002:a17:906:6943:: with SMTP id c3mr9315144ejs.161.1571941264012; Thu, 24 Oct 2019 11:21:04 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:907:20c5:: with SMTP id qq5ls1510920ejb.12.gmail; Thu, 24 Oct 2019 11:21:03 -0700 (PDT) X-Google-Smtp-Source: APXvYqwjl5BkDNtCGP9h8EU6jxHzTPxkagWZaWxijYfSPUZ/aeUPWDecxqZ1IIno4REjpguRXX6A X-Received: by 2002:a17:906:5fce:: with SMTP id k14mr226076ejv.162.1571941263530; Thu, 24 Oct 2019 11:21:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1571941263; cv=none; d=google.com; s=arc-20160816; b=TcbPlJdDeausxdCWxI03ODuUKQpx3FIXwxcrTpOlrZFRsFceWEmUnH5uGrL8MqBYCr Fos+XT0CFOJMc+AWQRkuk3Qtynq+KJNkBnFkwNopEvwNSXjdiRlu3XFI9C8I30LFi3rn jjtJ7CJKmMaIxGwquc5IHAvsKQNRNwAdkGJpg6sCGFi9YJ5UHClLgfnkCV5rsxffBzcj 4L5ZJrz2u4QJpwgswpWgpWG84By1Z77k9zwAOf/h4No4cBx6aI5kw6t3E1Dm61umIDw5 au4U1R1NbhPD5tWJcFZxJB7Z2C6nBqwLbAcZgtGRDDBHKfRTJosw3N9KGWH1GrNcgDCo uvfg== 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:subject:cc:to:from:date; bh=air+h8mCu6lvrSjyIZqbadW3rzLFcA21hvUA+x49OqU=; b=oGYNLUKQJyYjbdKvPCwM8YuUQNOylGXPAKRztP4DYExZw4YhFW6/EaPXu3kLpYLhAq MTA7kJqoesp4n3AFbWpADcGT3i8ELN3bB8eLsn+bOrp5mHIAIQAQ9Nr2PXQbLQiVz8pV vkh3f8AbrWBS0O3mauwtkd/SYrZXmIkYbchUwWO23ISbd6LWYdCqm4BdN4BgXLRPnMXH JL72aGr4O8vNOVVhtKBtZEBVbi8qNCtMfFSuukQ5F6pL16vYqt6BJSvr4t81MhzBdWOh 9z88e9bW0vWLzm5wc3+ONrGhyS2b6V+iH4dmshN6swZSJ+42U56z5GWwdpZxrbXUZQ3B yZ3w== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.2 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from thoth.sbs.de (thoth.sbs.de. [192.35.17.2]) by gmr-mx.google.com with ESMTPS id q17si835691edi.1.2019.10.24.11.21.03 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 24 Oct 2019 11:21:03 -0700 (PDT) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.2 as permitted sender) client-ip=192.35.17.2; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.2 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by thoth.sbs.de (8.15.2/8.15.2) with ESMTPS id x9OIL3ag009979 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 24 Oct 2019 20:21:03 +0200 Received: from md1za8fc.ad001.siemens.net ([139.25.0.8]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id x9OIL2ZV019089; Thu, 24 Oct 2019 20:21:02 +0200 Date: Thu, 24 Oct 2019 20:21:02 +0200 From: Henning Schild To: Cedric Hombourger Cc: Subject: Re: [PATCH 08/10] linux-custom: add support for kernel config fragments Message-ID: <20191024202102.6b7566ea@md1za8fc.ad001.siemens.net> In-Reply-To: <1571907744-1121-9-git-send-email-Cedric_Hombourger@mentor.com> References: <1571907744-1121-1-git-send-email-Cedric_Hombourger@mentor.com> <1571907744-1121-9-git-send-email-Cedric_Hombourger@mentor.com> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-TUID: KoNzSMuQcDRn Is that taken from or inspired by OE? I have seen patterns like that for isar: do_prepare_build_prepend() { cat ${WORKDIR}/preempt-rt.cfg >> ${WORKDIR}/${KERNEL_DEFCONFIG} } In a recipe that extends a generic kernel recipe with some config switches. I am personally not a big fan of magic, and it seems the extension ".cfg" makes magic happen. We will need an apply=no like for patches. Henning Am Thu, 24 Oct 2019 11:02:22 +0200 schrieb Cedric Hombourger : > Check for .cfg files listed in SRC_URI and merge them with the > main defconfig using the kernel merge_config script. > > Signed-off-by: Cedric Hombourger > --- > .../linux/files/build-kernel.sh | 5 ++++- > meta/recipes-kernel/linux/linux-custom.inc | 20 > +++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) > > diff --git a/meta/recipes-kernel/linux/files/build-kernel.sh > b/meta/recipes-kernel/linux/files/build-kernel.sh index > cb310f7..9faa6bb 100644 --- > a/meta/recipes-kernel/linux/files/build-kernel.sh +++ > b/meta/recipes-kernel/linux/files/build-kernel.sh @@ -36,7 +36,10 @@ > REPACK_DIR="$1/../repack" > REPACK_LINUX_IMAGE_DIR="${REPACK_DIR}/linux-image" > REPACK_LINUX_HEADERS_DIR="${REPACK_DIR}/linux-headers" > -make ${KERNEL_DEFCONFIG} > +make ${KERNEL_DEFCONFIG} || exit ${?} > +if [ -n "${KERNEL_FRAGMENTS}" ]; then > + scripts/kconfig/merge_config.sh -m .config ${KERNEL_FRAGMENTS} > +fi > > KV=$( make -s kernelrelease ) > if [ "${KV}" != "${PV}" ]; then > diff --git a/meta/recipes-kernel/linux/linux-custom.inc > b/meta/recipes-kernel/linux/linux-custom.inc index c53cd90..b06529f > 100644 --- a/meta/recipes-kernel/linux/linux-custom.inc > +++ b/meta/recipes-kernel/linux/linux-custom.inc > @@ -18,6 +18,16 @@ python() { > 'linux-headers-' + kernel_name) > } > > +def config_fragments(d): > + fragments = [] > + sources = d.getVar("SRC_URI").split() > + for s in sources: > + _, _, local, _, _, parm = bb.fetch.decodeurl(s) > + base, ext = os.path.splitext(os.path.basename(local)) > + if ext and ext in (".cfg"): > + fragments.append(local) > + return fragments > + > inherit dpkg-base > > SRC_URI += "file://build-kernel.sh" > @@ -71,6 +81,16 @@ dpkg_runbuild() { > defconfig="defconfig" > fi > > + # copy config fragments over to the kernel tree > + src_frags="${@ " ".join(config_fragments(d)) }" > + out_frags="${@ " ".join(map(lambda frag: 'debian/fragments/' > + frag, config_fragments(d))) }" > + rm -rf ${S}/debian/fragments > + if [ -n "${src_frags}" ]; then > + mkdir -p ${S}/debian/fragments > + (cd ${WORKDIR} && cp ${src_frags} > ${S}/debian/fragments/) > + fi > + export KERNEL_FRAGMENTS="${out_frags}" > + > E="${@ bb.utils.export_proxies(d)}" > > export PV=${PV}