У меня на eeepc в качестве дополнительного диска стоит USB flash, которая смонтирована как /usr. По этому для нормальной работы пришлось патчить /etc/rc.d/rc.sysinit: *** 136,141 **** --- 136,144 ---- # Set the system clock (when /etc/adjtime is missing) [ -s /etc/adjtime ] || /etc/init.d/clock start + # Pause for USB + action "Wainting for USB:" sleep 5 + # Activate swap action "Activating swap partitions:" swapon -a -e Правильнее в /etc/rc.d/rc.sysinit ввести какой-нить параметр задержки в секундах, который по умолчанию равен 0 (задержки на опрос USB устройств нет), а в этом скрипте его проверять.
(В ответ на комментарий №0) параметр delay_use для модуля usb-storage не помогает?
Я бы попробовал, если б знал где этот параметр установить. Да и на вскидку, помочь не должен. Там происходит формирование каталога /dev, и далее сразу монтирование устройств. Понятное дело udev просто не успевает всё опросить. т.е. система в этот момент ещё не в курсе, что подключена флешка и соответственно модуль usb-storage ещё не запущен.
#modinfo usb-storage G parm: parm: option_zero_cd:ZeroCD mode (1=Force Modem (default), 2=Allow CD-Rom (uint) parm: swi_tru_install:TRU-Install mode (1=Full Logic (def), 2=Force CD-Rom, 3=Force Modem) (uint) parm: delay_use:seconds to delay before using a new device (uint) parm: quirks:supplemental list of device IDs and their quirks (string)
Я оказался прав После echo "options usb-storage delay_use=10" | sudo dd of=/etc/modprobe.d/usbup_test мою задержку в /etc/rc.d/rc.sysinit пришлось увеличить до 15 Такое решение не подходит
Можно ещё парсить fstab в ожидании появления всех прописанных там устройств. Естественно предусмотреть тайм аут такого ожидания скажем в 30 секунд. Это чуть сложнее, но зато правильнее -- ожидание будет автоматически минимально-оптимальное
Created attachment 4627 [details] патч добавления задержки Вариант опроса USB с ожиданием пока не появятся устройства, которые по fstab должны подключаться во время загрузки
(В ответ на комментарий №4) > Я оказался прав > > После > echo "options usb-storage delay_use=10" | sudo dd of=/etc/modprobe.d/usbup_test > мою задержку в /etc/rc.d/rc.sysinit пришлось увеличить до 15 > > Такое решение не подходит Вообще-то я имел ввиду delay_use=0 (потому что по-умолчанию этот параметр равен 5)
(В ответ на комментарий №7) > (В ответ на комментарий №4) > > Я оказался прав > > > > После > > echo "options usb-storage delay_use=10" | sudo dd of=/etc/modprobe.d/usbup_test > > мою задержку в /etc/rc.d/rc.sysinit пришлось увеличить до 15 > > > > Такое решение не подходит > > Вообще-то я имел ввиду delay_use=0 (потому что по-умолчанию этот параметр равен > 5) похоже сейчас по умолчанию 0 После модификации патчем, во время работы скрипта на экран выводится счётчик секунд. Чаще всего задержка не отрабатывает (на ядре 35), иногда требуется 1-3с, а если подключен USB-CDROM -- до 6-7. При этом, мой патч USB-CDROM не ждёт -- застревает на другом устройстве. Там многое зависит в каком порядке зарегистрировались устройства, а порядок этот часто меняется.
Мне usb-storage.delay_use=0 помог, спасибо led@! Может закроем как WORKSFORME?
Следую предложению Ленар.