From: Greg KH <greg@kroah.com>
To: linux-hotplug@vger.kernel.org
Subject: Re: Who mounts sysfs?
Date: Thu, 25 Jun 2009 17:13:38 +0000 [thread overview]
Message-ID: <20090625171338.GA4269@kroah.com> (raw)
In-Reply-To: <87a5b0800906250336k2e922b05pc9555f78a39d7386@mail.gmail.com>
On Thu, Jun 25, 2009 at 05:57:51PM +0100, Will Newton wrote:
> On Thu, Jun 25, 2009 at 5:28 PM, Greg KH<greg@kroah.com> wrote:
> > On Thu, Jun 25, 2009 at 04:53:07PM +0100, Will Newton wrote:
> >> On Thu, Jun 25, 2009 at 4:18 PM, Greg KH<greg@kroah.com> wrote:
> >> > On Thu, Jun 25, 2009 at 11:36:29AM +0100, Will Newton wrote:
> >> >> Hi all,
> >> >>
> >> >> I'm trying to get the libertas driver working on an embedded
> >> >> development board and I've run into what looks like a sysfs problem.
> >> >> Although I'm actually using the BusyBox mdev hotplug helper rather
> >> >> than udev, I hope this is the right list to be asking this question.
> >> >
> >> > For busybox questions, not really, but we reserve the right to poke fun
> >> > at you for using mdev :)
> >> >
> >> >> What appears to be happening is I get my initramfs extracted, so I
> >> >> have access to the various necessary files including the hotplug
> >> >> helper and my firmware files. This step is taken care of by the rootfs
> >> >> initcall level. Then the driver initcalls are run, including the
> >> >> libertas setup routines, which call request_firmware. request_firmware
> >> >> fires off a uevent and calls the hotplug helper. The hotplug helper
> >> >> looks for the /sys/class/firmware entry for the libertas device, but
> >> >> it doesn't find one because I don't appear to have a mounted sysfs on
> >> >> the /sys mountpoint.
> >> >>
> >> >> So my question is: who should be mounting sysfs here? init will mount
> >> >> sysfs, but is run much later than the device initcalls.
> >> >
> >> > You need to mount sysfs as one of the first things to have happen. Look
> >> > at your distro's startup scripts as an example of this.
> >>
> >> Yes, I want my sysfs mounted as early as possible, but userspace (via
> >> /sbin/init) does not get a chance to do this until after the device
> >> initcalls have been run. I'm interested to know if there's a standard
> >> way to get sysfs mounted before /sbin/init is run.
> >
> > There isn't.
>
> Ok, so we cannot expect sysfs to be mounted on /sys before /sbin/init
> has been run?
How would that possibly happen?
> What do we do with callers of request_firmware prior to /sbin/init
> running?
They would fail, as no userspace filesystems would be mounted yet to
provide the firmware in the firstplace.
> Should drivers that require firmware always be modules?
Depends on your system setup :)
You could use an initramfs to solve this problem :)
> I would rather build in my drivers monolithically if possible for ease
> of deployment and boot speed.
>
> Is there some non-standard other way of mounting sysfs people are
> using in this situation?
Possibly an initramfs?
Or just replay the uevents when init starts up, after you have mounted
sysfs, and other filesystems, so that the firmware can be properly
loaded. That is what almost all distros do.
thanks,
greg k-h
next prev parent reply other threads:[~2009-06-25 17:13 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-25 10:36 Who mounts sysfs? Will Newton
2009-06-25 15:18 ` Greg KH
2009-06-25 15:53 ` Will Newton
2009-06-25 16:28 ` Greg KH
2009-06-25 16:57 ` Will Newton
2009-06-25 17:13 ` Greg KH [this message]
2009-06-25 18:06 ` Will Newton
2009-06-25 18:29 ` Greg KH
2009-06-26 0:12 ` Kay Sievers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090625171338.GA4269@kroah.com \
--to=greg@kroah.com \
--cc=linux-hotplug@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).