为什么 RTC 设备的 Major、Minor 数字是 254,0 而不是 10,135?

为什么 RTC 设备的 Major、Minor 数字是 254,0 而不是 10,135?

为什么 /dev/rtc 不是 x86 上众所周知的“c 10 135”设备,而是一个神奇的未记录的“c 254 0”设备? Devices.txt 将此主要编号列为“本地/实验使用”。

我正在开发一个 buildroot 定制板。

答案1

RTC 子系统至少从 2006 年起就经历了一次重大的重新设计,从那时起,现在就没有静态分配的主编号了。这是 Linux 内核中各种设备驱动程序的一个相当大的趋势(device-mapper例如也动态分配其设备号区域)。这背后的原因是,内核中存在大量可用驱动程序,因此不可能为每个受支持的设备静态分配一个设备编号区域:根本不够(只有 256 个设备主编号),因此您必须重新使用现有的主号码。

编辑:您可以从 中读取分配给设备的设备编号对/sys/class/rtc/rtc0/dev

相关内容