2017-05-27 2 views
-1

Nach dem Tutorial:Der ubuntu-Kernel (Vmware) nicht in der /usr/include/linux/fs.h die Struktur struct file_operations Datei

http://derekmolloy.ie/writing-a-linux-kernel-module-part-2-a-character-device/

Nachdem in ubuntu ausführen:

sudo apt-get update 
apt-cache search linux-headers-$(uname -r) 
sudo apt-get install linux-headers-4.8.0-36-generic 
cd /usr/src/linux-headers-4.8.0-36 

Warum hat der Ubuntu Kernel (Vmware) in der Datei /usr/include/linux/fs.h nicht die Struktur file_operations?

struct file_operations { 
     struct module *owner; 
     loff_t (*llseek) (struct file *, loff_t, int); 
     ssize_t (*read) (struct file *, char *, size_t, loff_t *); 
     ssize_t (*write) (struct file *, const char *, size_t, loff_t *); 
    . 
    . 
    . 
    }; 

Antwort

0

Diese Header sind für Userspace-Programme. Warum sollten Sie erwarten, dass die Kernel-Datei fs.h da drin ist? Was machst du überhaupt?

Wenn Sie den Quellbaum des Kernels überprüfen, sehen Sie, dass er einen separaten Satz von Headern unter usr/include/linux enthält.

Das Paket, das Sie suchen, heißt -devel (oder -dev). apt-file search sollte in der Lage sein, Ihnen zu sagen, oder vorzugsweise manuell, was immer Sie hier tun sollten.

EDIT:

Der Autor des Tutorials Mittel/linux/fs.h Datei im Kernel-Quellbaum.

Das Lernprogramm ist von extrem schlechter Qualität und muss nicht befolgt werden. Außerdem scheint es, dass Sie selbst ein Anfänger-Programmierer sind und in diesem Fall rate ich dringend davon ab, zu diesem Zeitpunkt mit dem Kernel zu spielen.

+0

Danke Mitarbeiter Ich habe die Frage mit dem Link des Tutorials bearbeitet, dem ich zu folgen versuche. – Ruben

Verwandte Themen