diff options
author | Tom Rini <trini@konsulko.com> | 2017-11-03 15:29:15 -0400 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2017-11-22 10:07:25 +0000 |
commit | 9691b89fd8a0014b7d57c9fc35cf75bfe8da1577 (patch) | |
tree | 0cbc41ae0a0c0d4a38e5952f4678c0831fbe6cb7 /meta-agl-bsp/recipes-kernel/linux/linux-agl.inc | |
parent | 5692de99c4e04d51a6c5da86fea1710d55420873 (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/linux/linux-agl.inc')
-rw-r--r-- | meta-agl-bsp/recipes-kernel/linux/linux-agl.inc | 71 |
1 files changed, 61 insertions, 10 deletions
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 \ +" |