Eu tenho um sistema embarcado com um minúsculo initramfs que precisa montar um overlayfs sobre a partição rootfs e switch_root para o novo sistema de arquivos mesclado.
São apenas algumas operações executadas a partir do script de inicialização, portanto, não quero extrair toda a infraestrutura do systemd, mas quero garantir que todos os dispositivos de bloco relevantes já estejam presentes no sistema ou aguardem a exibição deles. Eu adicionei o componente systemd-udevd ao meu initramfs (considerando mesmo a mudança para o eudev se eu conseguir obter os mesmos resultados).
Não consegui encontrar nenhum exemplo ou descobrir como usar o udevadm para bloquear e esperar até que um dispositivo específico seja exibido. Parece-me que alguma combinação do udevadm desencadear e resolver deve fazê-lo, mas nenhuma combinação pareceu funcionar no meu caso.
Eu posso codificá-lo facilmente usando o libudev em C ou pyudev em Python, mas acho que deve haver uma maneira de conseguir isso usando ferramentas existentes.
Eu preferiria evitar uma espera ocupada com a verificação manual se o arquivo já existir.