如何更改设备文件的主设备号和次设备号?

如何更改设备文件的主设备号和次设备号?

我目前正在使用嵌入式Linux板,需要使用串行端口,该端口由设备文件/dev/ttyS0表示。运行命令后ls -l,我观察到该设备的主设备号和次设备号分别为 247 和 0。然而,根据Linux 分配设备指南,这些数字应该是 4 和 64。我怎样才能将它们更改为正确的值?

答案1

您可能有一个不同的模块来创建设备,并且该模块确定主要和次要编号。使用命令

readlink /sys/dev/char/247\:0/device/driver
udevadm info -a -n /dev/ttyS0

找出哪个模块正在控制设备。它可能不是通常的 PNP 子系统和串行驱动程序。如果设备正常工作,那么应该没问题。如果不是,您将需要更多信息,也许来自dmesg并深入研究该模块。如果不更改内核模块,则无法更改设备号。

相关内容