왜 /dev/rtc는 x86에서 잘 알려진 "c 10 135" 장치가 아니고 문서화되지 않은 마법의 "c 254 0" 장치입니까? Devices.txt에는 이 주요 번호가 "로컬/실험적 사용"으로 나열됩니다.
저는 Buildroot 커스텀 보드를 개발 중입니다.
답변1
RTC 하위 시스템은 적어도 2006년 이후 대대적인 재설계를 거쳤으며 그 이후로는 정적으로 할당된 주요 번호가 없습니다. 이는 Linux 커널의 다양한 장치 드라이버 사이에서 상당히 큰 추세입니다( device-mapper
예: 장치 번호 영역을 동적으로 할당). 그 이유는 커널에 사용 가능한 드라이버가 너무 많아서 지원되는 각 장치에 대해 장치 번호 범위를 정적으로 할당하는 것이 불가능하기 때문입니다. 단순히 충분하지 않기 때문에(단지 256개의 장치 주요 번호) 기존 대표번호를 재사용해야 합니다.
편집하다:여기에서 장치에 할당된 장치 번호 쌍을 읽을 수 있습니다 /sys/class/rtc/rtc0/dev
.