Major : 장치의 종류
장치의 Interface
어떤 장치 드라이버와 연관이 되어 있는지를 알려준다.
장치 드라이버를 찾아주는 역할
장치 드라이버를 찾아주는 역할
Minor: 실제 장치들에 대한 식별
실제 장치 구분
<hello_mod.c>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
int hello_init(void)
{
#include <linux/module.h>
#include <linux/init.h>
int hello_init(void)
{
printk("<0>Hello Module Loaded \n");
return 0;
return 0;
}
void hello_exit(void)
{
void hello_exit(void)
{
printk("<0>Hello Module Unloaded\n");
return ;
return ;
}
module_init(hello_init);
module_exit(hello_exit);
MODULE_LICENSE("GPL");
<Makefile>
obj := hello_mod.o
KDIR := /lib/modules/$(shell uname -r)/bild // directory module compile -> 모듈 설치
module_init(hello_init);
module_exit(hello_exit);
MODULE_LICENSE("GPL");
<Makefile>
obj := hello_mod.o
KDIR := /lib/modules/$(shell uname -r)/bild // directory module compile -> 모듈 설치
lib/moudles/ 해당 커널 버젼 Directory
PWD := $(shell pwd)
all :
all :
$(MAKE) -C (KIDR)SUBDIRS=$(PWD)modules
clean:
rm -f *.ko
rm -f *.mod.*
rm -f Mod.*
rm -f *.o
rm -f *.mod.*
rm -f Mod.*
rm -f *.o
#make
# insmod hello.ko
# lsmod | grep hello
# rmmod hello_mod
#lsmod |grep hello
dmesg | tail -2
Module shell Commands
# insmod hello.ko
# lsmod | grep hello
# rmmod hello_mod
#lsmod |grep hello
dmesg | tail -2
Module shell Commands
1) insmod (insert module)
2) rmmod (removemodule)
3) lsmod (list of module)
4) modprobe ( dependency of module)
- depmod에 위해서 생성
- module 적재와 관련된 명령어
5) depmod
- module's dependency 를 구축하기 위해 사용하는 모듈