From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jens Dreger Date: Thu, 18 May 2006 11:15:45 +0000 Subject: Re: /dev/disk/by-label/* not populated by initrd Message-Id: <20060518111545.GP12875@smart.physik.fu-berlin.de> List-Id: References: <20060517145820.GK12875@smart.physik.fu-berlin.de> In-Reply-To: <20060517145820.GK12875@smart.physik.fu-berlin.de> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-hotplug@vger.kernel.org On Wed, May 17, 2006 at 09:30:28AM -0700, Greg KH wrote: > On Wed, May 17, 2006 at 04:58:20PM +0200, Jens Dreger wrote: > > Hi! > > > > A few days ago I installed debian/testing amd64 on one of our servers > > to test some 64bit stuff. Upon bootup the machine loaded the SAN > > modules (qla*) before the modules for the system disk, so it didn't > > make it. I could fix this by blacklisting the modules. > > > > After reading up on udev I understood that I am supposed to write > > some rules which make sure the system disks get's a persistent > > name. So I gave the disk a label and udevtest shows that it would be > > assigned: > > > > root@zs11:~> udevtest /block/sda/sda1 | grep label > > udev_rules_get_name: add symlink 'disk/by-label/zs11_system' > > create_node: creating symlink '/dev/disk/by-label/zs11_system' to '../../sda1' > > > > The problem is that this does not work inside initrd, but I obviously > > need that link for the rootfs. I unpacked the initrd and init has > > support for this: > > > > root@zs11:/boot/initrd.img-2.6.15-1-amd64-generic.unpack> grep LABEL init > > LABEL=*) > > ROOT="/dev/disk/by-label/${ROOT#LABEL=}" > > > > Booting with kernel-commandline root=LABEL=zs11_system didn't work. > > > > I copied udevtest to the initrd. It shows: > > > > [...] > > main: looking at device '/block/sda/sda1' from subsystem 'block' > > udev_rules_get_name: no node name set, will use kernel name 'sda1' > > lookup_group: specified group unknown 'disk' > > create_node: creating device node '/dev/sda1', major = '8', minor = '1', mode = '0660', uid = '0', gid = '0' > > main: run: 'socket:/org/kernel/udev/monitor' > > [...] > > > > I know that this is probably a debian issue > > Yes, it is. Indeed: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug52753 > > but I would like to know how to debug this further. > > Try putting the rules and helper scripts that create the by-label/ > symlinks into the initrd so that udev can create them. Yes, this is somewhat obvious. I thought this to be the case since mkinitramfs copies /etc/udev/* to the initrd. But: root@zs11:~> grep persistent /usr/share/initramfs-tools/hooks/udev rm -f $DESTDIR/etc/udev/rules.d/z20_persistent.rules # XXX #352753 I upgraded to 0.091-2 and this line is gone. For the record: I can now boot from the internal disk using the disklabel with and without SAN attached. 1) label system disk: e2label /dev/sda1 zs11_system 2) change /boot/grub/menu.lst entry: root=/dev/sda1 -> root=LABEL=zs11_system 3) change /etc/fstab entry: /dev/sda1 -> LABEL=zs11_system For some reason the internal disk now after the update always gets assigned first (becomes /dev/sda) and SAN starts at /dev/sdb. Order on PCI-Bus hasn't changed. Maybe another fix ? :) Regards, Jens. -- Jens Dreger Freie Universitaet Berlin dreger@physik.fu-berlin.de Fachbereich Physik - ZEDV Tel: +49 30 83854774 Arnimallee 14 Fax: +49 30 83855902 14195 Berlin ------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid0709&bid&3057&dat1642 _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net Linux-hotplug-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel