Bug#597553: cdrom-detect: Need a simple retry or delay to mount USB CD-ROMs
Okay, I've got some more info now. It looks like the initial call to
"list-devices cd" occurs before the usb-storage device scan is complete
or at least before the sysfs files have settled. This device scan can
take much longer if the CD/DVD drive is completely spun down.
I am not proud of this code and I sincerely hope someone else can think
of a better way to do this...
--- cdrom-detect.postinst.orig 2010-09-21 19:20:44.000000000 +0000
+++ cdrom-detect.postinst 2010-09-21 19:19:29.000000000 +0000
@@ -73,6 +73,19 @@
mkdir /cdrom 2>/dev/null || true
+# Need to wait for the usb device scan to complete
+if [ "$OS" == "linux" ]; then
+ for count in 1 2 3 4 5 6 8 9 10; do
+ devices="$(list-devices cd; list-devices maybe-usb-floppy)"
+ log "Devices: '$devices'"
+ if [ -n "$devices" ]; then
+ break 2
+ else
+ sleep 1
+ fi
+ done
+fi
+
while true; do
WRONG=
Again, steps to reproduce (so someone other than me can test this):
1) Boot install CD on external USB CD-ROM drive (preferably bus powered)
2) Wait for a minute or two for the drive to spin down / go to sleep
3) Hit Enter to install Debian
Tony
Reply to: