編譯 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 ...它永遠不會結束(>2h 並且仍在等待)。

我無法運行sudo apt install linux-headers-'uname -r'(忽略 ',它們是 ` 但我不能將其放在這裡​​),因為內核是最後一個(5.10.63+),但我已按照書中講述如何執行的所有步驟進行操作手動編譯所有Linux內核頭文件,所以我應該擁有它們。

任何想法?如果您需要一些額外的信息,只需告訴我需要運行什麼命令,我將附上輸出。

謝謝!

相關內容