目录
增加kernel-devsrc
TOOLCHAIN_TARGET_TASK_append中增加kernel-devsrc,可以把内核模块开发所需的kerenl-devsrc编译进sdk。
--- a/src/poky/meta-qti-bsp/recipes-products/images/qcs40x/qcs40x-base-image.inc
+++ b/src/poky/meta-qti-bsp/recipes-products/images/qcs40x/qcs40x-base-image.inc
@@ -4,7 +4,7 @@ RDEPENDS += "${@bb.utils.contains('TARGET_ARCH', 'arm','lib64-edk2','edk2',d)}"
RDEPENDS += "${@bb.utils.contains('TARGET_ARCH', 'arm','lib64-abl-ubifs','abl-ubifs',d)}"
# Target SDK Packages
-TOOLCHAIN_TARGET_TASK_append_sa2150p += "glib-2.0-dev"
+TOOLCHAIN_TARGET_TASK_append_sa2150p += "glib-2.0-dev kernel-devsrc"
# Packages to be included in rootfs creation.
IMAGE_INSTALL += "packagegroup-core-boot"
编译sdk
编译sdk,这个过程很漫长,需要3个多小时。
cd src/poky
source meta-quectel-eap/scripts/ag215s/ag215s-oem-build.sh
bitbake -f machine-image -c populate_sdk
编译驱动
使用编译出来的sdk编译驱动。
#!/bin/bash
KSRC=/opt/ag215s/oecore-x86_64/sysroots/aarch64-oe-linux/lib/modules/4.14.206/build
export PATH=${PATH}:/opt/ag215s/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/bin/aarch64-oe-linux
export CROSS_COMPILE=aarch64-oe-linux-
export ARCH=arm64
make modules M=`pwd` -C ${KSRC}
找不到头文件
提示找不到asm/types.h文件。
make: Entering directory