没有规则可以为简单的 hello 模块设定目标

the*_*mer 2 linux makefile kernel-module

所以我正在尝试编写一个简单的 hello 模块,无需说新手:)

但是,在执行创建 make 文件的步骤时 - 我看到的是我在 uname -r/ build处没有 build 文件夹, 所以我创建了一个 - 如果我想下载,我不确定它本身应该是问题,而不是创建 build 文件夹一些包裹?

也在网上看有解决方案说我需要做以下步骤

prepare-kernel-sources cd /usr/src/linux - 现在我也没有 linux 文件夹 cp -rf include/generated/* include/linux/

make: Entering directory `/lib/modules/2.6.32-5-amd64/build'
make: *** No rule to make target `modules'.  Stop.
make: Leaving directory `/lib/modules/2.6.32-5-amd64/build'
Run Code Online (Sandbox Code Playgroud)

我尝试安装以下软件包 - 只有突出显示的软件包才会出现错误

**apt-get install linux-headers-$(uname -r)**  goes through
apt-get install Linux-headers-generic
apt-get install build-essentials
apt-cache search linux-headers-$(uname -r)
apt-get install kernel-source-$(uname -r)
**apt-get source linux-image-$(uname -r)**   goes through
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

the*_*mer 5

最后我找到了答案——缺少的部分是建立系统链接

下面的步骤解决了这个问题。

apt-get install linux-headers 
ln -s /usr/src/linux-headers-2.6.32-5-amd64/ /lib/modules/2.6.32-5-amd64/build
Run Code Online (Sandbox Code Playgroud)