【问题标题】:How to compile kernel-module-imx-gpu-viv?如何编译 kernel-module-imx-gpu-viv?
【发布时间】:2018-12-13 01:21:34
【问题描述】:

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

到目前为止我所做的是:

  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 目录中有相同的文件

谢谢。

【问题讨论】:

    标签: linux-kernel gpu kernel-module buildroot imx6


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      【讨论】:

      • 确实是的,但是 Buildroot 软件包版本对于 3.14.52 内核来说太新了,所以我不得不退回到较旧的 5.0.11 版本(以及 5.0.11 版本的 imx- gpu-viv 包)。该驱动程序也可在内核源代码中找到。
      猜你喜欢
      • 2018-08-02
      • 1970-01-01
      • 2018-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-29
      • 1970-01-01
      相关资源
      最近更新 更多