linux сборка тестового модуля завершилась неудачно из-за отсутствия входного файла из gcc - PullRequest
0 голосов
/ 26 мая 2020

Пытаюсь собрать тестовый модуль для linux по книжке. Я делал этот простой пример в прошлом, но сегодня утром он потерпел неудачу. в моем каталоге ~ / LINUX у меня есть такой файл.

#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");

static int hello_init(void)
{
    printk(KERN_ALERT "Hello, world\n");
    return 0;
}

static void hello_exit(void)
{
    printk(KERN_ALERT "Goodbye, cruel world\n");
}

module_init(hello_init);
module_exit(hello_exit);

'uname -r' показывает '4.15.0-99-generi c'. Makefile выглядит так (в ~ / LINUX)

obj-m += test1.ko

all:
    make -C /lib/modules/4.15.0-99-generic/build M=$(PWD) modules

clean:
    make -C /lib/modules/4.15.0-99-generic/build M=$(PWD) clean

когда я запускаю make, он дает мне

make -C /lib/modules/4.15.0-99-generic/build M=/home/ckim/LINUX modules
make[1]: Entering directory '/usr/src/linux-headers-4.15.0-99-generic'
scripts/Makefile.build:336: target '/home/ckim/LINUX/test1.ko' doesn't match the target pattern
  CC [M]  /home/ckim/LINUX/test1.ko
gcc: fatal error: no input files
compilation terminated.
scripts/Makefile.build:337: recipe for target '/home/ckim/LINUX/test1.ko' failed
make[2]: *** [/home/ckim/LINUX/test1.ko] Error 1
Makefile:1577: recipe for target '_module_/home/ckim/LINUX' failed
make[1]: *** [_module_/home/ckim/LINUX] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.15.0-99-generic'
Makefile:4: recipe for target 'all' failed
make: *** [all] Error 2

Что не так?

1 Ответ

0 голосов
/ 26 мая 2020
obj-m += test1.ko 

должно быть

obj-m += test1.o
...