udev: 특정 장치가 쉘 스크립트에 나타날 때까지 기다리는 방법

udev: 특정 장치가 쉘 스크립트에 나타날 때까지 기다리는 방법

rootfs 파티션에 overridefs를 마운트하고 새로운 병합 파일 시스템에 switch_root를 마운트해야 하는 작은 initramfs가 포함된 임베디드 시스템이 있습니다.

이는 init 셸 스크립트에서 실행하는 몇 가지 작업이므로 전체 시스템 인프라를 가져오고 싶지는 않지만 모든 관련 블록 장치가 시스템에 이미 있는지 확인하거나 표시될 때까지 기다리고 싶습니다. . initramfs에 systemd-udevd 구성 요소를 추가했습니다(동일한 결과를 얻을 수 있다면 eudev로 전환하는 것도 고려했습니다).

예제를 찾을 수 없거나 udevadm을 사용하여 특정 장치가 나타날 때까지 차단하고 기다리는 방법을 알아낼 수 없습니다. udevadm 트리거와 솔루션을 조합하면 효과가 있을 것 같지만 제 경우에는 어떤 조합도 작동하지 않는 것 같습니다.

C의 libudev나 Python의 pyudev를 사용하여 쉽게 코딩할 수 있었지만 기존 도구를 사용하여 이를 달성할 수 있는 방법이 있어야 한다고 생각했습니다.

주어진 파일이 이미 존재하는지 수동으로 확인하느라 바쁘게 기다리는 일을 피하고 싶습니다.

관련 정보