Ожидание заполнения /dev/disk/by-label после вставки SD
У меня есть скрипт bash, выполняющий некоторую инициализацию на съемной SD-карте (я думаю, проблема будет такой же для любого съемного хранилища). Конкретное поведение зависит от форматирования карты, в частности от доступных меток fs.
Для этого мне нужно запросить вставку SD, а затем подождать, пока udev подхватит и заполнит /dev/*
Я могу попытаться ускорить процесс, явно вызвав partprobe, но мне все еще приходится ждать (иногда до 10 секунд!), Чтобы получить /dev/by-label/ subdir для заполнения.
Как я могу ускорить это?
Есть ли какой-нибудь способ явно вызвать udev и ждать завершения?
1 ответ
Очень грубый сценарий bash может быть следующим:
sudo partprobe
count=0
while [ ! -L /dev/disk/by-label/root ]
do
if ((count > 10))
then
echo "ERROR: unable to find root's label!"
exit 1
fi
sleep 1
count=$((count++))
done
Не стесняйтесь улучшать.