0

我无法编译以下内核模块https://github.com/Freescale/kernel-module-imx-gpu-viv/tree/upstream/6.2.4.p1.2/kernel-module-imx-gpu- viv-src用于我的 IMX6Q 板。

到目前为止我所做的是:

  1. 从上面的 git repo 下载源代码到一个单独的目录中
  2. 修改了 Makefile 以设置我正在构建的内核源 KERNEL_SRC (3.14.52) 的正确路径:

生成文件:

obj-m := galcore.o
SRC := $(shell pwd)
KERNEL_SRC := /path/to/kernel_imx/

all:
        $(MAKE) -C $(KERNEL_SRC) M=$(SRC)/kernel-module-imx-gpu-viv-src AQROOT=${PWD}/kernel-module-imx-gpu-viv-src
        cp $(SRC)/kernel-module-imx-gpu-viv-src/Module.symvers $(PWD)
        cp $(SRC)/kernel-module-imx-gpu-viv-src/modules.order $(PWD)

modules_install:
        $(MAKE) -C $(KERNEL_SRC) M=$(SRC)/kernel-module-imx-gpu-viv-src modules_install

clean:
         rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c
         rm -f Module.markers Module.symvers modules.order
         rm -rf .tmp_versions Modules.symvers
  1. 编译:make ARCH=arm CROSS_COMPILE=/path/to/buildroot/buildroot/output/host/usr/bin/arm-linux-gnueabihf-

作为编译的结果,我根本没有galcore.ko,只生成了这 3 个文件:

built-in.o
modules.order ( empty )
Module.symvers ( empty )

我也尝试过使用 buildroot 但最后,我在目录中有相同的文件output/build/kernel-module-imx-gpu-viv-9bbacfe7753626956a449c6a4f7dffcf6285b4d7

谢谢。

4

2 回答 2

2

这个内核驱动程序已经有一个 Buildroot 包:https ://git.buildroot.org/buildroot/tree/package/freescale-imx/kernel-module-imx-gpu-viv

于 2018-07-06T13:44:09.907 回答
0

最后我忘了MXC_GPU_VIV=m在内核配置中设置,这意味着将这个驱动程序编译为一个模块。

现在我已经galcore.ko正确构建了预期的。

于 2018-07-04T15:22:32.577 回答