DESCRIPTION = "Linux kernel for the Nitroc hardware" COMPATIBLE_MACHINE = "cn9131-nitroc" inherit kernel SRC_URI = "git://git@bitbucket.gad.local:7999/nm-nsp/netmodule-linux.git;protocol=ssh;user=git;branch=nitroc-v6.6.y" SRCREV ?= "0b8f8f81ab0ec015002357820f50bfc2924390fe" PV = "v6.6.y+git${SRCPV}" LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" S = "${WORKDIR}/git" #If a KERNEL_DEFCONFIG is specified, the defconfig specified in SRC_URI will be overwritten! do_configure:append(){ if [ "${KERNEL_DEFCONFIG}" != "" ]; then oe_runmake ${KERNEL_DEFCONFIG} fi configs="${@" ".join(find_cfgs(d))}" if [ ! -z "${configs}" ]; then ${S}/scripts/kconfig/merge_config.sh -m -O ${WORKDIR}/build ${WORKDIR}/build/.config ${WORKDIR}/*.cfg fi } # The default kenrel.bbclass expects it can remove the source symlink, # newer kernels don't have this symlink so we need to override kernel_do_install kernel_do_install() { # # First install the modules # unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then oe_runmake DEPMOD=echo MODLIB=${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION} INSTALL_FW_PATH=${D}${nonarch_base_libdir}/firmware modules_install rm "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/build" # Remove empty module directories to prevent QA issues find "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel" -type d -empty -delete else bbnote "no modules to install" fi # # Install various kernel output (zImage, map file, config, module support files) # install -d ${D}/${KERNEL_IMAGEDEST} # # When including an initramfs bundle inside a FIT image, the fitImage is created after the install task # by do_assemble_fitimage_initramfs. # This happens after the generation of the initramfs bundle (done by do_bundle_initramfs). # So, at the level of the install task we should not try to install the fitImage. fitImage is still not # generated yet. # After the generation of the fitImage, the deploy task copies the fitImage from the build directory to # the deploy folder. # for imageType in ${KERNEL_IMAGETYPES} ; do if [ $imageType != "fitImage" ] || [ "${INITRAMFS_IMAGE_BUNDLE}" != "1" ] ; then install -m 0644 ${KERNEL_OUTPUT_DIR}/$imageType ${D}/${KERNEL_IMAGEDEST}/$imageType-${KERNEL_VERSION} fi done install -m 0644 System.map ${D}/${KERNEL_IMAGEDEST}/System.map-${KERNEL_VERSION} install -m 0644 .config ${D}/${KERNEL_IMAGEDEST}/config-${KERNEL_VERSION} install -m 0644 vmlinux ${D}/${KERNEL_IMAGEDEST}/vmlinux-${KERNEL_VERSION} [ -e Module.symvers ] && install -m 0644 Module.symvers ${D}/${KERNEL_IMAGEDEST}/Module.symvers-${KERNEL_VERSION} install -d ${D}${sysconfdir}/modules-load.d install -d ${D}${sysconfdir}/modprobe.d } require recipes-kernel/linux/linux-yocto-coreos-efi.inc