- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何在 Yocto 中包含 linux 内核头文件作为 SDK 包的一部分?
我在嵌入式项目中使用 Yocto 1.8 (fido) 并想做树外内核模块开发。目前,我可以通过指向我的 $KERNEL_PATH
来构建我的内核模块(除了 bitbake)。到poky/build/tmp/work-shared/<machine>/kernel-source/
运行make时的目录。但是,我不想长期这样做,因为其他人需要轻松构建模块,而无需安装和构建来自 bitbake 的完整镜像。
我可以使用 bitbake myimage -c populate_sdk
生成 SDK .但是,这不包括内核头文件(我所看到的只是 sysroots/<mach>/usr/include/linux
)。如何使内核头文件包含在 SDK 包中?另外,我不希望内核头文件显示为我的目标图像的一部分。
[编辑]
我的图像配方如下:
EXTRA_IMAGE_FEATURES_append = " eclipse-debug debug-tweaks"
TOOLCHAIN_HOST_TASK_append = " nativesdk-cmake"
IMAGE_INSTALL = "packagegroup-core-boot ${CORE_IMAGE_EXTRA_INSTALL} util-linux kernel-modules netbase busybox base-passwd base-files sysvinit initscripts bash gdbserver strace sysfsutils dtc gawk ethtool grep sed wget iptables oprofile net-tools dropbear rsync stress-ng rt-tests i2c-tools"
inherit core-image
最佳答案
来自 fido
发布,内核构建的处理已经改变。在以前的版本中,您通常可以直接跳到下面的使用示例。
在 fido
或任何 1.8+,如果您希望 SDK 中提供内核 src 和构建系统,您应该添加
TOOLCHAIN_TARGET_TASK_append = " kernel-devsrc"
到你的图像配方。这将确保新的
kernel-devsrc
软件包已安装到您的工具链中。
Makefile
如下:
obj-m += hello-1.o
all:
make -C $(KERNEL_SRC) M=$(PWD) modules
clean:
make -C $(KERNEL_SRC) M=$(PWD) clean
取自 The Linux Kernel Module Programming Guide 的示例(请注意,实际命令需要有一个制表符用于缩进)。
sysroots/<mach>/usr/src/kernel/
,无论是在 Makefile 中,还是来自您的 make 调用。 (使用像
KERNEL_SRC
这样的变量将确保您的模块配方在使用 bitbake 构建时自动选择正确的位置)。
KERNEL_SRC=<sdk-install-path>/sysroots/<mach>/usr/src/kernel LDFLAGS="" make
但是,这将失败,因为无法找到 fixdep。我们将手动解决此问题。cd <sdk-install-path>/sysroots/<mach>/usr/src/kernel
make modules_prepare
如果需要使用 sudo 运行,请务必在 sudo 环境中 source 环境文件:sudo bash -c "source <sdk-install-path>/environment-setup-<mach> && make modules_prepare"
KERNEL_SRC=<sdk-install-path>/sysroots/<mach>/usr/src/kernel LDFLAGS="" make
sysroots/<mach>/usr/src/kernel/
下没有内核源,我们将不得不对此进行调查。
关于linux-kernel - 使用 populate_sdk 包含内核头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31256770/
如何在 Yocto 中包含 linux 内核头文件作为 SDK 包的一部分? 我在嵌入式项目中使用 Yocto 1.8 (fido) 并想做树外内核模块开发。目前,我可以通过指向我的 $KERNEL_
我正在尝试使用 yocto 生成 SDK。 硬件:x64 通用元英特尔层 图像:核心图像最小。 我在 conf 文件中启用了 multilib 以支持 32 位库。 require conf/mult
我正在使用 Yocto (THUD) 为 imx6 处理器构建自定义镜像。使用图像,我创建了一个 QT 应用程序的配方和一个使用 cmake 构建的 c++ 库的配方。 我正在考虑为该图像构建 SDK
我是一名优秀的程序员,十分优秀!