summaryrefslogtreecommitdiffstats
path: root/meta-agl/meta-agl-bsp/recipes-kernel
diff options
context:
space:
mode:
Diffstat (limited to 'meta-agl/meta-agl-bsp/recipes-kernel')
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/kernel-devsrc.bbappend6
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux-4.14/Smack-Handle-CGROUP2-in-the-same-way-that-CGROUP.patch40
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux-4.14/Smack-Privilege-check-on-key-operations.patch109
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux-4.9/0004-Smack-Assign-smack_known_web-label-for-kernel-thread.patch49
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux-agl-4.14.inc10
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux-agl-4.9.inc8
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux-agl.inc94
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux-yocto_%.bbappend1
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/ath9k_htc.cfg4
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/btusb.cfg37
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/can-bus.cfg41
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/drm.cfg2
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/fanotify.cfg3
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/hid.cfg1
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/i2c-led.cfg3
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/iiodevice.cfg25
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/joystick.cfg9
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/nbd.cfg1
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/nfc.cfg34
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/procevent.cfg2
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/ramdisk.cfg2
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/rtc.cfg7
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/rtl_sdr.cfg4
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/scheddebug.cfg1
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/sound.cfg7
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/uinput.cfg3
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/usb.cfg8
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/usbaudio.cfg2
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/usbmodem.cfg7
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/uvc.cfg4
-rw-r--r--meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/vbox-vmware-sata.cfg19
31 files changed, 543 insertions, 0 deletions
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/kernel-devsrc.bbappend b/meta-agl/meta-agl-bsp/recipes-kernel/linux/kernel-devsrc.bbappend
new file mode 100644
index 00000000..52fe69d2
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/kernel-devsrc.bbappend
@@ -0,0 +1,6 @@
+# fix for kernel using hardcoded awk while our filesystem only provides gawk
+do_install_append() {
+ # enforce all scripts to use /usr/bin/awk . This fixes the rpm dependency failure on install of kernel-devsrc
+ cd ${D} || true
+ ( for i in `grep -srI "\!/bin/awk" | cut -d":" -f1 ` ; do sed -i -e "s#\!/bin/awk#\!/usr/bin/env awk#g" $i ; done ) || true
+} \ No newline at end of file
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux-4.14/Smack-Handle-CGROUP2-in-the-same-way-that-CGROUP.patch b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux-4.14/Smack-Handle-CGROUP2-in-the-same-way-that-CGROUP.patch
new file mode 100644
index 00000000..c595dfdf
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux-4.14/Smack-Handle-CGROUP2-in-the-same-way-that-CGROUP.patch
@@ -0,0 +1,40 @@
+From 63f5acdf097b7baca8d0f7056a037f8811b48aaa Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jos=C3=A9=20Bollo?= <jose.bollo@iot.bzh>
+Date: Tue, 27 Feb 2018 17:06:21 +0100
+Subject: [PATCH] Smack: Handle CGROUP2 in the same way that CGROUP
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The new file system CGROUP2 isn't actually handled
+by smack. This changes makes Smack treat equally
+CGROUP and CGROUP2 items.
+
+Signed-off-by: José Bollo <jose.bollo@iot.bzh>
+---
+ security/smack/smack_lsm.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c
+index 03fdecba93bb..5d77ed04422c 100644
+--- a/security/smack/smack_lsm.c
++++ b/security/smack/smack_lsm.c
+@@ -3431,6 +3431,7 @@ static void smack_d_instantiate(struct dentry *opt_dentry, struct inode *inode)
+ if (opt_dentry->d_parent == opt_dentry) {
+ switch (sbp->s_magic) {
+ case CGROUP_SUPER_MAGIC:
++ case CGROUP2_SUPER_MAGIC:
+ /*
+ * The cgroup filesystem is never mounted,
+ * so there's no opportunity to set the mount
+@@ -3474,6 +3475,7 @@ static void smack_d_instantiate(struct dentry *opt_dentry, struct inode *inode)
+ switch (sbp->s_magic) {
+ case SMACK_MAGIC:
+ case CGROUP_SUPER_MAGIC:
++ case CGROUP2_SUPER_MAGIC:
+ /*
+ * Casey says that it's a little embarrassing
+ * that the smack file system doesn't do
+--
+2.14.3
+
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux-4.14/Smack-Privilege-check-on-key-operations.patch b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux-4.14/Smack-Privilege-check-on-key-operations.patch
new file mode 100644
index 00000000..4100bb8f
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux-4.14/Smack-Privilege-check-on-key-operations.patch
@@ -0,0 +1,109 @@
+Smack: Privilege check on key operations
+
+Operations on key objects are subjected to Smack policy
+even if the process is privileged. This is inconsistent
+with the general behavior of Smack and may cause issues
+with authentication by privileged daemons. This patch
+allows processes with CAP_MAC_OVERRIDE to access keys
+even if the Smack rules indicate otherwise.
+
+Reported-by: Jose Bollo <jobol@nonadev.net>
+Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
+---
+ security/smack/smack.h | 1 +
+ security/smack/smack_access.c | 40 +++++++++++++++++++++++++++++-----------
+ security/smack/smack_lsm.c | 4 ++++
+ 3 files changed, 34 insertions(+), 11 deletions(-)
+
+diff --git a/security/smack/smack.h b/security/smack/smack.h
+index 6a71fc7..f7db791 100644
+--- a/security/smack/smack.h
++++ b/security/smack/smack.h
+@@ -321,6 +321,7 @@ struct smack_known *smk_import_entry(const char *, int);
+ void smk_insert_entry(struct smack_known *skp);
+ struct smack_known *smk_find_entry(const char *);
+ bool smack_privileged(int cap);
++bool smack_privileged_cred(int cap, const struct cred *cred);
+ void smk_destroy_label_list(struct list_head *list);
+
+ /*
+diff --git a/security/smack/smack_access.c b/security/smack/smack_access.c
+index 1a30041..141ffac 100644
+--- a/security/smack/smack_access.c
++++ b/security/smack/smack_access.c
+@@ -623,26 +623,24 @@ struct smack_known *smack_from_secid(const u32 secid)
+ LIST_HEAD(smack_onlycap_list);
+ DEFINE_MUTEX(smack_onlycap_lock);
+
+-/*
++/**
++ * smack_privileged_cred - are all privilege requirements met by cred
++ * @cap: The requested capability
++ * @cred: the credential to use
++ *
+ * Is the task privileged and allowed to be privileged
+ * by the onlycap rule.
+ *
+ * Returns true if the task is allowed to be privileged, false if it's not.
+ */
+-bool smack_privileged(int cap)
++bool smack_privileged_cred(int cap, const struct cred *cred)
+ {
+- struct smack_known *skp = smk_of_current();
++ struct task_smack *tsp = cred->security;
++ struct smack_known *skp = tsp->smk_task;
+ struct smack_known_list_elem *sklep;
+ int rc;
+
+- /*
+- * All kernel tasks are privileged
+- */
+- if (unlikely(current->flags & PF_KTHREAD))
+- return true;
+-
+- rc = cap_capable(current_cred(), &init_user_ns, cap,
+- SECURITY_CAP_AUDIT);
++ rc = cap_capable(cred, &init_user_ns, cap, SECURITY_CAP_AUDIT);
+ if (rc)
+ return false;
+
+@@ -662,3 +660,23 @@ bool smack_privileged(int cap)
+
+ return false;
+ }
++
++/**
++ * smack_privileged - are all privilege requirements met
++ * @cap: The requested capability
++ *
++ * Is the task privileged and allowed to be privileged
++ * by the onlycap rule.
++ *
++ * Returns true if the task is allowed to be privileged, false if it's not.
++ */
++bool smack_privileged(int cap)
++{
++ /*
++ * All kernel tasks are privileged
++ */
++ if (unlikely(current->flags & PF_KTHREAD))
++ return true;
++
++ return smack_privileged_cred(cap, current_cred());
++}
+diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c
+index 30f2c3d..03fdecb 100644
+--- a/security/smack/smack_lsm.c
++++ b/security/smack/smack_lsm.c
+@@ -4369,6 +4369,10 @@ static int smack_key_permission(key_ref_t key_ref,
+ */
+ if (tkp == NULL)
+ return -EACCES;
++
++ if (smack_privileged_cred(CAP_MAC_OVERRIDE, cred))
++ return 0;
++
+ #ifdef CONFIG_AUDIT
+ smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_KEY);
+ ad.a.u.key_struct.key = keyp->serial;
+
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux-4.9/0004-Smack-Assign-smack_known_web-label-for-kernel-thread.patch b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux-4.9/0004-Smack-Assign-smack_known_web-label-for-kernel-thread.patch
new file mode 100644
index 00000000..a1eeac3d
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux-4.9/0004-Smack-Assign-smack_known_web-label-for-kernel-thread.patch
@@ -0,0 +1,49 @@
+From c8bbb0f916de54610513e376070aea531af19dd6 Mon Sep 17 00:00:00 2001
+From: jooseong lee <jooseong.lee@samsung.com>
+Date: Thu, 3 Nov 2016 10:55:43 +0100
+Subject: [PATCH 4/4] Smack: Assign smack_known_web label for kernel thread's
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Assign smack_known_web label for kernel thread's socket in the sk_alloc_security hook
+
+Creating struct sock by sk_alloc function in various kernel subsystems
+like bluetooth dosen't call smack_socket_post_create(). In such case,
+received sock label is the floor('_') label and makes access deny.
+
+Refers-to: https://review.tizen.org/gerrit/#/c/80717/4
+
+Change-Id: I2e5c9359bfede84a988fd4d4d74cdb9dfdfc52d8
+Signed-off-by: jooseong lee <jooseong.lee@samsung.com>
+Signed-off-by: José Bollo <jose.bollo@iot.bzh>
+---
+ security/smack/smack_lsm.c | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c
+index cf8a93f..21651bc 100644
+--- a/security/smack/smack_lsm.c
++++ b/security/smack/smack_lsm.c
+@@ -2321,8 +2321,16 @@ static int smack_sk_alloc_security(struct sock *sk, int family, gfp_t gfp_flags)
+ if (ssp == NULL)
+ return -ENOMEM;
+
+- ssp->smk_in = skp;
+- ssp->smk_out = skp;
++ /*
++ * Sockets created by kernel threads receive web label.
++ */
++ if (unlikely(current->flags & PF_KTHREAD)) {
++ ssp->smk_in = &smack_known_web;
++ ssp->smk_out = &smack_known_web;
++ } else {
++ ssp->smk_in = skp;
++ ssp->smk_out = skp;
++ }
+ ssp->smk_packet = NULL;
+
+ sk->sk_security = ssp;
+--
+2.7.4
+
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux-agl-4.14.inc b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux-agl-4.14.inc
new file mode 100644
index 00000000..87249bdc
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux-agl-4.14.inc
@@ -0,0 +1,10 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/linux-4.14:"
+
+#-------------------------------------------------------------------------
+# smack patches for kernels keys
+
+SRC_URI_append_with-lsm-smack = "\
+ file://Smack-Privilege-check-on-key-operations.patch \
+ file://Smack-Handle-CGROUP2-in-the-same-way-that-CGROUP.patch \
+ "
+
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux-agl-4.9.inc b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux-agl-4.9.inc
new file mode 100644
index 00000000..c4ebf4d4
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux-agl-4.9.inc
@@ -0,0 +1,8 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/linux-4.9:"
+
+#-------------------------------------------------------------------------
+# smack patches for handling bluetooth
+
+SRC_URI_append_with-lsm-smack = "\
+ file://0004-Smack-Assign-smack_known_web-label-for-kernel-thread.patch \
+ "
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux-agl.inc b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux-agl.inc
new file mode 100644
index 00000000..e8be23c7
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux-agl.inc
@@ -0,0 +1,94 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/linux:"
+
+DEPENDS += "kern-tools-native"
+
+# returns all the elements from the src uri that are .cfg files
+def find_cfgs(d):
+ sources=src_patches(d, True)
+ sources_list=[]
+ for s in sources:
+ if s.endswith('.cfg'):
+ sources_list.append(s)
+
+ return sources_list
+
+do_configure_append () {
+ [ ! -f .config ] && cp -a ${WORKDIR}/defconfig .config
+ merge_config.sh -m .config ${@" ".join(find_cfgs(d))}
+ yes '' | make oldconfig
+}
+
+# Extra configuration options for the AGL kernel
+SRC_URI_append = "\
+ file://can-bus.cfg \
+ file://usb.cfg \
+ file://uvc.cfg \
+ file://joystick.cfg \
+ file://fanotify.cfg \
+ file://uinput.cfg \
+ file://hid.cfg \
+ file://drm.cfg \
+ file://btusb.cfg \
+ file://usbaudio.cfg \
+ file://usbmodem.cfg \
+ file://i2c-led.cfg \
+ file://nfc.cfg \
+ "
+KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/can-bus.cfg"
+# Enable support for usb video class for usb camera devices
+KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/uvc.cfg"
+# Enable support for joystick devices
+KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/joystick.cfg"
+KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/fanotify.cfg"
+KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/uinput.cfg"
+KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/hid.cfg"
+# Enable DRM support for graphics
+KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/drm.cfg"
+# Enable Bluetooth USB devices
+KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/btusb.cfg"
+# Enable USB audio devices
+KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/usbaudio.cfg"
+# Enable I2C and LED for demontrator
+KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/i2c-led.cfg"
+# Enable NFC devices
+KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/nfc.cfg"
+
+# Enable required features for the agl-netboot feature
+SRC_URI_append_netboot = " file://nbd.cfg \
+ file://ramdisk.cfg"
+KERNEL_CONFIG_FRAGMENTS_append_netboot = " ${WORKDIR}/nbd.cfg ${WORKDIR}/ramdisk.cfg"
+
+# Enable support for TP-Link TL-W722N USB Wifi adapter
+SRC_URI_append = " file://ath9k_htc.cfg"
+KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/ath9k_htc.cfg"
+
+# Enable support for RTLSDR
+SRC_URI_append = " file://rtl_sdr.cfg"
+KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/rtl_sdr.cfg"
+
+# Additional drivers for virtual machines
+# OVERRIDES save us some c'n'p below ...
+OVERRIDES_prepend_qemux86 = "virtualmachine:"
+OVERRIDES_prepend_qemux86-64 = "virtualmachine:"
+SRC_URI_append_virtualmachine = " file://vbox-vmware-sata.cfg"
+KERNEL_CONFIG_FRAGMENTS_append_virtualmachine = " ${WORKDIR}/vbox-vmware-sata.cfg"
+
+# Enable support for smack
+KERNEL_CONFIG_FRAGMENTS_append_with-lsm-smack = "\
+ ${WORKDIR}/audit.cfg \
+ ${WORKDIR}/smack.cfg \
+ ${WORKDIR}/smack-default-lsm.cfg \
+"
+
+# ALSA support and other sound related configuration
+SRC_URI_append = " file://sound.cfg"
+KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/sound.cfg"
+
+# iio-dummy-device support for test iiodevice
+SRC_URI_append = " file://iiodevice.cfg"
+KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/iiodevice.cfg"
+
+# external rtc support via e.g. http://wiki.seeedstudio.com/Grove-RTC/
+SRC_URI_append = " file://rtc.cfg"
+KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/rtc.cfg"
+
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux-yocto_%.bbappend b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux-yocto_%.bbappend
new file mode 100644
index 00000000..38611202
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux-yocto_%.bbappend
@@ -0,0 +1 @@
+require linux-agl.inc
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/ath9k_htc.cfg b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/ath9k_htc.cfg
new file mode 100644
index 00000000..6f7d4988
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/ath9k_htc.cfg
@@ -0,0 +1,4 @@
+CONFIG_CFG80211=m
+CONFIG_MAC80211=m
+CONFIG_ATH_CARDS=m
+CONFIG_ATH9K_HTC=m
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/btusb.cfg b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/btusb.cfg
new file mode 100644
index 00000000..dd7c460b
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/btusb.cfg
@@ -0,0 +1,37 @@
+CONFIG_BT=m
+CONFIG_BT_BREDR=y
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=m
+CONFIG_BT_HS=y
+CONFIG_BT_LE=y
+CONFIG_BT_LEDS=y
+# CONFIG_BT_SELFTEST is not set
+CONFIG_BT_DEBUGFS=y
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_INTEL=m
+CONFIG_BT_BCM=m
+CONFIG_BT_RTL=m
+CONFIG_BT_HCIBTUSB=m
+CONFIG_BT_HCIBTUSB_BCM=y
+CONFIG_BT_HCIBTUSB_RTL=y
+# CONFIG_BT_HCIBTSDIO is not set
+# CONFIG_BT_HCIUART is not set
+CONFIG_BT_HCIBCM203X=m
+CONFIG_BT_HCIBFUSB=m
+# CONFIG_BT_HCIVHCI is not set
+# CONFIG_BT_MRVL is not set
+# CONFIG_BT_ATH3K is not set
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_CMAC=m
+
+#
+# Bluetooth AVRCP support
+#
+CONFIG_INPUT_UINPUT=y
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/can-bus.cfg b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/can-bus.cfg
new file mode 100644
index 00000000..57e25fc6
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/can-bus.cfg
@@ -0,0 +1,41 @@
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+# CONFIG_TASK_XACCT is not set
+CONFIG_USER_RETURN_NOTIFIER=y
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_CAN=m
+CONFIG_CAN_RAW=m
+CONFIG_CAN_BCM=m
+CONFIG_CAN_GW=m
+
+#
+# CAN Device Drivers
+#
+CONFIG_CAN_C_CAN=m
+CONFIG_CAN_C_CAN_PLATFORM=m
+CONFIG_CAN_VCAN=m
+CONFIG_CAN_SLCAN=m
+CONFIG_CAN_DEV=m
+CONFIG_CAN_CALC_BITTIMING=y
+# CONFIG_CAN_LEDS is not set
+# CONFIG_CAN_SJA1000 is not set
+# CONFIG_CAN_M_CAN is not set
+# CONFIG_CAN_CC770 is not set
+
+#
+# CAN SPI interfaces
+#
+CONFIG_CAN_MCP251X=m
+
+#
+# CAN USB interfaces
+#
+# CONFIG_CAN_EMS_USB is not set
+CONFIG_CAN_ESD_USB2=m
+CONFIG_CAN_GS_USB=m
+CONFIG_CAN_KVASER_USB=m
+CONFIG_CAN_PEAK_USB=m
+CONFIG_CAN_8DEV_USB=m
+CONFIG_CAN_MCBA_USB=m
+# CONFIG_CAN_SOFTING is not set
+# CONFIG_CAN_DEBUG_DEVICES is not set
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/drm.cfg b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/drm.cfg
new file mode 100644
index 00000000..65fe71cd
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/drm.cfg
@@ -0,0 +1,2 @@
+CONFIG_DRM_BOCHS=y
+CONFIG_DRM_VIRTIO_GPU=y
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/fanotify.cfg b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/fanotify.cfg
new file mode 100644
index 00000000..de5dd8d3
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/fanotify.cfg
@@ -0,0 +1,3 @@
+# Enable the fanotify API (notification/interception of FS events)
+CONFIG_FANOTIFY=y
+CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/hid.cfg b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/hid.cfg
new file mode 100644
index 00000000..327c753a
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/hid.cfg
@@ -0,0 +1 @@
+CONFIG_HID_MULTITOUCH=y
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/i2c-led.cfg b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/i2c-led.cfg
new file mode 100644
index 00000000..248b5118
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/i2c-led.cfg
@@ -0,0 +1,3 @@
+# enabling I2C and LED for demonstrator
+CONFIG_I2C_TINY_USB=y
+CONFIG_LEDS_BLINKM=y
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/iiodevice.cfg b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/iiodevice.cfg
new file mode 100644
index 00000000..8633f29a
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/iiodevice.cfg
@@ -0,0 +1,25 @@
+#
+# Extcon Device Drivers
+#
+CONFIG_IIO=y
+CONFIG_IIO_BUFFER=y
+CONFIG_IIO_BUFFER_CB=y
+CONFIG_IIO_KFIFO_BUF=y
+CONFIG_IIO_CONFIGFS=m
+CONFIG_IIO_TRIGGER=y
+CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
+CONFIG_IIO_SW_DEVICE=m
+CONFIG_IIO_SW_TRIGGER=m
+
+#
+# IIO dummy driver
+#
+CONFIG_IIO_DUMMY_EVGEN=m
+CONFIG_IIO_SIMPLE_DUMMY=m
+CONFIG_IIO_SIMPLE_DUMMY_EVENTS=y
+CONFIG_IIO_SIMPLE_DUMMY_BUFFER=y
+
+#
+# Triggers - standalone
+#
+CONFIG_IIO_HRTIMER_TRIGGER=m \ No newline at end of file
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/joystick.cfg b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/joystick.cfg
new file mode 100644
index 00000000..2201bcb0
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/joystick.cfg
@@ -0,0 +1,9 @@
+CONFIG_INPUT_JOYDEV=y
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_JOYSTICK_ADI=y
+CONFIG_GAMEPORT=y
+CONFIG_HID_LOGITECH=y
+CONFIG_LOGIWHEELS_FF=y
+CONFIG_HID_LOGITECH_HIDPP=y
+CONFIG_LOGITECH_FF=y
+CONFIG_LOGIG940_FF=y
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/nbd.cfg b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/nbd.cfg
new file mode 100644
index 00000000..af37685e
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/nbd.cfg
@@ -0,0 +1 @@
+CONFIG_BLK_DEV_NBD=y
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/nfc.cfg b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/nfc.cfg
new file mode 100644
index 00000000..6d863a07
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/nfc.cfg
@@ -0,0 +1,34 @@
+CONFIG_NFC=m
+CONFIG_NFC_DIGITAL=m
+CONFIG_NFC_NCI=m
+CONFIG_NFC_NCI_SPI=m
+CONFIG_NFC_HCI=m
+CONFIG_NFC_SHDLC=y
+CONFIG_NFC_TRF7970A=m
+CONFIG_NFC_MEI_PHY=m
+CONFIG_NFC_PORT100=m
+CONFIG_NFC_FDP=m
+CONFIG_NFC_FDP_I2C=m
+CONFIG_NFC_PN544=m
+CONFIG_NFC_PN544_I2C=m
+CONFIG_NFC_PN544_MEI=m
+CONFIG_NFC_PN533=m
+CONFIG_NFC_PN533_USB=m
+CONFIG_NFC_PN533_I2C=m
+CONFIG_NFC_MICROREAD=m
+CONFIG_NFC_MICROREAD_I2C=m
+CONFIG_NFC_MICROREAD_MEI=m
+CONFIG_NFC_MRVL=m
+CONFIG_NFC_MRVL_USB=m
+CONFIG_NFC_MRVL_I2C=m
+CONFIG_NFC_MRVL_SPI=m
+CONFIG_NFC_ST21NFCA=m
+CONFIG_NFC_ST21NFCA_I2C=m
+CONFIG_NFC_ST_NCI=m
+CONFIG_NFC_ST_NCI_I2C=m
+CONFIG_NFC_ST_NCI_SPI=m
+CONFIG_NFC_NXP_NCI=m
+CONFIG_NFC_NXP_NCI_I2C=m
+CONFIG_NFC_S3FWRN5=m
+CONFIG_NFC_S3FWRN5_I2C=m
+CONFIG_NFC_ST95HF=m
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/procevent.cfg b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/procevent.cfg
new file mode 100644
index 00000000..6e08c25b
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/procevent.cfg
@@ -0,0 +1,2 @@
+CONFIG_CONNECTOR=y
+CONFIG_PROC_EVENTS=y
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/ramdisk.cfg b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/ramdisk.cfg
new file mode 100644
index 00000000..3d44de80
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/ramdisk.cfg
@@ -0,0 +1,2 @@
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_SIZE=65536
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/rtc.cfg b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/rtc.cfg
new file mode 100644
index 00000000..2641958a
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/rtc.cfg
@@ -0,0 +1,7 @@
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_LIB=y
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_DS3232=m
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/rtl_sdr.cfg b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/rtl_sdr.cfg
new file mode 100644
index 00000000..d4574700
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/rtl_sdr.cfg
@@ -0,0 +1,4 @@
+CONFIG_MEDIA_USB_SUPPORT=y
+CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
+CONFIG_DVB_USB_V2=m
+CONFIG_DVB_USB_RTL28XXU=m
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/scheddebug.cfg b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/scheddebug.cfg
new file mode 100644
index 00000000..e8b09aa7
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/scheddebug.cfg
@@ -0,0 +1 @@
+CONFIG_SCHED_DEBUG=y
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/sound.cfg b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/sound.cfg
new file mode 100644
index 00000000..ad34ea68
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/sound.cfg
@@ -0,0 +1,7 @@
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_DYNAMIC_MINORS=y
+CONFIG_SND_MAX_CARDS=32
+CONFIG_SND_ALOOP=m
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/uinput.cfg b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/uinput.cfg
new file mode 100644
index 00000000..7996ef1d
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/uinput.cfg
@@ -0,0 +1,3 @@
+# Enable the User-level Input driver (required by "wayland-fits")
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_UINPUT=m
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/usb.cfg b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/usb.cfg
new file mode 100644
index 00000000..8e9e98ec
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/usb.cfg
@@ -0,0 +1,8 @@
+CONFIG_USB_SERIAL=y
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_ACM=m
+CONFIG_CRC_CCITT=y
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_PCI=y
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/usbaudio.cfg b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/usbaudio.cfg
new file mode 100644
index 00000000..5961f43d
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/usbaudio.cfg
@@ -0,0 +1,2 @@
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=y
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/usbmodem.cfg b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/usbmodem.cfg
new file mode 100644
index 00000000..3ded931e
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/usbmodem.cfg
@@ -0,0 +1,7 @@
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_CDC_MBIM=m
+CONFIG_USB_NET_QMI_WWAN=m
+CONFIG_USB_SIERRA_NET=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_QUALCOMM=m
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/uvc.cfg b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/uvc.cfg
new file mode 100644
index 00000000..7c6556c1
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/uvc.cfg
@@ -0,0 +1,4 @@
+CONFIG_VIDEOBUF2_VMALLOC=y
+CONFIG_MEDIA_USB_SUPPORT=y
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
diff --git a/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/vbox-vmware-sata.cfg b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/vbox-vmware-sata.cfg
new file mode 100644
index 00000000..ce1eca1a
--- /dev/null
+++ b/meta-agl/meta-agl-bsp/recipes-kernel/linux/linux/vbox-vmware-sata.cfg
@@ -0,0 +1,19 @@
+# enable harddrive driver for vmware/virtualbox
+CONFIG_ATA_PIIX=y
+CONFIG_SATA_AHCI=y
+CONFIG_ATA_SFF=y
+CONFIG_ATA_BMDMA=y
+CONFIG_ATA_GENERIC=y
+CONFIG_ATA_ACPI=y
+
+# needed for VMWare
+CONFIG_SCSI=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_FUSION=y
+CONFIG_FUSION_SPI=y
+CONFIG_DRM_VMWGFX=y
+CONFIG_DRM_VMWGFX_FBCON=y
+CONFIG_VMWARE_BALLOON=m
+CONFIG_VMWARE_VMCI=m
+CONFIG_VMWARE_VMCI_VSOCKETS=m
+CONFIG_SND_ENS1371=m