1*4882a593SmuzhiyunDESCRIPTION = "Linux Kernel" 2*4882a593SmuzhiyunSECTION = "kernel" 3*4882a593SmuzhiyunLICENSE = "GPL-2.0-only" 4*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunINC_PR = "r0" 7*4882a593Smuzhiyun 8*4882a593Smuzhiyuninherit kernel siteinfo 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun# Enable OABI compat for people stuck with obsolete userspace 11*4882a593SmuzhiyunARM_KEEP_OABI ?= "0" 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun# Set the verbosity of kernel messages during runtime 14*4882a593Smuzhiyun# You can define CMDLINE_DEBUG in your local.conf or distro.conf to override this behaviour 15*4882a593SmuzhiyunCMDLINE_DEBUG ?= "loglevel=3" 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun# Kernel bootlogo is distro-specific (default is OE logo). 18*4882a593Smuzhiyun# Logo resolution (qvga, vga, ...) is machine-specific. 19*4882a593SmuzhiyunLOGO_SIZE ?= '${@oe.utils.conditional("MACHINE_GUI_CLASS", "bigscreen", "vga", "qvga", d)}' 20*4882a593Smuzhiyun# To use this, add file://${LOGO_SIZE}/logo_linux_clut224.ppm.bz2 or similar 21*4882a593Smuzhiyun# to your kernel recipe, and then structure your logos for each resolution 22*4882a593Smuzhiyun# accordingly. 23*4882a593Smuzhiyun 24*4882a593SmuzhiyunLOCALVERSION ?= "" 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun#kernel_conf_variable CMDLINE "\"${CMDLINE} ${CMDLINE_DEBUG}\"" 27*4882a593Smuzhiyunkernel_conf_variable() { 28*4882a593Smuzhiyun CONF_SED_SCRIPT="$CONF_SED_SCRIPT /CONFIG_$1[ =]/d;" 29*4882a593Smuzhiyun if test "$2" = "n" 30*4882a593Smuzhiyun then 31*4882a593Smuzhiyun echo "# CONFIG_$1 is not set" >> ${B}/.config 32*4882a593Smuzhiyun else 33*4882a593Smuzhiyun echo "CONFIG_$1=$2" >> ${B}/.config 34*4882a593Smuzhiyun fi 35*4882a593Smuzhiyun} 36*4882a593Smuzhiyun 37*4882a593Smuzhiyundo_configure:prepend() { 38*4882a593Smuzhiyun echo "" > ${B}/.config 39*4882a593Smuzhiyun CONF_SED_SCRIPT="" 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun # 42*4882a593Smuzhiyun # logo support, if you supply logo_linux_clut224.ppm in SRC_URI, then it's going to be used 43*4882a593Smuzhiyun # 44*4882a593Smuzhiyun if [ -e ${WORKDIR}/logo_linux_clut224.ppm ]; then 45*4882a593Smuzhiyun install -m 0644 ${WORKDIR}/logo_linux_clut224.ppm drivers/video/logo/logo_linux_clut224.ppm 46*4882a593Smuzhiyun kernel_conf_variable LOGO y 47*4882a593Smuzhiyun kernel_conf_variable LOGO_LINUX_CLUT224 y 48*4882a593Smuzhiyun fi 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun # 51*4882a593Smuzhiyun # oabi / eabi support 52*4882a593Smuzhiyun # 53*4882a593Smuzhiyun kernel_conf_variable AEABI y 54*4882a593Smuzhiyun if [ "${ARM_KEEP_OABI}" = "1" ] ; then 55*4882a593Smuzhiyun kernel_conf_variable OABI_COMPAT y 56*4882a593Smuzhiyun else 57*4882a593Smuzhiyun kernel_conf_variable OABI_COMPAT n 58*4882a593Smuzhiyun fi 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun # When enabling thumb for userspace we also need thumb support in the kernel 61*4882a593Smuzhiyun if [ "${ARM_INSTRUCTION_SET}" = "thumb" ] ; then 62*4882a593Smuzhiyun kernel_conf_variable ARM_THUMB y 63*4882a593Smuzhiyun fi 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun kernel_conf_variable CMDLINE "\"${CMDLINE} ${CMDLINE_DEBUG}\"" 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun kernel_conf_variable LOCALVERSION "\"${LOCALVERSION}\"" 68*4882a593Smuzhiyun kernel_conf_variable LOCALVERSION_AUTO n 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun kernel_conf_variable SYSFS_DEPRECATED n 71*4882a593Smuzhiyun kernel_conf_variable SYSFS_DEPRECATED_V2 n 72*4882a593Smuzhiyun kernel_conf_variable HOTPLUG y 73*4882a593Smuzhiyun kernel_conf_variable UEVENT_HELPER_PATH \"\" 74*4882a593Smuzhiyun kernel_conf_variable UNIX y 75*4882a593Smuzhiyun kernel_conf_variable SYSFS y 76*4882a593Smuzhiyun kernel_conf_variable PROC_FS y 77*4882a593Smuzhiyun kernel_conf_variable TMPFS y 78*4882a593Smuzhiyun kernel_conf_variable INOTIFY_USER y 79*4882a593Smuzhiyun kernel_conf_variable SIGNALFD y 80*4882a593Smuzhiyun kernel_conf_variable TMPFS_POSIX_ACL y 81*4882a593Smuzhiyun kernel_conf_variable BLK_DEV_BSG y 82*4882a593Smuzhiyun kernel_conf_variable DEVTMPFS y 83*4882a593Smuzhiyun kernel_conf_variable DEVTMPFS_MOUNT y 84*4882a593Smuzhiyun 85*4882a593Smuzhiyun # Newer inits like systemd need cgroup support 86*4882a593Smuzhiyun if [ "${KERNEL_ENABLE_CGROUPS}" = "1" ] ; then 87*4882a593Smuzhiyun kernel_conf_variable CGROUP_SCHED y 88*4882a593Smuzhiyun kernel_conf_variable CGROUPS y 89*4882a593Smuzhiyun kernel_conf_variable CGROUP_NS y 90*4882a593Smuzhiyun kernel_conf_variable CGROUP_FREEZER y 91*4882a593Smuzhiyun kernel_conf_variable CGROUP_DEVICE y 92*4882a593Smuzhiyun kernel_conf_variable CPUSETS y 93*4882a593Smuzhiyun kernel_conf_variable PROC_PID_CPUSET y 94*4882a593Smuzhiyun kernel_conf_variable CGROUP_CPUACCT y 95*4882a593Smuzhiyun kernel_conf_variable RESOURCE_COUNTERS y 96*4882a593Smuzhiyun fi 97*4882a593Smuzhiyun 98*4882a593Smuzhiyun # 99*4882a593Smuzhiyun # root-over-nfs-over-usb-eth support. Limited, but should cover some cases. 100*4882a593Smuzhiyun # Enable this by setting a proper CMDLINE_NFSROOT_USB. 101*4882a593Smuzhiyun # 102*4882a593Smuzhiyun if [ ! -z "${CMDLINE_NFSROOT_USB}" ]; then 103*4882a593Smuzhiyun bbnote "Configuring the kernel for root-over-nfs-over-usb-eth with CMDLINE ${CMDLINE_NFSROOT_USB}" 104*4882a593Smuzhiyun kernel_conf_variable INET y 105*4882a593Smuzhiyun kernel_conf_variable IP_PNP y 106*4882a593Smuzhiyun kernel_conf_variable USB_GADGET y 107*4882a593Smuzhiyun kernel_conf_variable USB_GADGET_SELECTED y 108*4882a593Smuzhiyun kernel_conf_variable USB_ETH y 109*4882a593Smuzhiyun kernel_conf_variable NFS_FS y 110*4882a593Smuzhiyun kernel_conf_variable ROOT_NFS y 111*4882a593Smuzhiyun kernel_conf_variable CMDLINE \"${CMDLINE_NFSROOT_USB} ${CMDLINE_DEBUG}\" 112*4882a593Smuzhiyun fi 113*4882a593Smuzhiyun 114*4882a593Smuzhiyun sed -e "${CONF_SED_SCRIPT}" \ 115*4882a593Smuzhiyun < '${WORKDIR}/defconfig' >>'${B}/.config' 116*4882a593Smuzhiyun 117*4882a593Smuzhiyun yes '' | oe_runmake -C ${S} O=${B} oldconfig 118*4882a593Smuzhiyun} 119*4882a593Smuzhiyun 120*4882a593Smuzhiyundo_configure:append() { 121*4882a593Smuzhiyun if test -e scripts/Makefile.fwinst ; then 122*4882a593Smuzhiyun sed -i -e "s:-m0644:-m 0644:g" scripts/Makefile.fwinst 123*4882a593Smuzhiyun fi 124*4882a593Smuzhiyun} 125*4882a593Smuzhiyun 126*4882a593Smuzhiyundo_install:append() { 127*4882a593Smuzhiyun oe_runmake headers_install INSTALL_HDR_PATH=${D}${exec_prefix}/src/linux-${KERNEL_VERSION} ARCH=$ARCH 128*4882a593Smuzhiyun} 129*4882a593Smuzhiyun 130*4882a593SmuzhiyunPACKAGES =+ "kernel-headers" 131*4882a593SmuzhiyunFILES:kernel-headers = "${exec_prefix}/src/linux*" 132