编译 LKM Raspberry Pi - 权限被拒绝

编译 LKM Raspberry Pi - 权限被拒绝

我正在遵循 Hello World LKM 的第一个示例,现在我需要编译它。

根据书上的说法,Makefile需要像这样:

obj-m+=hello_world.o

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

然后您需要运行make(并且它说您不能运行sudo make,否则您将重新编译所有 Linux 内核头)。

运行此程序后输出:

make -C /lib/modules/5.10.63+/build/ M= modules
make[1]: Entering directory '/usr/src/rpi-5.10.y'
/bin/sh: 1: cannot create include/generated/uapi/linux/.version.h.tmp: Permission denied
  UPD     include/generated/uapi/linux/version.h
mv: cannot stat 'include/generated/uapi/linux/.version.h.tmp': No such file or directory
make[1]: *** [Makefile:1277: include/generated/uapi/linux/version.h] Error 1
make[1]: Leaving directory '/usr/src/rpi-5.10.y'
make: *** [Makefile:4: all] Error 2

如果我运行sudo make或更改 Makefile 命令,sudo make -C ...它就永远不会结束(>2 小时并且仍在等待)。

我无法运行sudo apt install linux-headers-'uname -r'(忽略',它们是'但我不能把它放在这里)因为内核是最后一个(5.10.63+),但我已按照书中介绍如何手动编译所有 Linux 内核头文件的所有步骤进行操作,所以我应该拥有它们。

有什么想法吗?如果您需要一些额外的信息,只需告诉我需要运行什么命令,我就会附上输出。

谢谢!

相关内容