Saya sedang membangun kotak sibuk dan iptables untuk perangkat yang disematkan dan salah satu dependensi untuk mereka adalah header kernel.
Saya telah mencari seluruh sistem file untuk file * .ko dan tidak menemukannya. Jadi saya menyimpulkan bahwa aplikasi tidak membuat driver yang dapat dimuat (modul kernel).
Apa kasus lain untuk aplikasi ruang pengguna yang membutuhkan header kernel?
linux
linux-kernel
kernel-modules
TheMeaningfulEngineer
sumber
sumber
include <linux/*.h>
membuka soket? (Saya mengincar sys / socket.h)Jawaban:
Karena program-program itu dibuat untuk menggunakan hal-hal yang didefinisikan dalam header kernel:
Untuk setiap alat tertentu, Anda harus membaca sumber alat dan header kernel yang relevan untuk mencari tahu apa sebenarnya.
Anda dapat melihat beberapa hal yang dikomentari untuk membuatnya mudah.
Misalnya,
mkfs_vfat
termasuklinux/fd.h
untuk mendapatkanFDGETPRM
:Anda mungkin dapat menghapus yang relevan
#include
dan mengawasi kesalahan kompiler untuk membuatnya lebih mudah, Anda akan mendapatkan peringatan bahwa beberapa hal tidak didefinisikan. Hal-hal itu kemungkinan berasal dari header kernel.sumber