web-dev-qa-db-ja.com

生成される/ dev / ttyデバイスの数を変更します

Gentooをベースにした組み込みLinuxシステムを構築しています。 udevを使用すると、すべてのttyデバイスがPROGRAMスタンザでプローブされ、モデムであるかどうかが判別されます。

現在、システムは64 /dev/tty*で起動します。 udevがttyデバイスをプローブすると、システムのメモリが不足します。

製造されるttyデバイスの数を4に減らすにはどうすればよいですか?これはOS設定ですか、それともカーネル設定ですか?

4
David Pfeffer

デバイスノードがどのように作成されるか(つまり、それらの作成につながるイベントの正確なシーケンス)は正確にはわかりませんが、カーネルが63 /dev/ttyNデバイス(および/dev/tty)は内部的に、udevはそれらを/dev内で利用できるようにする作業を行います(/dev/ttyによって作成される/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"

これにより、20以上の番号が付けられたttyデバイスファイルが削除されます。

メモ

  • そこでrmを使用するのは本当に奇妙に見えますが、そもそもノードを作成しない方法を見つけることができません
  • これらのエントリを少し熱心に操作すると、興味深い問題が発生する可能性があります。注意して使用してください。
2
Mat