diff options
Diffstat (limited to 'import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc')
-rw-r--r-- | import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc b/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc new file mode 100644 index 000000000..61844028b --- /dev/null +++ b/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc @@ -0,0 +1,69 @@ +require linux-rpi.inc +inherit linux-raspberrypi-base + +DESCRIPTION = "Linux Kernel for Raspberry Pi" +SECTION = "kernel" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" + +SRC_URI += " \ + file://defconfig \ + " + +COMPATIBLE_MACHINE = "raspberrypi" + +PE = "1" +PV = "${LINUX_VERSION}+git${SRCPV}" + +# NOTE: For now we pull in the default config from the RPi kernel GIT tree. +KERNEL_DEFCONFIG_raspberrypi ?= "bcmrpi_defconfig" +KERNEL_DEFCONFIG_raspberrypi2 ?= "bcm2709_defconfig" + +# CMDLINE for raspberrypi +CMDLINE = "dwc_otg.lpm_enable=0 console=serial0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait" + +# Add the kernel debugger over console kernel command line option if enabled +CMDLINE_append = ' ${@base_conditional("ENABLE_KGDB", "1", "kgdboc=serial0,115200", "", d)}' + +UDEV_GE_141 ?= "1" + +KERNEL_MODULE_AUTOLOAD += "${@bb.utils.contains("MACHINE_FEATURES", "pitft28r", "stmpe-ts", "", d)}" + +# Set programmatically some variables during recipe parsing +# See http://www.yoctoproject.org/docs/current/bitbake-user-manual/bitbake-user-manual.html#anonymous-python-functions +python __anonymous () { + kerneltype = d.getVar('KERNEL_IMAGETYPE', True) + kerneldt = get_dts(d, d.getVar('LINUX_VERSION', True)) + d.setVar("KERNEL_DEVICETREE", kerneldt) +} + +do_kernel_configme_prepend() { + install -m 0644 ${S}/arch/${ARCH}/configs/${KERNEL_DEFCONFIG} ${WORKDIR}/defconfig || die "No default configuration for ${MACHINE} / ${KERNEL_DEFCONFIG} available." +} + +do_install_prepend() { + install -d ${D}/lib/firmware +} + +do_deploy_append() { + # Deploy cmdline.txt + install -d ${DEPLOYDIR}/bcm2835-bootfiles + PITFT="${@bb.utils.contains("MACHINE_FEATURES", "pitft", "1", "0", d)}" + if [ ${PITFT} = "1" ]; then + PITFT_PARAMS="fbcon=map:10 fbcon=font:VGA8x8" + fi + echo "${CMDLINE}${PITFT_PARAMS}" > ${DEPLOYDIR}/bcm2835-bootfiles/cmdline.txt +} + +do_bundle_initramfs_append() { + if [ ! -z "${INITRAMFS_IMAGE}" -a x"${INITRAMFS_IMAGE_BUNDLE}" = x1 ]; then + if test "x${KERNEL_IMAGETYPE}" != "xuImage" ; then + if test -n "${KERNEL_DEVICETREE}"; then + # Add RPi bootloader trailer to kernel image to enable DeviceTree support + for type in ${KERNEL_IMAGETYPES} ; do + ${STAGING_BINDIR_NATIVE}/mkknlimg --dtok ${KERNEL_OUTPUT_DIR}/$type.initramfs ${KERNEL_OUTPUT_DIR}/$type.initramfs + done + fi + fi + fi +} |