[arch-general] After the recent linux kernel update booting fails if usb disks are present in /etc/fstab

Tom Gundersen teg at jklm.no
Tue May 17 07:47:34 EDT 2011


Hi Hector,

On Tue, May 17, 2011 at 1:19 PM, Hector Martinez-Seara <hseara at 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


More information about the arch-general mailing list