[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: "udev" trouble solved, device names, udev exonerated



[This message has also been posted to linux.debian.user.]
In article <891LZ-2XD-121@gated-at.bofh.it>, cls@truffula.sj.ca.us wrote:
> [This message has also been posted to linux.debian.user.]
>
> I've revved four machines from Sarge to Etch now,
> following the release notes and letting it replace
> devfs with udev.  All worked fine.
>
> The fifth machine [with an empty PCI card disk controller] was a mess.
The main drive's name changed from hda to hde.
Other drives changed, too.


> Begin: Waiting for root file system...
>  (here it hangs for about a minute)
> Done.
>        Check root= bootarg cat /proc/cmdline
>        or missing modules, devices: cat /proc/modules ls /dev

The advice from Andrew <891MC-2XD-197@gated-at.bofh.it>
and Kevin <895Fb-xz-13@gated-at.bofh.it> was valid.

Apparently what really happened here is a change in
what the kernel does with the information from BIOS,
somewhere between kernels 2.6.8 and 2.6.18.  The empty PCI
card wasn't being counted before, and now it is.
As Douglas pointed out, the change to udev was only
a coincidence.
Andrew suggested removing the unused card, a quick,
temporary fix.  Kevin suggested locking down the
partition assignments using the UUID associated with
a partition.  That works, and survives adding and
removing controllers.  You can also give the file
systems labels with e2label(8).

So it seems device names can no longer be relied on
to stay the same when you add in new devices, and the
workaround is to use labels and let the kernel search
for them at mount time.  It seems to me this will be
a problem until the various distributions' installers
start using file system labels or UUIDs instead
of device names in /etc/fstab and /boot/grub/menu.lst.
It would also be a problem if you have devices you
don't want the kernel searching in.


# The /etc/fstab syntax is
# partition     mountpt FStype  options              dump pass
LABEL=my-pata-root  /  ext2  defaults,errors=remount-ro  0 1


# The /boot/grub/menu.lst syntax is
title   2.6.18-4-686 using labels not /dev/names, udev not devfs
root    (hd0,0)
kernel  /boot/vmlinuz-2.6.18-4-686 root=LABEL=my-pata-root ro devfs=nomount
initrd  /boot/initrd.img-2.6.18-4-686


Cameron



Reply to: