Puncte:1

Compilați LKM Raspberry Pi - Permisiune refuzată

drapel uz

Urmăresc primul exemplu de Hello World LKM și acum trebuie să îl compilez.

Conform cărții, Makefile-ul trebuie să fie așa:

obj-m+=hello_world.o

toate:
        make -C /lib/module/$(shell uname -r)/build/ M=$(pwd) module
curat:
        face -C /lib/modules/$(shell uname -r)/build/ M=$(pwd) curat

Și atunci trebuie să fugi face (și scrie că nu ar trebui să fugi sudo make sau veți recompila toate anteturile nucleului Linux).

Rulând acest lucru rezultă:

faceți -C /lib/modules/5.10.63+/build/ M= module
make[1]: se introduce în directorul „/usr/src/rpi-5.10.y”
/bin/sh: 1: nu se poate crea include/generated/uapi/linux/.version.h.tmp: Permisiune refuzată
  UPD include/generated/uapi/linux/version.h
mv: nu poate sta „include/generated/uapi/linux/.version.h.tmp”: nu există un astfel de fișier sau director
make[1]: *** [Makefile:1277: include/generated/uapi/linux/version.h] Eroare 1
make[1]: se părăsește directorul „/usr/src/rpi-5.10.y”
make: *** [Makefile:4: all] Eroare 2

Și dacă fug sudo make sau modificați comenzile Makefile prin sudo make -C... nu se termină niciodată (>2h și încă așteaptă).

Nu puteam să alerg sudo apt install linux-headers-'uname -r' (ignorați „, sunt „ dar nu pot să-l plasez aici) pentru că nucleul este ultimul (5.10.63+), dar am urmat toți pașii din carte care spune cum să compilați manual tot nucleul Linux antete, așa că ar trebui să le am.

Vreo idee? Dacă aveți nevoie de informații suplimentare, spuneți-mi ce comandă trebuie să rulez și voi atașa rezultatul.

Mulțumiri!

galexite avatar
drapel pk
Valoarea pentru `M=` este goală. Aceasta alege directorul în care se găsește modulul pe care îl construiți.Când este gol, va încerca să construiască `Makefile` în directorul dumneavoastră `/lib/modules`, la care nu aveți acces de scriere. Prin urmare, atunci când `make` încearcă să creeze un fișier, acesta eșuează.
drapel hr
+1 ... probabil ar trebui să fie `M=$(PWD)` nu `M=$(pwd)`
Roger Miranda Perez avatar
drapel uz
Ai dreptate, ar fi trebuit să folosesc M=$(PWD)

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.