udev:特定のデバイスがシェルスクリプトに表示されるのを待つ方法

udev:特定のデバイスがシェルスクリプトに表示されるのを待つ方法

rootfsパーティションにoverridefsをマウントし、新しいマージファイルシステムにswitch_rootをマウントする必要がある小さなinitramfsを含む組み込みシステムがあります。

これはinitシェルスクリプトで実行するいくつかのタスクなので、システム全体のインフラストラクチャを取得したくはありませんが、関連するすべてのブロックデバイスがシステムにすでに存在することを確認または表示するのを待ちたいと思います。 。 initramfsにsystemd-udevdコンポーネントを追加しました(同じ結果が得られた場合はeudevに切り替えることも検討しました)。

例が見つからないか、udevadmを使用して特定のデバイスが表示されるまでブロックして待機する方法を見つけることはできません。 udevadmトリガーとソリューションを組み合わせると効果があるようですが、私の場合はどの組み合わせも機能しないようです。

私はCのlibudevやPythonのpyudevを使って簡単にコーディングすることができましたが、既存のツールを使ってこれを達成する方法があるべきだと思いました。

与えられたファイルがすでに存在するかどうかを手動で確認するために忙しく待つことを避けたいと思います。

関連情報