centos 下 Makefile 独立模块编译ko

1、安装编译内核环境包

编译需要用到kernel 源码,centos 下需先安装 kernel-devel 包,要下与自己kernel 对应版本

yum install kernel-devel

2、首先从内核或自己写的模块,发到编译环境中

```
注:就像我自己拷贝一个 bcache 驱动的目录,我就想单独编译它,要不然整体编译内核太费事、费时

3、制作编译Makefile

# SPDX-License-Identifier: GPL-2.0

CROSS_COMPILE=gcc
KDIR=/lib/modules/5.10.106-4/build

obj-m := bcache.o
bcache-objs += alloc.o bset.o btree.o closure.o debug.o extents.o\
	io.o journal.o movinggc.o request.o stats.o super.o sysfs.o trace.o\
	util.o writeback.o features.o

INCLUDE_DIRS := $(addprefix -I,$(shell find ../ -type d ))
ccflags-y:= -I$(_KDIR)/include/linux/ -I$(PWD)/
#ccflags-y += -Wno-declaration-after-statement

all:
	make ARCH=${ARCH} -C $(KDIR) M=$(PWD) modules

clean:
	make ARCH=${ARCH} -C $(KDIR) M=$(PWD) clean

4、make 编出 ko

centos 下 Makefile 独立模块编译ko_第1张图片

你可能感兴趣的:(linux,kernel,linux,kernel)