Mil*_*avi 2 linux debian kernel-modules
在 Debian 中,当我想编译我的内核模块时,我需要安装linux-header-*软件包,然后我需要编写makefile如下代码:
obj-m := hello.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
Run Code Online (Sandbox Code Playgroud)
但是现在我已经从 kernel.org 下载了特定的 kenel 并编译它。那么我怎样才能解决我的KDIR变量makefile?
我想知道,Debian 维护者如何创建linux-header-*软件包?
你不必。
KDIR := /lib/modules/$(shell uname -r)/build
Run Code Online (Sandbox Code Playgroud)
假设您正在为当前运行的内核构建一个模块,因为它用于$(shell uname -r)完成路径。当您构建内核并运行 时make modules_install,模块被复制到相应的目录中/lib/modules——这将匹配该uname -r内核的输出。
该build子目录是内核源代码树的链接。所以不要抹去,很明显。
如果您正在编译与运行内核不同的内核,只需将其设置KDIR为构建它的源目录。
| 归档时间: |
|
| 查看次数: |
4403 次 |
| 最近记录: |