2016-12-30 83 views
1

我想編譯一個簡單的內核模塊。 Makefile的是:在4.3.0-sabayon linux中編譯'hello world'內核模塊的問題

obj-m += hello-l.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[1]: Entering directory '/usr/src/linux-4.3.0-sabayon' 
Makefile:340: scripts/Kbuild.include: No such file or directory 
Makefile:605: arch/x86/Makefile: No such file or directory 
/bin/sh: ./scripts/gcc-goto.sh: No such file or directory 
Makefile:778: scripts/Makefile.kasan: No such file or directory 
Makefile:779: scripts/Makefile.extrawarn: No such file or directory 
make[1]: *** No rule to make target 'scripts/Makefile.extrawarn'. Stop. 
make[1]: Leaving directory '/usr/src/linux-4.3.0-sabayon' 
Makefile:4: recipe for target 'all' failed 
make: *** [all] Error 2 

我已經能夠編譯Ubuntu的機器上的代碼。爲什麼sabayon機器會丟失編譯最簡單代碼所需的文件?

回答

0

是什麼下面的命令顯示:

ls -al /usr/src/linux-4.3.0-sabayon 

難道是內核devel的頭部沒有在芭雍Linux機器上安裝?在Fedora中,rpm被稱爲kernel-devel。我不知道如何在Ubuntu中調用類似的包,這是Gentoo的衍生產品。

+0

LS的輸出-al /usr/src/linux-4.3.0-sabayon是: 總5156 drwxr-XR-×3根根4096 2016年1月5日。 drwxr-xr-x 6 root root 4096 Dec 30 12:15 .. -rw -r - r-- 1 root root 177673 Dec 16 2015 .config drwxr-xr-x 3 root root 4096 Jan 5 2016 include -rw-r - r-- 1 root root 54503 Dec 16 2015 Makefile -rw-r - r-- 1 root root 1262265 Dec 16 2015 Module.symvers -rw-r - r-- 1 root root 3761878 Dec 16 2015 System.map 我搜索了(equo搜索內核頭文件),結果說我已經安裝了頭文件。不知道在哪裏尋找他們。 – Thirdeye

+1

您的兩個查詢應作爲評論發佈,而不是作爲答案。順便說一下,Ubuntu不是*「一個Gentoo的原創」[原文如此] *;這是一個着名的基於Debian的發行版。 – sawdust

+0

這是一個錯字,道歉。我的意思是sabayon是gentoo的衍生產品,而不是Ubuntu是gentoo的衍生產品。拉米羅森 –