kbuild相关内容

Linux 内核的`make defconfig` 究竟做了什么?

我可以使用以下命令根据自定义的基于 ARM 的板的指定架构默认值创建 Linux 内核 .config 文件: ARCH=arm make defconfig KBUILD_DEFCONFIG=var_som_mx6_android_defconfig 我认为这个命令或多或少地将 ./arch/arm/configs/var_som_mx6_android_defconfig 复制到 ./.c ..
发布时间:2022-01-04 22:13:12 其他开发

在单独的对象目录中构建树外 Linux 内核模块

我正在面对 Linux 内核构建系统(Kbuild,内核 ≥2.6.28)以及更大项目的目录结构和构建系统.我们的项目包含一个 out-of-tree Linux 内核模块,我们的目录结构看起来像这样(明显简化): checkout/src/common/*.c 源文件(Linux等平台通用)checkout/src/linux-driver/*.c 源文件(用于Linux内核驱动)结帐/构建/ ..
发布时间:2022-01-04 22:06:55 其他开发

.ko 文件是如何构建的

我正在尝试将我自己的驱动程序移植到 Beagle 板 xm arm-cortex-A8.在移植时,我试图弄清楚 .ko 文件实际上是如何构建的.在我们的 Makefile 中,我们只有一个命令来构建 .o 文件. .ko 文件是如何构建的? 使用 linux-2.6.38.8 内核并尝试为我的内核配置驱动程序. 解决方案 内核 kbuild 模块文档 有很多关于如何构建外部模块 ..
发布时间:2021-11-17 22:21:03 其他开发

在我的项目中添加对menuconfig/Kconfig的支持

我计划在我的项目中添加对menuconfig的支持.该项目与Linux内核无关,因此,我必须从头开始在menuconfig和Makefile中编写所有内容. 如何添加对menuconfig的支持并创建Kconfig并使makefile读取.config中的定义? 有什么好的入门教程吗? 解决方案 如果您对自定义应用程序使用KBuild/KConfig感兴趣,可以尝试以下Gith ..
发布时间:2020-05-02 03:35:43 服务器开发

将内核模块与静态库链接

我正在尝试将内核模块与外部静态库链接,如下所示: obj-m += my_prog.o my_prog-objs := some/path/lib.a # all the standard targets... 出于某种原因,上面的Makefile根本不编译my_prog.c,并且生成的模块不包含其代码.当然,如果我删除my_prog-objs行,则会编译my_prog.c. 在M ..
发布时间:2020-05-02 03:27:08 其他开发

Linux内核的make defconfig到底做什么?

我可以使用以下命令根据基于ARM的自定义主板的指定体系结构默认值创建Linux内核.config文件: ARCH=arm make defconfig KBUILD_DEFCONFIG=var_som_mx6_android_defconfig 我认为该命令或多或少地将./arch/arm/configs/var_som_mx6_android_defconfig复制到./.config ..
发布时间:2020-05-02 03:26:50 其他开发

kbuild实际如何工作?

在开发linux驱动程序时,我已经阅读了有关如何通过文档 我知道kbuild系统会使用诸如obj-y obj-m之类的makefile变量来确定要构建什么以及如何构建. 但是我很困惑的是kbuild系统真正在哪里执行构建过程.总之,如果我有obj-m = a.o,那么kbuild系统在哪里解析obj-m并执行gcc a.c? 解决方案 Kbuild的Makefile并不是最容易 ..
发布时间:2020-05-01 10:49:08 服务器开发

Makefile中的ccflag选项

我想编译我的C代码(在内核中),该代码需要包含另一个目录中的一些头文件. 我不想在c文件中指定头文件的完整路径,而是在Makefile中指定包含路径. 启用配置选项CONFIG_FEATURE_X后,将编译我的c文件. 我已经在Makefile中写了以下内容: obj-$(CONFIG_FEATURE_X) += my_file.o ccflags-$(CONFIG_FEATU ..
发布时间:2020-04-25 11:43:13 其他开发

.ko文件是如何建成

我想我端口自己的驱动程序到的的Beagle Board XM臂的cortex-A8 的。虽然移植我试图找出如何在 .ko 文件实际上构建。在我们的的Makefile :我们只有一个命令建立一个的.o 文件。 在 .ko 文件是如何建成的? 使用Linux的 2.6.38.8 内核并尝试配置我的司机对我的内核。 解决方案 内核 ..