Add example kernel module
This commit is contained in:
		
							
								
								
									
										14
									
								
								examples/kernel-module/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								examples/kernel-module/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | |||||||
|  | .*.cmd | ||||||
|  | .tmp_versions | ||||||
|  | Module.symvers | ||||||
|  | *.ko | ||||||
|  | *.mod.c | ||||||
|  | *.o.d | ||||||
|  | *.o | ||||||
|  | modules.order | ||||||
|  | *.gcno | ||||||
|  | .#* | ||||||
|  | GPATH | ||||||
|  | GRTAGS | ||||||
|  | GTAGS | ||||||
|  | .cache.mk | ||||||
							
								
								
									
										17
									
								
								examples/kernel-module/.out-of-tree.toml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								examples/kernel-module/.out-of-tree.toml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | |||||||
|  | # out-of-tree configuration file | ||||||
|  | # docs at https://out-of-tree.io | ||||||
|  | name = "out-of-tree module example" | ||||||
|  | type = "module" | ||||||
|  |  | ||||||
|  | [[supported_kernels]] | ||||||
|  | # Can be Ubuntu/CentOS/Debian/etc. | ||||||
|  | distro_type = "Ubuntu" | ||||||
|  | # regex for `uname -r` | ||||||
|  | # See also: regex-golang.appspot.com | ||||||
|  | release_mask = "4.4.0-70-.*" | ||||||
|  |  | ||||||
|  | # [[supported_kernels]] may be defined unlimited number of times | ||||||
|  | [[supported_kernels]] | ||||||
|  | distro_type = "Ubuntu" | ||||||
|  | # Also you can use only one kernel | ||||||
|  | release_mask = "4.15.0-29-generic" | ||||||
							
								
								
									
										15
									
								
								examples/kernel-module/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								examples/kernel-module/Makefile
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | |||||||
|  | # out-of-tree called make with two arguments -- kernel headers path and name | ||||||
|  | # of target binary that MUST be produced by makefile | ||||||
|  | # e.g.: | ||||||
|  | #    make KERNEL=/lib/modules/4.8.0-58-generic/build TARGET=hello-world.ko | ||||||
|  | KERNEL := /lib/modules/$(shell uname -r)/build | ||||||
|  | TARGET := out-of-tree-module-example | ||||||
|  |  | ||||||
|  | obj-m += $(TARGET).o | ||||||
|  | $(TARGET)-objs = module.o | ||||||
|  |  | ||||||
|  | all: | ||||||
|  | 	make -C $(KERNEL) M=$(PWD) modules | ||||||
|  |  | ||||||
|  | clean: | ||||||
|  | 	make -C $(KERNEL) M=$(PWD) clean | ||||||
							
								
								
									
										3
									
								
								examples/kernel-module/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								examples/kernel-module/README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | |||||||
|  | # out-of-tree kernel module example | ||||||
|  |  | ||||||
|  | See .out-of-tree.toml | ||||||
							
								
								
									
										13
									
								
								examples/kernel-module/module.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								examples/kernel-module/module.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | |||||||
|  | #include <linux/module.h> | ||||||
|  | #include <linux/kernel.h> | ||||||
|  |  | ||||||
|  | int init_module(void) | ||||||
|  | { | ||||||
|  | 	return 0; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void cleanup_module(void) | ||||||
|  | { | ||||||
|  | } | ||||||
|  |  | ||||||
|  | MODULE_LICENSE("GPL"); | ||||||
		Reference in New Issue
	
	Block a user