Skip to content

Commit 300d476

Browse files
committed
Fix dkms builds for linux 6.10 and above
1 parent c7d72fd commit 300d476

File tree

5 files changed

+48
-40
lines changed

5 files changed

+48
-40
lines changed

.gitignore

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
1-
build
1+
*.o
2+
.*.cmd
3+
*.symvers
4+
*.ko
5+
*.mod.c
6+
*.mod
7+
*.order
28
*.out
39
*.swp
410
target

Makefile

Lines changed: 4 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,6 @@
1-
obj-y += memflow-kmod/
2-
3-
MCFLAGS += -O3
4-
ccflags-y += ${MCFLAGS}
5-
CC += ${MCFLAGS}
6-
7-
ifndef KERNELDIR
8-
KDIR := /lib/modules/$(shell uname -r)/build
9-
else
10-
KDIR := $(KERNELDIR)
11-
endif
12-
13-
ifndef OUT_DIR
14-
KOUTPUT := $(PWD)/build
15-
else
16-
KOUTPUT := $(OUT_DIR)
17-
endif
18-
19-
KOUTPUT_MAKEFILE := $(KOUTPUT)/Makefile
20-
21-
all: $(KOUTPUT_MAKEFILE)
22-
@echo "$(KOUTPUT)"
23-
24-
make -C $(KDIR) M=$(KOUTPUT) src=$(PWD)/memflow-kmod modules
25-
26-
$(KOUTPUT):
27-
mkdir -p "$@"
28-
29-
$(KOUTPUT_MAKEFILE): $(KOUTPUT)
30-
touch "$@"
1+
all:
2+
cd memflow-kmod && make all
313

324
clean:
33-
make -C $(KDIR) M=$(KOUTPUT) src=$(PWD)/memflow-kmod clean
34-
$(shell rm $(KOUTPUT_MAKEFILE))
35-
rmdir $(KOUTPUT)
5+
cd memflow-kmod && make clean
6+

README.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ KERNEL=="memflow" SUBSYSTEM=="misc" GROUP="memflow" MODE="0660"
5858
```
5959

6060

61-
## Manually installing
61+
## Manual installation
6262

6363
#### Connector
6464

@@ -72,12 +72,20 @@ Initialize submodules:
7272
git submodule update --init
7373
```
7474

75-
Run `make`. output will be placed in `build/memflow.ko`.
75+
Run `make`. output will be placed in `memflow-kmod/memflow.ko`.
7676

77-
To then install the built module run
77+
Then to install the module:
78+
```
79+
source dkms.conf
80+
sudo mkdir /usr/src/$BUILT_MODULE_NAME-$PACKAGE_VERSION
81+
sudo cp -r * /usr/src/$BUILT_MODULE_NAME-$PACKAGE_VERSION
82+
sudo dkms build -m $BUILT_MODULE_NAME -v $PACKAGE_VERSION
83+
sudo dkms install -m $BUILT_MODULE_NAME -v $PACKAGE_VERSION
84+
```
7885

86+
Then you can load the module:
7987
```
80-
memflowup build --name memflow-kvm --script install.rhai
88+
sudo modprobe memflow
8189
```
8290

8391
## FAQ

dkms.conf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
MAKE="make KERNELDIR=/lib/modules/${kernelver}/build"
22
CLEAN="make clean"
33
BUILT_MODULE_NAME=memflow
4-
BUILT_MODULE_LOCATION=build/
4+
BUILT_MODULE_LOCATION=memflow-kmod/
55
DEST_MODULE_LOCATION="/updates"
66
PACKAGE_NAME=memflow-dkms
7-
PACKAGE_VERSION=0.1.7
7+
PACKAGE_VERSION=0.1.8
88
REMAKE_INITRD=no
99
AUTOINSTALL=yes

memflow-kmod/Makefile

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
obj-y += memflow-kmod/
2+
3+
MCFLAGS += -O3
4+
ccflags-y += ${MCFLAGS}
5+
CC += ${MCFLAGS}
6+
7+
ifndef KERNELDIR
8+
KDIR := /lib/modules/$(shell uname -r)/build
9+
else
10+
KDIR := $(KERNELDIR)
11+
endif
12+
13+
KOUTPUT := $(PWD)
14+
15+
all:
16+
@echo "$(KOUTPUT)"
17+
make -C $(KDIR) M=$(KOUTPUT) src=$(PWD) modules
18+
19+
clean:
20+
make -C $(KDIR) M=$(KOUTPUT) src=$(PWD) clean
21+
rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c
22+
rm -f Module.markers Module.symvers modules.order
23+
rm -rf .tmp_versions Modules.symvers

0 commit comments

Comments
 (0)