From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6514350167115694080 X-Received: by 10.25.212.143 with SMTP id l137mr2021228lfg.35.1517304888575; Tue, 30 Jan 2018 01:34:48 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 10.25.92.150 with SMTP id u22ls348045lfi.2.gmail; Tue, 30 Jan 2018 01:34:47 -0800 (PST) X-Google-Smtp-Source: AH8x226MvWPIFM06rNJA2li0bFMvXBW6F02yC+UNMOcHW1g64C/RoHqqiwMa8dvWQggETFXpPYyr X-Received: by 10.46.118.6 with SMTP id r6mr1700597ljc.8.1517304887897; Tue, 30 Jan 2018 01:34:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517304887; cv=none; d=google.com; s=arc-20160816; b=BO0pzQENohO8mce8lfiGKI3t1xggRA9yZmqMsWNOjRLr00kykR31TTNso/irtNX+CJ BTJ07Jg43rl19MICdp0/aw86ordjwXPK1hj1XRAobeazB1IqlIDUNSxzwY9Tlpzn2NMw ZkKCyhejSD+nlFnTZwPj0wh/YqTzt4TIxyP5hKvVvL8eM982i5SmHWBLl6/jTnqDG3PG KSTT5FpdsBihlIJGl0JFqObCTkc43XDo4JPBrx1aqrB4RYdAhc8+Q/iEGzIZWVNoE8Pu bVro44vwa6eln6XNymVsxIuMmekk/BH1LmkazWMRAjBtp6XANHQZZsa47Li9N/eL7t3z 1Cyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:mime-version:user-agent :date:message-id:subject:from:to:arc-authentication-results; bh=VwoB7KddHeO8rAhknK44QFl4aueOCK1TYmnb3XWXoyo=; b=v86kerjZECqnoUZpsJF47NmyuQnccjb1XVe7TzpwF46O7d+ok0jQj/2T4YW7hDzjQw Sd+Z7wHa3zLSwKsMkEFlBiLmeSA1w23YTkF809P8e1JqHKg+aIYNZhnvSveRZyIX+T1y XuscfkXL7baQze8g/OGXN8NocoTAFDb4FG2ZotNbZR03KERrj4XP91i3GAkG5s1FKxGB RcOZ4oA777Oy1nFWJ1hCIqfwvvaucScxvNNxBNBobLCg3cNlwmdKcIrnPd5h3DZ4NPSD eVzukVRtXZwBCiyQH7uuSeqKXamUBOpF3kktYuwUN9YlGlGFIPGTLfMux+oRwUYuFv57 i+rQ== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.28 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com Return-Path: Received: from goliath.siemens.de (goliath.siemens.de. [192.35.17.28]) by gmr-mx.google.com with ESMTPS id y16si989811lje.2.2018.01.30.01.34.47 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 30 Jan 2018 01:34:47 -0800 (PST) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.28 as permitted sender) client-ip=192.35.17.28; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.28 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com Received: from mail1.siemens.de (mail1.siemens.de [139.23.33.14]) by goliath.siemens.de (8.15.2/8.15.2) with ESMTPS id w0U9YlAB004253 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 30 Jan 2018 10:34:47 +0100 Received: from [167.87.54.255] ([167.87.54.255]) by mail1.siemens.de (8.15.2/8.15.2) with ESMTP id w0U9YjMl002157 for ; Tue, 30 Jan 2018 10:34:45 +0100 To: isar-users From: Jan Kiszka Subject: [PATCH v2] Install kernel via replaceable recipe Message-ID: <4ab8a0f9-9a34-0e20-bfe0-a447ffe134f6@siemens.com> Date: Tue, 30 Jan 2018 10:34:45 +0100 User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: wRMnkwAijCNn From: Jan Kiszka This simplifies the common task of using a custom kernel instead of the pre-selected debian variant: Move the kernel installation into a dummy dpkg-raw recipe that only has the kernel package as dependency. Which recipe is used for providing the kernel can now be selected via the well-know PREFERRED_PROVIDER_virtual/kernel, just like in OE. The kernel package name is communicated from the target multiconfig file to the linux-debian recipe via the DEBIAN_KERNEL variable. Based on an idea of Henning Schild. Signed-off-by: Jan Kiszka --- Changes in v2: - install kernel meta package from local repo, instead of trying to pre-install it from the upstream one (I swear I tested this and it worked, but I have no idea how it could...) meta-isar/conf/multiconfig/qemuamd64-jessie.conf | 2 +- meta-isar/conf/multiconfig/qemuamd64-stretch.conf | 3 ++- meta-isar/conf/multiconfig/qemuarm-jessie.conf | 2 +- meta-isar/conf/multiconfig/qemuarm-stretch.conf | 3 ++- meta-isar/conf/multiconfig/qemuarm-wheezy.conf | 2 +- meta-isar/conf/multiconfig/qemui386-jessie.conf | 2 +- meta-isar/conf/multiconfig/qemui386-stretch.conf | 3 ++- meta-isar/conf/multiconfig/rpi-jessie.conf | 3 ++- meta-isar/recipes-core/images/isar-image-base.bb | 7 ++++++- meta-isar/recipes-kernel/linux/linux-debian.bb | 12 ++++++++++++ 10 files changed, 30 insertions(+), 9 deletions(-) create mode 100644 meta-isar/recipes-kernel/linux/linux-debian.bb diff --git a/meta-isar/conf/multiconfig/qemuamd64-jessie.conf b/meta-isar/conf/multiconfig/qemuamd64-jessie.conf index 51d39b6..e49751f 100644 --- a/meta-isar/conf/multiconfig/qemuamd64-jessie.conf +++ b/meta-isar/conf/multiconfig/qemuamd64-jessie.conf @@ -6,7 +6,7 @@ MACHINE ?= "qemuamd64" DISTRO ?= "debian-jessie" DISTRO_ARCH ?= "amd64" -IMAGE_PREINSTALL += "linux-image-amd64" +DEBIAN_KERNEL ?= "linux-image-amd64" ROOTFS_DEV ?= "sda" diff --git a/meta-isar/conf/multiconfig/qemuamd64-stretch.conf b/meta-isar/conf/multiconfig/qemuamd64-stretch.conf index c59876a..f3dcd3a 100644 --- a/meta-isar/conf/multiconfig/qemuamd64-stretch.conf +++ b/meta-isar/conf/multiconfig/qemuamd64-stretch.conf @@ -8,9 +8,10 @@ DISTRO_ARCH ?= "amd64" IMAGE_PREINSTALL += " \ init \ - linux-image-amd64 \ " +DEBIAN_KERNEL ?= "linux-image-amd64" + ROOTFS_DEV ?= "sda" QEMU_ARCH ?= "x86_64" diff --git a/meta-isar/conf/multiconfig/qemuarm-jessie.conf b/meta-isar/conf/multiconfig/qemuarm-jessie.conf index ed84c6c..50a27f5 100644 --- a/meta-isar/conf/multiconfig/qemuarm-jessie.conf +++ b/meta-isar/conf/multiconfig/qemuarm-jessie.conf @@ -13,7 +13,7 @@ MACHINE ?= "qemuarm" DISTRO ?= "debian-jessie" DISTRO_ARCH ?= "armhf" -IMAGE_PREINSTALL += "linux-image-armmp" +DEBIAN_KERNEL ?= "linux-image-armmp" ROOTFS_DEV ?= "vda" diff --git a/meta-isar/conf/multiconfig/qemuarm-stretch.conf b/meta-isar/conf/multiconfig/qemuarm-stretch.conf index 1cce97a..9b99fb0 100644 --- a/meta-isar/conf/multiconfig/qemuarm-stretch.conf +++ b/meta-isar/conf/multiconfig/qemuarm-stretch.conf @@ -8,9 +8,10 @@ DISTRO_ARCH ?= "armhf" IMAGE_PREINSTALL += " \ init \ - linux-image-armmp \ " +DEBIAN_KERNEL ?= "linux-image-armmp" + ROOTFS_DEV ?= "vda" QEMU_ARCH ?= "arm" diff --git a/meta-isar/conf/multiconfig/qemuarm-wheezy.conf b/meta-isar/conf/multiconfig/qemuarm-wheezy.conf index 38ea191..ab163a2 100644 --- a/meta-isar/conf/multiconfig/qemuarm-wheezy.conf +++ b/meta-isar/conf/multiconfig/qemuarm-wheezy.conf @@ -13,7 +13,7 @@ MACHINE ?= "qemuarm" DISTRO ?= "debian-wheezy" DISTRO_ARCH ?= "armhf" -IMAGE_PREINSTALL += "linux-image-vexpress" +DEBIAN_KERNEL ?= "linux-image-vexpress" ROOTFS_DEV ?= "mmcblk0" diff --git a/meta-isar/conf/multiconfig/qemui386-jessie.conf b/meta-isar/conf/multiconfig/qemui386-jessie.conf index d589661..e3df61d 100644 --- a/meta-isar/conf/multiconfig/qemui386-jessie.conf +++ b/meta-isar/conf/multiconfig/qemui386-jessie.conf @@ -6,7 +6,7 @@ MACHINE ?= "qemui386" DISTRO ?= "debian-jessie" DISTRO_ARCH ?= "i386" -IMAGE_PREINSTALL += "linux-image-686-pae" +DEBIAN_KERNEL ?= "linux-image-686-pae" ROOTFS_DEV ?= "sda" diff --git a/meta-isar/conf/multiconfig/qemui386-stretch.conf b/meta-isar/conf/multiconfig/qemui386-stretch.conf index 40239e4..344783e 100644 --- a/meta-isar/conf/multiconfig/qemui386-stretch.conf +++ b/meta-isar/conf/multiconfig/qemui386-stretch.conf @@ -8,9 +8,10 @@ DISTRO_ARCH ?= "i386" IMAGE_PREINSTALL += " \ init \ - linux-image-686-pae \ " +DEBIAN_KERNEL ?= "linux-image-686-pae" + ROOTFS_DEV ?= "sda" QEMU_ARCH ?= "i386" diff --git a/meta-isar/conf/multiconfig/rpi-jessie.conf b/meta-isar/conf/multiconfig/rpi-jessie.conf index d1dd9d9..cfbeb3a 100644 --- a/meta-isar/conf/multiconfig/rpi-jessie.conf +++ b/meta-isar/conf/multiconfig/rpi-jessie.conf @@ -19,7 +19,6 @@ IMAGE_PREINSTALL += " \ iproute2 \ iputils-ping \ isc-dhcp-client \ - linux-image-rpi-rpfv \ lrzsz \ net-tools \ netcat-openbsd \ @@ -31,4 +30,6 @@ IMAGE_PREINSTALL += " \ vim \ " +DEBIAN_KERNEL ?= "linux-image-rpi-rpfv" + ROOTFS_DEV ?= "mmcblk0p2" diff --git a/meta-isar/recipes-core/images/isar-image-base.bb b/meta-isar/recipes-core/images/isar-image-base.bb index e359ac3..2f03cd1 100644 --- a/meta-isar/recipes-core/images/isar-image-base.bb +++ b/meta-isar/recipes-core/images/isar-image-base.bb @@ -18,12 +18,17 @@ PV = "1.0" inherit image -DEPENDS += "${IMAGE_INSTALL}" +PREFERRED_PROVIDER_virtual/kernel ?= "linux-debian" + +DEPENDS += "${IMAGE_INSTALL} \ + virtual/kernel" IMAGE_PREINSTALL += "apt \ dbus \ localepurge" +IMAGE_INSTALL += "${@d.getVar("PREFERRED_PROVIDER_virtual/kernel", True)}" + WORKDIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/${PN}" do_rootfs[dirs] = "${WORKDIR}/hooks_multistrap" diff --git a/meta-isar/recipes-kernel/linux/linux-debian.bb b/meta-isar/recipes-kernel/linux/linux-debian.bb new file mode 100644 index 0000000..21d20c2 --- /dev/null +++ b/meta-isar/recipes-kernel/linux/linux-debian.bb @@ -0,0 +1,12 @@ +# Debian kernel pseudo package +# +# This software is a part of ISAR. +# Copyright (c) Siemens AG, 2018 + +DESCRIPTION = "Prebuilt Debian kernel" +MAINTAINER = "ISAR project" +PROVIDES = "virtual/kernel" + +DEBIAN_DEPENDS = "${DEBIAN_KERNEL}" + +inherit dpkg-raw -- 2.13.6