Hi Hector, On Tue, May 17, 2011 at 1:19 PM, Hector Martinez-Seara <hseara@gmail.com> wrote:
After the last kernel update (I guess) I cannot boot my system if a external usb disk is present in /etc/fstab. I use default fstab mount options for the disks and they have each a single 1GB ext4 partition. Note that the disk mount okay when mounted from the command line after booting. Two identical disks has been tested with the same result so is not a hardware problem. The disks tested are two Western digital 1TB Essential Edition 2.0 (Model: wd10000h1u).
In fact this problem was happening very seldom before (1 every 100 reboots) due to to the waking up time of the devices but now it is every boot (only once worked). My question is: Has any thing changed regarding the usb at boot time lately in the kernel? In fact, I have notice a considerable speed up in the booting sequence up to the point where the file system checking is done. Maybe the changes to speed up the booting process have something to do with the problem I'm having?
In my case it looks like nothing is been asked to my external drives when checking the filesystems at boot. Just after, the system fails claiming that it has not found the disks. In the past (two days ago), some activity in ligths and spining up sound was present when the system was checking the filesystems, but now everything is quiet.
It is anybody else having the same problem?
In the meanwhile, as I do not use this disk for booting I have add the nofail option to the fstab for the two disks. Now obviously everything works but the drives are not mounted. Does anybody know the best place to add the mount commands for the drives so they are always accessible for the users after boot?
There is currently a problem with the latest udev in that it does not settle properly (i.e., it does not wait for dirvers to be loaded before continuing). This most noticeable affects people using usb drives or kernels without devtmpfs. Please try: <http://www.pps.jussieu.fr/~teg/udev-168-2-x86_64.pkg.tar.xz> to see if the problem is solved for you, and report back at <https://bugs.archlinux.org/task/24288>. (assuming you are on x86_64, I'll do i686 tonight). That said, there is a fundamental problem with usb drives, so we cannot reliably mount them at boot (it probably will work in practice though). The problem is that there is no way to know when all usb devices have been enumerated (even if the drivers are loaded), so we don't know how long to wait before trying to mount them. This is the kind of problems solved by systemd (in community), and it is out of scope for the standard sysvinit initscripts (unless there is a solution that I am not aware of). Cheers, Tom