没有为简单的 hello 模块制定目标的规则

no rule to make target for simple hello module

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

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

也在网上寻找解决方案,说我需要执行以下步骤

准备内核源代码 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'

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

**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

有人可以帮忙吗?

我终于找到了答案 - 缺少的部分是建立 系统 link

以下步骤解决了问题。

apt-get install linux-headers 
ln -s /usr/src/linux-headers-2.6.32-5-amd64/ /lib/modules/2.6.32-5-amd64/build

包含 Makefile 和源代码的目录被命名为 space。将 space 更改为下划线 (_)。工作了。