mdev 란 무엇이며 Linux에서 / dev / * 노드를 만드는 방법은 무엇입니까?


11

Linux 커널은 busybox가있는 임베디드 MIPS 프로세서에서 실행되는 2.6.31입니다.

초기화 스크립트 (rcS)는 다음과 같이 mdev를 시작합니다.

echo "/sbin/stbhotplug" > /proc/sys/kernel/hotplug
mdev -s

누구든지 리눅스 유틸리티 mdev가 무엇을 말해 줄 수 있습니까?

stbhotplug는 이더넷 인터페이스를 처리하는 스크립트이므로 자동 핫 플러깅을 수행하는 것처럼 보입니다.

또한 우리가 제공 한 rootfs에는 콘솔 장치 /dev/console만 있습니다 /dev. 즉 의 유일한 파일입니다 .

그러나 시스템이 실행 중일 때 /dev디렉토리에는 장치 파일 (예 : /dev/mtd등) 이 가득합니다 .

내가 묻는 이유는 때때로 /dev/ubi_ctrl발견되지 않거나 발견되지 않은 오류가 발생하기 때문입니다 /dev/ubi1.

Linux는 언제 어떻게 이러한 장치를 생성합니까?

감사.

답변:



6

mdev는 임베디드 장치에서 사용하기위한 udev의 경량 대안입니다. 둘 다 /dev특정 이벤트가 발생할 때 장치 파일 작성 및 조치 시작을 처리합니다 .


따라서 /dev장치를 만들지 않는 경우 문제가 mdev있거나 타이밍 문제 가 될 수 있습니까?

예, 내가 이해하는 한 둘 다 사실 일 수 있습니다. 그러나 나는 어제 뉴스 기사에서 mdev에 대해 읽었 기 때문에 답을 썼습니다. 일반적으로 나는 그것에 대한 경험이 없으며 더 이상의 도움을 줄 수 없습니다. 그래서 커뮤니티 위키 답변에 대한 킥 스타트로 답변을 게시했습니다.

1

mdev기본적으로 mknod사전 구성된 장치 파일 세트를 호출 합니다.

선택 사항이 있으면 대신 사용하십시오.

CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y

/programming/5970595/how-to-create-a-device-node-from에 표시된 것처럼 특수 devtmpfs 파일 시스템을에 자동으로 마운트하고 /dev모듈이에 자신의 장치 파일을 자동으로 만들 수 있도록합니다 insmod. -초기-모듈-코드-어-리눅스-커널-모듈 / 45531867 # 45531867

이것이 기본적으로 Buildroot 및 대부분의 배포판이 현재 수행하는 작업입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.