Compiling

為什麼 kernel-devel 包含這麼多“空”目錄?

  • May 22, 2014

多年來,我一直是 Windows 核心開發人員。現在我開始開發 Linux 核心模組。

首先,我安裝kernel-devel/usr/src/kernels/$(uname -r). 但是,在檢查了安裝文件夾後,我感到很困惑,因為目錄中似乎有很多看似無用的文件夾和文件。許多文件夾是空的,除了兩個文件:KconfigMakefile.

在 Windows 下,要開發核心設備驅動程序,我只需要一個包含所有必要標頭檔的 include 文件夾和一個包含要連結的必要庫的 lib 文件夾。

在Linux下,我不明白為什麼會有這麼多看似無用的文件夾。

有什麼解釋嗎?

kernel-develFedora 和其他 Red Hat 衍生產品中的軟體包不包含完整的核心原始碼,僅包含公共介面的標頭檔和驅動程序開發所需的 makefile。大多數標頭檔都可以在/usr/src/kernels/$(uname -r)/include/和一些體系結構特定的標頭檔下找到,例如 x86 下的/usr/src/kernels/$(uname -r)/arch/x86/include/.

帶有Kconfig和的目錄Makefile不是無用的,您只是看不到完整的圖片,因為您沒有完整的核心原始碼(無論如何您通常都不需要驅動程序開發)。

引用自:https://unix.stackexchange.com/questions/131457