From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Brendan Moran" Date: Tue, 29 Sep 2009 17:41:25 +0000 Subject: Re: Migrating from static /dev to udev Message-Id: <4AC246C5.1060108@broadcom.com> List-Id: References: <4ABD467F.7010901@broadcom.com> In-Reply-To: <4ABD467F.7010901@broadcom.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-hotplug@vger.kernel.org Alan Jenkins wrote: > On 9/28/09, Brendan Moran wrote: > >> Hi Alan, >> I'm using virtually the same startup script as is used in Ubuntu >> (attached). It only uses $udevadm trigger, with no arguments. >> > > Well, I'm sure you can narrow it down. You can always single-step the > init script on a running system to see what's happening. > It turns out it was pretty obvious: > -n Starting kernel event manager... > . > -n Loading hardware drivers... > [101] udev_monitor_enable_receiving: bind failed: No such file or > directory > error initializing netlink socket > [101] main: error initializing netlink socket > udevadm[102]: bind failed: No such file or directory > > error: unable to subscribe to udev events Checking the source, it appears that having udev_monitor_enable_receiving fail means that udev_monitor_new_from_netlink() is already failing. I imagine that I'm missing a kernel config option, but I'm not sure what it is. >> I didn't >> expect that permissions would be an issue, as this system is running in >> single user mode. >> >> Mounting /dev as a tmpfs makes perfect sense to me, however I'll have to >> do some hacking before I can modify that. >> > > ? > if [ -z $DEVMOUNT ]; then > # initramfs didn't mount /dev, so we'll need to do that > mount -n -t tmpfs -o mode55 udev /dev > fi > > This will definitely cause some problems if you hadn't noticed it and > left /lib/udev/devices empty. Udev relies on /dev/null being present > at startup. > > I think this is your main problem! Perhaps it is somehow responsible > for the later 'unknown: "uevent"' problem. I've fixed the empty device list problem, so the failed bind is the biggest problem now. Thanks again, Brendan >> I have a list of all the >> devices to be created and placed in /dev already. Currently, it's >> expanded at compile time, but I should be able to change the target from >> /dev to /lib/udev/devices. >> >> One additional thing that I need to do while migrating away from a >> static /dev is to convert our current naming scheme for devices to one >> which is consistent with the naming that udev uses by default. >> >> Thanks again, >> Brendan >> > > Good luck > > >> Alan Jenkins wrote: >> >>> Hi >>> >>> On 9/25/09, Brendan Moran wrote: >>> >>> >>>> Hi, >>>> > > -- > A: Because it messes up the order in which people normally read text. > >> Q: Why is top-posting such a bad thing? >> >>> A: Top-posting. >>> >>>> Q: What is the most annoying thing in e-mail? >>>> > >