From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6520199916203016192 X-Received: by 10.46.53.20 with SMTP id z20mr542242ljz.31.1518362722529; Sun, 11 Feb 2018 07:25:22 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 10.25.226.25 with SMTP id z25ls1113603lfg.11.gmail; Sun, 11 Feb 2018 07:25:21 -0800 (PST) X-Google-Smtp-Source: AH8x225xrKHQE3dJVvXai0uuXCKlf9XdxNsnGW7XaX8BNOjFQTbOwyb3MJIiuozC+k5vEm7ehUoB X-Received: by 10.25.181.134 with SMTP id g6mr602071lfk.27.1518362721791; Sun, 11 Feb 2018 07:25:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518362721; cv=none; d=google.com; s=arc-20160816; b=CdJdlRDaGfyglA7QQ03+sDg0pX2L2m2arBNuDik2lSs3tnqdhQJ+ZbXUkDsjCUYZaO 6vAk6CHX/Ol58TzIJ2/GjpP1klGP/h3H41YBxm8GqzFpAcQ4mKlPL14hA4OORRYgDhP+ A9qY355F8MGSuhSSrmzyKWRcJGgqkcV3niuPpF58tRPQ/ncA6QsmnTZRaF9Jpp38IHp+ 1VzqsWHfl8mDM86DY+uTRk7PurNv5S1C1FNfOmMMeSD6QPiJXwP8PB1TMqPKgvs1V8nG SqU7bst6BgN168ANLt5O74ihONFjpDvUHiG6yUAaExuF1sp50ieKpfcREc2OXJOLVlhb UyjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=message-id:date:subject:to:from:arc-authentication-results; bh=bUDp3BETdD87SuvLXUveLYKj5zRScRLP3mvz3j4gZl4=; b=gifrfsiuHMv2/Aq0/69XWpHhRv4kPx3s8XlBxFbnM8uY242NsKlsEaPGYLNk5mLiao gv7nE1WxqCDkyed5tF2iDj8PC/YTo++bRq4bc6P0mF4q6rmP6x0VAMP+9IQlNNstmPCN 8AGOx+iOpMOzyqy4lwc9jYrmIIO+QPjpS4IxOFDNnAYjUI7eyOsxh2Z6lgdRfM3Ey/oc GXuKqrKg5VJKnuQq+NGyZf9ndEjq5fpnItCVToJx2ih2unWi5Quw+51kzKPfB6o60cw8 T/X3Y5mu2Ths44xj87K3qhGlTliTXtC6XkbCaSr69xzh4v5EJdlsX+7jGRW95F/WEhyR mgRw== 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 25si389664ljt.1.2018.02.11.07.25.21 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 11 Feb 2018 07:25:21 -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 w1BFPK4U022633 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Sun, 11 Feb 2018 16:25:20 +0100 Received: from md1f2u6c.ww002.siemens.net ([167.87.32.7]) by mail1.siemens.de (8.15.2/8.15.2) with ESMTP id w1BFPKh8024517 for ; Sun, 11 Feb 2018 16:25:20 +0100 From: Jan Kiszka To: isar-users Subject: [PATCH v4 0/8] Provide infrastructure and examples for custom kernels and modules Date: Sun, 11 Feb 2018 16:25:11 +0100 Message-Id: X-Mailer: git-send-email 2.13.6 X-TUID: k6Bng+mEahW+ This is now finally the promised patches to provide simple patterns for building custom kernels for Isar images that replace the distro kernels. It also provids the same pattern for custom out-of-tree kernel modules. Along come two fixes, one to respect proxies during dpkg builds, the other to adjust isar-apt repo prio. Furthermore, I'm proposing to rename "SRC_DIR" to OE-standard "S". Changes in v3 (only resent patch 5): - allow central overriding of kernel dependencies Changes in v4 - simplified changes to isar-image-base.bb by reordering code - modeled custom kernel build as class Jan Jan Kiszka (8): Forward proxy settings to dpkg build Prioritize isar-apt repo over all others Replace SRC_DIR with S Install kernel via replaceable recipe Provide class for easy custom kernel builds Add custom kernel examples Provide include file for easy custom module builds Add exemplary kernel module doc/user_manual.md | 6 +- meta-isar/conf/distro/debian-jessie.conf | 2 + meta-isar/conf/distro/debian-stretch.conf | 2 + meta-isar/conf/distro/debian-wheezy.conf | 2 + meta-isar/conf/distro/raspbian-jessie.conf | 2 + meta-isar/conf/local.conf.sample | 2 +- 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 +- .../recipes-app/example-hello/example-hello.bb | 2 +- meta-isar/recipes-app/libhello/libhello.bb | 2 +- .../recipes-core/images/files/multistrap.conf.in | 1 + meta-isar/recipes-core/images/isar-image-base.bb | 3 + .../example-module/example-module.bb | 12 + .../example-module/files/src/Makefile | 18 ++ .../example-module/files/src/example-module.c | 19 ++ meta-isar/recipes-kernel/linux/files/defconfig | 308 +++++++++++++++++++++ meta-isar/recipes-kernel/linux/linux-cip_4.4.bb | 17 ++ .../recipes-kernel/linux/linux-mainline_4.14.18.bb | 15 + meta/classes/dpkg.bbclass | 3 +- meta/classes/linux-kernel.bbclass | 98 +++++++ meta/recipes-devtools/buildchroot/buildchroot.bb | 4 +- .../buildchroot/files/isar-apt-prefs | 3 + .../buildchroot/files/multistrap.conf.in | 1 + .../linux-module/files/debian/changelog | 5 + .../linux-module/files/debian/compat | 1 + .../linux-module/files/debian/control | 11 + .../recipes-kernel/linux-module/files/debian/rules | 15 + meta/recipes-kernel/linux-module/module.inc | 24 ++ meta/recipes-kernel/linux/linux-distro.bb | 16 ++ 35 files changed, 598 insertions(+), 16 deletions(-) create mode 100644 meta-isar/recipes-kernel/example-module/example-module.bb create mode 100644 meta-isar/recipes-kernel/example-module/files/src/Makefile create mode 100644 meta-isar/recipes-kernel/example-module/files/src/example-module.c create mode 100644 meta-isar/recipes-kernel/linux/files/defconfig create mode 100644 meta-isar/recipes-kernel/linux/linux-cip_4.4.bb create mode 100644 meta-isar/recipes-kernel/linux/linux-mainline_4.14.18.bb create mode 100644 meta/classes/linux-kernel.bbclass create mode 100644 meta/recipes-devtools/buildchroot/files/isar-apt-prefs create mode 100644 meta/recipes-kernel/linux-module/files/debian/changelog create mode 100644 meta/recipes-kernel/linux-module/files/debian/compat create mode 100644 meta/recipes-kernel/linux-module/files/debian/control create mode 100755 meta/recipes-kernel/linux-module/files/debian/rules create mode 100644 meta/recipes-kernel/linux-module/module.inc create mode 100644 meta/recipes-kernel/linux/linux-distro.bb -- 2.13.6