summaryrefslogtreecommitdiffstats
path: root/meta-agl-bsp/recipes-kernel
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2017-11-03 15:29:15 -0400
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2017-11-22 10:07:25 +0000
commit9691b89fd8a0014b7d57c9fc35cf75bfe8da1577 (patch)
tree0cbc41ae0a0c0d4a38e5952f4678c0831fbe6cb7 /meta-agl-bsp/recipes-kernel
parent5692de99c4e04d51a6c5da86fea1710d55420873 (diff)
Rework Linux Kernel fragment applications
- All kernel recipes must inherit linux-agl.inc - All kernel recipes for a given version (e.g. 4.9) should include linux-VER-agl.inc in order to avoid duplication (such as the SMACK label patch or security fixes) - We enforce having merge_config.sh be invoked at the end, in order to make sure fragments will be applied. - Add a new fragment for Raspberry Pi to ensure the Pi Touchscreen is still enabled. With all of the above, we fix a number of minor issues as well, such as platforms manually enabling NBD/RAMDISK for netboot as the previous logic was not working in all cases. Bug-AGL: SPEC-946 Change-Id: Ic688e899df5861d83712af12d8e1c6c3c9643300 Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/12063 Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org> Reviewed-by: José Bollo <jobol@nonadev.net> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'meta-agl-bsp/recipes-kernel')
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux-%.bbappend8
-rw-r--r--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-bsp/recipes-kernel/linux/linux-agl-4.9.inc8
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux-agl.inc71
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/ath9k_htc.cfg (renamed from meta-agl-bsp/recipes-kernel/linux/linux-yocto/ath9k_htc.cfg)0
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/btusb.cfg37
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/drm.cfg (renamed from meta-agl-bsp/recipes-kernel/linux/linux-yocto/drm.cfg)0
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/fanotify.cfg (renamed from meta-agl-bsp/recipes-kernel/linux/linux-yocto/fanotify.cfg)0
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/hid.cfg (renamed from meta-agl-bsp/recipes-kernel/linux/linux-yocto/hid.cfg)0
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/nbd.cfg1
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/ramdisk.cfg1
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/rtl_sdr.cfg (renamed from meta-agl-bsp/recipes-kernel/linux/linux-yocto/rtl_sdr.cfg)0
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/uinput.cfg (renamed from meta-agl-bsp/recipes-kernel/linux/linux-yocto/uinput.cfg)0
-rw-r--r--meta-agl-bsp/recipes-kernel/linux/linux/vbox-vmware-sata.cfg (renamed from meta-agl-bsp/recipes-kernel/linux/linux-yocto/vbox-vmware-sata.cfg)0
14 files changed, 157 insertions, 18 deletions
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux-%.bbappend b/meta-agl-bsp/recipes-kernel/linux/linux-%.bbappend
deleted file mode 100644
index f64e49ae0..000000000
--- a/meta-agl-bsp/recipes-kernel/linux/linux-%.bbappend
+++ /dev/null
@@ -1,8 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/linux:"
-
-# Extra configuration options for the AGL kernel
-SRC_URI_append = " file://can-bus.cfg \
- file://usb.cfg \
- file://uvc.cfg \
- file://joystick.cfg \
- "
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux-4.9/0004-Smack-Assign-smack_known_web-label-for-kernel-thread.patch b/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 000000000..a1eeac3d7
--- /dev/null
+++ b/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-bsp/recipes-kernel/linux/linux-agl-4.9.inc b/meta-agl-bsp/recipes-kernel/linux/linux-agl-4.9.inc
new file mode 100644
index 000000000..3235ff4d1
--- /dev/null
+++ b/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_smack = "\
+ file://0004-Smack-Assign-smack_known_web-label-for-kernel-thread.patch \
+ "
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux-agl.inc b/meta-agl-bsp/recipes-kernel/linux/linux-agl.inc
index fcd028062..2c8dab4ad 100644
--- a/meta-agl-bsp/recipes-kernel/linux/linux-agl.inc
+++ b/meta-agl-bsp/recipes-kernel/linux/linux-agl.inc
@@ -1,20 +1,71 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/linux-yocto:"
+FILESEXTRAPATHS_prepend := "${THISDIR}/linux:"
-# Extra configuration options for the QEMU kernel
-SRC_URI += "file://fanotify.cfg \
+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 \
"
+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 required features for the agl-netboot feature
+SRC_URI_append_netboot = " file://nbd.cfg \
+ file://ramdisk.cfg"
+KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/nbd.cfg ${WORKDIR}/ramdisk.cfg"
# Enable support for TP-Link TL-W722N USB Wifi adapter
-SRC_URI += " file://ath9k_htc.cfg \
- "
+SRC_URI_append = " file://ath9k_htc.cfg"
+KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/ath9k_htc.cfg"
# Enable support for RTLSDR
-SRC_URI += " file://rtl_sdr.cfg \
- "
+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"
-# disk drivers for vmdk
-SRC_URI_append_qemux86 = " file://vbox-vmware-sata.cfg "
-SRC_URI_append_qemux86-64 = " file://vbox-vmware-sata.cfg "
+# Enable support for smack
+KERNEL_CONFIG_FRAGMENTS_append_smack = "\
+ ${WORKDIR}/audit.cfg \
+ ${WORKDIR}/smack.cfg \
+ ${WORKDIR}/smack-default-lsm.cfg \
+"
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux-yocto/ath9k_htc.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/ath9k_htc.cfg
index 6f7d49880..6f7d49880 100644
--- a/meta-agl-bsp/recipes-kernel/linux/linux-yocto/ath9k_htc.cfg
+++ b/meta-agl-bsp/recipes-kernel/linux/linux/ath9k_htc.cfg
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/btusb.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/btusb.cfg
new file mode 100644
index 000000000..dd7c460bb
--- /dev/null
+++ b/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-bsp/recipes-kernel/linux/linux-yocto/drm.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/drm.cfg
index 65fe71cd0..65fe71cd0 100644
--- a/meta-agl-bsp/recipes-kernel/linux/linux-yocto/drm.cfg
+++ b/meta-agl-bsp/recipes-kernel/linux/linux/drm.cfg
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux-yocto/fanotify.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/fanotify.cfg
index de5dd8d31..de5dd8d31 100644
--- a/meta-agl-bsp/recipes-kernel/linux/linux-yocto/fanotify.cfg
+++ b/meta-agl-bsp/recipes-kernel/linux/linux/fanotify.cfg
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux-yocto/hid.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/hid.cfg
index 327c753ae..327c753ae 100644
--- a/meta-agl-bsp/recipes-kernel/linux/linux-yocto/hid.cfg
+++ b/meta-agl-bsp/recipes-kernel/linux/linux/hid.cfg
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/nbd.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/nbd.cfg
new file mode 100644
index 000000000..af37685e4
--- /dev/null
+++ b/meta-agl-bsp/recipes-kernel/linux/linux/nbd.cfg
@@ -0,0 +1 @@
+CONFIG_BLK_DEV_NBD=y
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux/ramdisk.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/ramdisk.cfg
new file mode 100644
index 000000000..41530dd6e
--- /dev/null
+++ b/meta-agl-bsp/recipes-kernel/linux/linux/ramdisk.cfg
@@ -0,0 +1 @@
+CONFIG_BLK_DEV_RAM=y
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux-yocto/rtl_sdr.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/rtl_sdr.cfg
index d4574700a..d4574700a 100644
--- a/meta-agl-bsp/recipes-kernel/linux/linux-yocto/rtl_sdr.cfg
+++ b/meta-agl-bsp/recipes-kernel/linux/linux/rtl_sdr.cfg
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux-yocto/uinput.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/uinput.cfg
index 7996ef1dd..7996ef1dd 100644
--- a/meta-agl-bsp/recipes-kernel/linux/linux-yocto/uinput.cfg
+++ b/meta-agl-bsp/recipes-kernel/linux/linux/uinput.cfg
diff --git a/meta-agl-bsp/recipes-kernel/linux/linux-yocto/vbox-vmware-sata.cfg b/meta-agl-bsp/recipes-kernel/linux/linux/vbox-vmware-sata.cfg
index ce1eca1a7..ce1eca1a7 100644
--- a/meta-agl-bsp/recipes-kernel/linux/linux-yocto/vbox-vmware-sata.cfg
+++ b/meta-agl-bsp/recipes-kernel/linux/linux/vbox-vmware-sata.cfg