diff options
Diffstat (limited to 'meta-agl-core/recipes-kernel/linux/linux-agl.inc')
-rw-r--r-- | meta-agl-core/recipes-kernel/linux/linux-agl.inc | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/meta-agl-core/recipes-kernel/linux/linux-agl.inc b/meta-agl-core/recipes-kernel/linux/linux-agl.inc new file mode 100644 index 000000000..cd960ef6d --- /dev/null +++ b/meta-agl-core/recipes-kernel/linux/linux-agl.inc @@ -0,0 +1,132 @@ +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 + # Need to clear CONFIG_LSM for 5.1+ kernels to ensure it'll get + # regenerated to reflect configuration changes (e.g. SMACK). + sed -i '/^CONFIG_LSM/d' .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 \ + file://overlayfs.cfg \ + " + +SRC_URI_append = " ${@bb.utils.contains('AGL_XEN_GUEST_WANTED','1','file://xen_domu.cfg','',d)}" + +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 overlayfs filesystem support +KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/overlayfs.cfg" +# Enable XEN support of the guest +KERNEL_CONFIG_FRAGMENTS_append = " ${@bb.utils.contains('AGL_XEN_GUEST_WANTED','1','${WORKDIR}/xen_domu.cfg','',d)}" + +# 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 (rev 1 and 2) +SRC_URI_append = " file://wifi.cfg" +KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/wifi.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" + +# Extra configuration for using qemux86-64 image on physical hardware +SRC_URI_append_qemux86-64 = "\ + file://x86-extra-graphic-devices.cfg \ + file://x86-net-devices.cfg \ + file://x86-security-tpm.cfg \ + file://x86-usb-devices.cfg \ + file://x86-upsquare.cfg \ +" +KERNEL_CONFIG_FRAGMENTS_append_qemux86-64 = "\ + ${WORKDIR}/x86-extra-graphic-devices.cfg \ + ${WORKDIR}/x86-net-devices.cfg \ + ${WORKDIR}/x86-security-tpm.cfg \ + ${WORKDIR}/x86-usb-devices.cfg \ + ${WORKDIR}/x86-upsquare.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" + +# add hda audio for qemu +SRC_URI_append_qemuall = " file://sound-hda.cfg" +KERNEL_CONFIG_FRAGMENTS_append_qemuall = " ${WORKDIR}/sound-hda.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" + +# netfilter options +SRC_URI_append = " file://netfilter.cfg" +KERNEL_CONFIG_FRAGMENTS_append = " ${WORKDIR}/netfilter.cfg" + +# Enable support for SystemTap +SRC_URI_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'file://systemtap.cfg', '', d)}" +KERNEL_CONFIG_FRAGMENTS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', '${WORKDIR}/systemtap.cfg', '', d)}" |