72 lines
2.8 KiB
BlitzBasic
72 lines
2.8 KiB
BlitzBasic
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 ?= "c82b0def752e794a87b625598102d4ce61a071a8"
|
|
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
|