Полагаю, проблема возникает из-за того, что к моменту поиска pup sfs, система не успевает сделать mount -t usbfs none /proc/bus/usb. Для этого исходно был добавлен параметр $WAITUSB, который заставлял процедуру поиска дожидаться, пока usb не будет примонтирован. Так как это неоправданно замедляет загрузку, в случае, если мы грузимся не с USB, а с PCI, то было решено устанавливать $WAITUSB на основании значения $PMEDIA:
Старый вызов, сканирующий сообщения ядра (по сути, анализирующий шины)
311: if [ "`/bin/dmesg | grep -E '^uhci|^ohci|^ehci'`" != "" ];then
был замен на новый, анализирующий $PMEDIA:
312: if [ "`echo "$PMEDIA" | grep 'usb'`" != "" ];then
Тогда есть возможные решения на выбор:
1. Добавить соответствующие опции в меню sysconfig (на выбор пользователя)
2. В случае, если (как в данном примере) pup sfs не найден, перезапускаем init со старым способом определения $WAITUSB. Или просто повторяем поиск после выполнения команд, следующих из $WAITUSB