Linux/Linux_Device_Drivers

character device driver - allocating fixed number of major number (메이저 넘버 강제 - 고정 - 할당)

Roien 2015. 5. 31.
반응형
major number를 강제 할당 하는 방법

1) kernel/include/uapi/linux로 이동

major.h를 editor에서 open


#define LBA_MAJOR 240    <-- 이것이 마지막 번호라면, 


다음과 같이 2개의 majro number를 추가


#define MY_1_MAJOR  (SCSI_OSD_MAJOR + 1)
#define MY_2_MAJOR   (G2_HANTRODEC_MAJOR + 1)



2) driver_1/driver_1.c major number 설정 부분 수정


#include <linux/major.h>   <- 추가


int __init driver_1_init(void)
{
...
my_1_major = MY_1_MAJOR;    <-- 추가
result = register_chrdev(my_1_major, "driver_1", &my_1_fops);
...
}


3) driver_2/driver_2.c major number 설정 부분 수정

#include <linux/major.h>    <-- 추가


int __init driver_2_init(void) {
{
...
driver_2_major = MY_2_MAJOR;    <-- 추가
result = register_chrdev(driver_2_major, "driver_2", &driver_2_fops);
...
}



2. mknod는 다음과 같이 고정된 major number로 수행

mknod /dev/driver_1 c 241 0
mknod /dev/driver_2 c 242 0



반응형

댓글