리눅스2015.08.09 14:38

* udev (userspace device) 란?

– Linux kernel 2.6 이상 부터 지원하는 기능으로, 디바이스 연결시 디바이스 드라이버와 연계하여 자동으로 디바이스 노드(/dev/xxx) 를  생성/제거하게 Control할 수 있는 기능이다.

* udev 동작 방법

1. 시스템 부팅시 udevd(udev daemon)가 각 rules 파일들을 읽고, 메모리에 규칙사항들을 저장하게 된다.

2. 커널 모듈이 장치를 등록하게 되면(디바이스 연결/해제) 그 장치들이 /sys 디렉토리에 마운트 된 sysfs 파일시스템에 나타나게 된다.

3. 등록된 장치에서 변화(연결/해제 등)가 발생하게 되면 kernel에서 event(uevent)를 보내주게 되며, udevd 프로그램이 메모리상의 규칙사항을 실행하게 된다.

* udev rules 파일 경로

1. PATH : /lib/udev/rules.d

=> default 규칙이 정의되어 있다. (수정 하지 말자)

2. PATH : /dev/.udev/rules.d/*.rules

=> 임시로 정의되어 사용되는 rules를 정의할 수 있다. (수정 하지 말자)

3. PATH : /etc/udev/rules.d/*.rules

=> 사용자가 custom하게 정의해서 사용할 수 있는 부분이다.

* rules 파일 정의

–  /rules.d/ 경로 안에 존재하는 파일은 반드시 *.rules  파일 형태여야 한다. (이외 파일은 무시된다.)

– 위 PATH에 존재하는 모든 .rules 파일은 디렉토리에 관계없이 어휘 순서대로 정렬 된다.

1
2
3
다른디렉토리와 /etc/udev/rules.d 경로에 동일한 파일명이 존재할 경우,
강/etc/udev/rules.d 경로에 위치하는 파일의 우선순위가 더 높게 실행된다.


* udev rules 사용 예제

– usb 연결시 특정 파일이 실행되게끔 하고 싶으면, 적당한 파일을 하나 만든 후에 아래 문구를 추가하자.

– 자세한 문법은 아래 사이트들을 참고 하자

* 참고

http://docs.oracle.com/cd/E37670_01/E41138/html/ch07s03.html

http://lshsblog.blogspot.kr/2011/01/udev.html

https://access.redhat.com/documentation/ko-KR/Red_Hat_Enterprise_Linux/6/html/Logical_Volume_Manager_Administration/udev_device_manager.html



Posted by 목가

댓글을 달아 주세요