LKM编译 - modpost语法错误

时间:2017-06-14 15:08:16

标签: linux linux-kernel syntax-error

我目前正在尝试编译一个简单的内核模块(只是打印HelloWorld)。但每当我尝试编译它时,我都会收到错误:"

    scripts/Makefile.modpost:91: recipe for target '__modpost'  failed"

我的makefile如下所示:

    obj-m +=mod_init.o
    mod_init-y += Tests/breakpoint.o



    all:
            make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules -w
            @echo "Modules build"

    clean:
            make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean

"干净"完美无瑕。但是" make"总是以这个错误结束。

我的系统在ARM上运行,带有自编译内核(来自Kernel.org的Linux 4.11.4)我使用第二台pc通过以下命令交叉编译它:

PC2:

    export ARCH=arm
    export CROSS_COMPILE=arm-none-eabi-
    make mrproper
    make exynos_defconfig (exynos is my cpu on ARM + make menuconfig for my needs)
    make zImage (needed for my board)
    make modules

复制之后zImage(根据uname -a启动) 并将源文件夹复制到ARM板上的/ usr / src /)。我执行了这个:

ARM Board:

    make modules_install
    make check_headers
    make headers_install

在此之后我尝试执行我的makefile,它不会在没有错误的情况下结束。 使用"执行它使V = 1"打印这个(除了上面提到的错误):

make [1]:输入目录' /usr/src/linux-4.11.4' test -e include / generated / autoconf.h -a -e include / config / auto.conf || (\ echo>& 2;

echo>& 2"错误:内核配置无效。&#34 ;; \

echo>& 2"缺少include / generated / autoconf.h或include / config / auto.conf。&#34 ;; \

echo>& 2"运行' make oldconfig&&做好准备'在内核src上修复它。&#34 ;; \

echo>& 2; \ / bin中/假)

但这些文件位于/usr/src/linux-4.11.4/include /...

正在搜索此问题我找到了这个(goo.gl/IZHp4j),但重写makefile不会改变任何内容

有人知道如何解决这个问题吗?我发现的唯一的东西是没有安装的头文件(除了我复制的内核源代码,/ usr / src中没有任何内容)或者makefile中没有允许的标志

提前谢谢

0 个答案:

没有答案