用户模式Linux - 安装模块错误

时间:2010-03-21 20:39:10

标签: linux-kernel kernel kernel-module user-mode-linux

我正在尝试在用户模式Linux中的模块上运行'make'来安装一个简单的makefile。这是我的make文件:

obj-m    := hello.o

KDIR    := /lib/modules/$(shell uname -r)/build
PWD    := $(shell pwd)

default:
    $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules

当我在用户模式Linux中运行时,我收到以下错误:

make[1]: Entering directory `/lib/modules/2.6.28/build'
make[1]: *** No rule to make target `modules'.  Stop.
make[1]: Leaving directory `/lib/modules/2.6.28/build'
make: *** [default] Error 2

问题是/lib/modules/下没有文件。 2.6.28或build没有目录。根据我的阅读,这些应该是/usr/src的符号链接,但在/usr/src下,我也看不到任何文件。

2 个答案:

答案 0 :(得分:1)

必须使用UML内核的源代码和头文件为它编译模块。

您可以在UML内部或仅在主系统中编译它,但您必须使用UML的内核头文件并构建脚本

答案 1 :(得分:0)

您需要构建并安装正在编译的内核版本。从kernel.org获取源代码,配置(我认为make menuconfig从正在运行的内核中选择配置),构建并安装它。你可以在普通用户的主目录下进行构建,当然你需要root来安装它。

编辑:

万一你错过了这个 - 这里是User Mode Linux HOWTO。它包含用于构建和安装内核和模块的特定项。希望这会有所帮助。