我正在构建一个基于 Gentoo 的嵌入式 Linux 系统。使用 udev,所有 tty 设备都会通过一个PROGRAM
节进行探测,以确定它们是否是调制解调器。
现在系统以 64 启动/dev/tty*
。当 udev 探测 tty 设备时,系统内存不足。
如何将生成的 tty 设备数量减少到 4 个?这是操作系统设置还是内核设置?
答案1
我不确定设备节点是如何创建的(即导致它们创建的确切事件顺序),但我很确定内核在内部为 63 个/dev/ttyN
设备(加上/dev/tty
)创建了底层设备,并udev
执行使它们在内部可用的工作/dev
(除了/dev/tty
和由with/dev/tty1
创建的)。/etc/init.d/udev-mount
mknod
我不认为你可以通过配置限制内核设备的数量。
如果您想限制出现在您的计算机上的设备数量,这里有一个解决方法/dev
。创建一个/etc/udev/rules.d/99-my-tty-rules.rules
文件并在其中放入以下内容:
KERNEL=="tty[2-9][0-9]", RUN="/bin/rm /dev/%k", OPTIONS+="ignore_device"
这将删除tty
编号为 20 及以上的设备文件。
笔记:
- 在那里使用
rm
看起来很奇怪,但我找不到办法不创造第一个节点 - 过于热情地使用这些条目可能会导致有趣的问题 - 谨慎使用。