* updating kernel to 2.6.13-rc1 from 2.6.12 + CONFIG_DEVFS_FS + empty /dev
@ 2005-06-29 21:03 Eric Valette
2005-06-29 22:40 ` Greg KH
0 siblings, 1 reply; 12+ messages in thread
From: Eric Valette @ 2005-06-29 21:03 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-kernel, greg
For years now my /dev has been empty. When upgrading to 2.6.13-rc1 from
2.6.12, and updating my kernel config file via "make oldconfig" I got no
visible warning about CONFIG_DEVFS_FS options being set (or at least did
no see it).
The result, however, was *for sure* a non functionnal system and adding
udev as a defvs replacement will of course not help as I understand this
kernel needs *anyway* a minimal filesystem to boot.
While I do not want to re-enter the endless devfs versus udev merit
(allthough I personnaly strongly believe udev is just too slow for
embedded system boot compared to devfs without devfsd) I think that this
potential problem should be clearly mentionned in the release note for
2.6.13 or at least something like "a minimal devfs able to boot emty
/dev installation" be integrated as a replacement.
For the rest of the problem, I will just waste some inodes to have a
minimal /dev back (which I think is a clear regression).
This mail intend to point out that removing a feature in the stable
series can break existing "real life" installations which, by the way,
did not break as badly as that for years. It sometimes broke using -mm
stuffs but was just a matter of waiting for a patch. I will not get a
patch for my problem.
No flame intended just feed back from end-user experience.
-- eric
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: updating kernel to 2.6.13-rc1 from 2.6.12 + CONFIG_DEVFS_FS + empty /dev
2005-06-29 21:03 updating kernel to 2.6.13-rc1 from 2.6.12 + CONFIG_DEVFS_FS + empty /dev Eric Valette
@ 2005-06-29 22:40 ` Greg KH
2005-06-30 13:12 ` eric.valette
0 siblings, 1 reply; 12+ messages in thread
From: Greg KH @ 2005-06-29 22:40 UTC (permalink / raw)
To: Eric Valette; +Cc: Linus Torvalds, linux-kernel
On Wed, Jun 29, 2005 at 11:03:56PM +0200, Eric Valette wrote:
> For years now my /dev has been empty. When upgrading to 2.6.13-rc1 from
> 2.6.12, and updating my kernel config file via "make oldconfig" I got no
> visible warning about CONFIG_DEVFS_FS options being set (or at least did
> no see it).
devfs has been marked OBSOLETE for a year now. It has also been
documented as going away. Because of this, you should not have been
supprised at all.
> While I do not want to re-enter the endless devfs versus udev merit
> (allthough I personnaly strongly believe udev is just too slow for
> embedded system boot compared to devfs without devfsd)
What are the speed differences that you see? I've tested it and on a
slow old laptop, with a lot of devices, udev only takes 2 seconds to
initialize the whole device tree. If you put it in initramfs, it will
take no additional time, as it will operate on all of the hotplug events
as they happen. Can't get faster than "nothing" :)
> I think that this potential problem should be clearly mentionned in
> the release note for 2.6.13
That's probably a good idea.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: updating kernel to 2.6.13-rc1 from 2.6.12 + CONFIG_DEVFS_FS + empty /dev
2005-06-29 22:40 ` Greg KH
@ 2005-06-30 13:12 ` eric.valette
2005-06-30 15:54 ` Greg KH
0 siblings, 1 reply; 12+ messages in thread
From: eric.valette @ 2005-06-30 13:12 UTC (permalink / raw)
To: Greg KH; +Cc: Linus Torvalds, linux-kernel
Quoting Greg KH <greg@kroah.com>:
> On Wed, Jun 29, 2005 at 11:03:56PM +0200, Eric Valette wrote:
> > For years now my /dev has been empty. When upgrading to 2.6.13-rc1 from
> > 2.6.12, and updating my kernel config file via "make oldconfig" I got no
> > visible warning about CONFIG_DEVFS_FS options being set (or at least did
> > no see it).
>
> devfs has been marked OBSOLETE for a year now. It has also been
> documented as going away. Because of this, you should not have been
> supprised at all.
I knew it! I just the announce for 2.6.13-rc1 did not contain this fact and I
did not realize booting this new kernel will fail on my machine which is bad for
a stable serie.
> What are the speed differences that you see? I've tested it and on a
> slow old laptop, with a lot of devices, udev only takes 2 seconds to
> initialize the whole device tree. If you put it in initramfs, it will
> take no additional time, as it will operate on all of the hotplug events
> as they happen. Can't get faster than "nothing" :)
If I already have every device in /dev, I do not need udev and yes it is fast
:-) This is exactly what I did to boot my system again. Just via devfs, I do
not need an initial filesystem nor need anything in user space to boot a full
system which I like.
-- eric
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: updating kernel to 2.6.13-rc1 from 2.6.12 + CONFIG_DEVFS_FS + empty /dev
2005-06-30 13:12 ` eric.valette
@ 2005-06-30 15:54 ` Greg KH
2005-06-30 20:27 ` Eric Valette
0 siblings, 1 reply; 12+ messages in thread
From: Greg KH @ 2005-06-30 15:54 UTC (permalink / raw)
To: eric.valette; +Cc: Linus Torvalds, linux-kernel
On Thu, Jun 30, 2005 at 03:12:41PM +0200, eric.valette@free.fr wrote:
> Quoting Greg KH <greg@kroah.com>:
>
> > On Wed, Jun 29, 2005 at 11:03:56PM +0200, Eric Valette wrote:
> > > For years now my /dev has been empty. When upgrading to 2.6.13-rc1 from
> > > 2.6.12, and updating my kernel config file via "make oldconfig" I got no
> > > visible warning about CONFIG_DEVFS_FS options being set (or at least did
> > > no see it).
> >
> > devfs has been marked OBSOLETE for a year now. It has also been
> > documented as going away. Because of this, you should not have been
> > supprised at all.
>
> I knew it! I just the announce for 2.6.13-rc1 did not contain this fact and I
> did not realize booting this new kernel will fail on my machine which is bad for
> a stable serie.
As there is no longer a "development series" calling 2.6 a "stable
series" isn't really true :)
thanks,
greg k-h
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: updating kernel to 2.6.13-rc1 from 2.6.12 + CONFIG_DEVFS_FS + empty /dev
2005-06-30 15:54 ` Greg KH
@ 2005-06-30 20:27 ` Eric Valette
2005-07-02 5:37 ` Greg KH
0 siblings, 1 reply; 12+ messages in thread
From: Eric Valette @ 2005-06-30 20:27 UTC (permalink / raw)
To: Greg KH; +Cc: Linus Torvalds, linux-kernel
Greg KH wrote:
> On Thu, Jun 30, 2005 at 03:12:41PM +0200, eric.valette@free.fr wrote:
>
>>Quoting Greg KH <greg@kroah.com>:
>>
>>
>>>On Wed, Jun 29, 2005 at 11:03:56PM +0200, Eric Valette wrote:
>>>
>>>>For years now my /dev has been empty. When upgrading to 2.6.13-rc1 from
>>>>2.6.12, and updating my kernel config file via "make oldconfig" I got no
>>>>visible warning about CONFIG_DEVFS_FS options being set (or at least did
>>>>no see it).
>>>
>>>devfs has been marked OBSOLETE for a year now. It has also been
>>>documented as going away. Because of this, you should not have been
>>>supprised at all.
>>
>>I knew it! I just the announce for 2.6.13-rc1 did not contain this fact and I
>>did not realize booting this new kernel will fail on my machine which is bad for
>>a stable serie.
>
>
> As there is no longer a "development series" calling 2.6 a "stable
> series" isn't really true :)
Curious to wait until 2.6.13 pops up to see how much people will end up
having non working systems either because :
1) They removed entries in their /dev
2) Did not maintain their /dev for years because anyway it was not
directly accessed
3) modified their /etc/fstab to put devfs names rather than FHS/LSB
compliant names...
4) other weird /dev-devfs interaction I cannot imagine yet
BTW speaking of initramfs to hold the minimal /dev, in the embedded
world initramfs has to be stored in flash as udev binary and eventually
additionnal scripts, this represent flash memory (OK very little I have
to admit but when you need to find 10K of flash or change the flash
size...).
I hope someone will pick-up your nano defvs proposal and enhance it to
support a version enabling to boot a system without anything in /dev.
Unfortunately no time yet on my side.
Thanks for all the things you have done in linux,
-- eric
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: updating kernel to 2.6.13-rc1 from 2.6.12 + CONFIG_DEVFS_FS + empty /dev
2005-06-30 20:27 ` Eric Valette
@ 2005-07-02 5:37 ` Greg KH
2005-07-02 7:22 ` Eric Valette
0 siblings, 1 reply; 12+ messages in thread
From: Greg KH @ 2005-07-02 5:37 UTC (permalink / raw)
To: Eric Valette; +Cc: Linus Torvalds, linux-kernel
On Thu, Jun 30, 2005 at 10:27:45PM +0200, Eric Valette wrote:
>
> BTW speaking of initramfs to hold the minimal /dev, in the embedded
> world initramfs has to be stored in flash as udev binary and eventually
> additionnal scripts, this represent flash memory (OK very little I have
> to admit but when you need to find 10K of flash or change the flash
> size...).
Why? Why not put it in ROM with your kernel image, look at how the
kernel build process does it with the "built-in" initramfs.
If that doesn't work, initrd still works just as well for udev, that's
what RH does.
> I hope someone will pick-up your nano defvs proposal and enhance it to
> support a version enabling to boot a system without anything in /dev.
I boot my boxes with nothing in /dev and have been for almost a year
now. udev works just fine for this, and so do some other programs that
work like udev does.
I hope everyone can just forget about my nano devfs proposal, and just
pass it off as a example of someone who went temporarily insane.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: updating kernel to 2.6.13-rc1 from 2.6.12 + CONFIG_DEVFS_FS + empty /dev
2005-07-02 5:37 ` Greg KH
@ 2005-07-02 7:22 ` Eric Valette
2005-07-02 8:22 ` Willy Tarreau
0 siblings, 1 reply; 12+ messages in thread
From: Eric Valette @ 2005-07-02 7:22 UTC (permalink / raw)
To: Greg KH; +Cc: Linus Torvalds, linux-kernel
Greg KH wrote:
> Why? Why not put it in ROM with your kernel image, look at how the
> kernel build process does it with the "built-in" initramfs.
Well, nowadays, most system have only flash because ROM does not enable
to do firmware upgrade. Second, putting it in the kernel or as a
separate flash section or in an initrd does not change the problem :
something has to be stored on non volatile memory whereas you do not
need that for devfs (except devfs code itself of course) but then you
have udev instead of devfs...
> I boot my boxes with nothing in /dev and have been for almost a year
> now. udev works just fine for this, and so do some other programs that
> work like udev does.
Nothing in /dev but with initramfs. Same cost...
BTW : valette@tri-yann->df /dev
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 10240 2876 7364 29% /dev
2 MB RAM on my PC??? I must be missing something.
Thanks for your time nayway.
-- eric
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: updating kernel to 2.6.13-rc1 from 2.6.12 + CONFIG_DEVFS_FS + empty /dev
2005-07-02 7:22 ` Eric Valette
@ 2005-07-02 8:22 ` Willy Tarreau
2005-07-02 9:09 ` Eric Valette
0 siblings, 1 reply; 12+ messages in thread
From: Willy Tarreau @ 2005-07-02 8:22 UTC (permalink / raw)
To: Eric Valette; +Cc: Greg KH, Linus Torvalds, linux-kernel
Hi Eric,
On Sat, Jul 02, 2005 at 09:22:20AM +0200, Eric Valette wrote:
> Greg KH wrote:
>
> > Why? Why not put it in ROM with your kernel image, look at how the
> > kernel build process does it with the "built-in" initramfs.
>
> Well, nowadays, most system have only flash because ROM does not enable
> to do firmware upgrade. Second, putting it in the kernel or as a
> separate flash section or in an initrd does not change the problem :
> something has to be stored on non volatile memory whereas you do not
> need that for devfs (except devfs code itself of course) but then you
> have udev instead of devfs...
Well, although I've never used udev because I've been using sort of an
equivalent called "preinit" for 4 years now, I don't totally agree with
you about the firmware upgrade : when you package your systems to allow
the customer to perform "firmware" upgrades, your image is already very
specific to a hardware model, and I don't see why you would need to
create /dev entries independantly from the kernel or rootfs. Speaking
for myself, my .preinit script which describes how to fill /dev entries
is on the rootfs and does not need to change once packaged.
However, I agree that I encountered difficulties using this system on
more generic hardware, because sometimes the raid devices did not exist,
or things like this caused trouble.
IMHO, a generic system should use a full /dev directory and an embedded
system should use just the strict minimum necessary for the specific
hardware to run.
> > I boot my boxes with nothing in /dev and have been for almost a year
> > now. udev works just fine for this, and so do some other programs that
> > work like udev does.
>
> Nothing in /dev but with initramfs. Same cost...
>
> BTW : valette@tri-yann->df /dev
> Filesystem 1K-blocks Used Available Use% Mounted on
> tmpfs 10240 2876 7364 29% /dev
>
>
> 2 MB RAM on my PC??? I must be missing something.
I think something went wrong, perhaps something like
# some_prog >/dev/null
while null did not exist. My /dev is a tmpfs too, but mounted with size=0,
so that I can only create inodes into it, but cannot write any data. One
other advantage of using size=0 is that "df" does not show it by default.
Cheers,
Willy
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: updating kernel to 2.6.13-rc1 from 2.6.12 + CONFIG_DEVFS_FS + empty /dev
2005-07-02 8:22 ` Willy Tarreau
@ 2005-07-02 9:09 ` Eric Valette
2005-07-02 10:03 ` Willy Tarreau
0 siblings, 1 reply; 12+ messages in thread
From: Eric Valette @ 2005-07-02 9:09 UTC (permalink / raw)
To: Willy Tarreau; +Cc: Greg KH, Linus Torvalds, linux-kernel
Willy Tarreau wrote:
> Hi Eric,
Hi willy,
>
> On Sat, Jul 02, 2005 at 09:22:20AM +0200, Eric Valette wrote:
>
>>Greg KH wrote:
>>
>>
>>>Why? Why not put it in ROM with your kernel image, look at how the
>>>kernel build process does it with the "built-in" initramfs.
>>
>>Well, nowadays, most system have only flash because ROM does not enable
>>to do firmware upgrade. Second, putting it in the kernel or as a
>>separate flash section or in an initrd does not change the problem :
>>something has to be stored on non volatile memory whereas you do not
>>need that for devfs (except devfs code itself of course) but then you
>>have udev instead of devfs...
>
>
> Well, although I've never used udev because I've been using sort of an
> equivalent called "preinit" for 4 years now, I don't totally agree with
> you about the firmware upgrade : when you package your systems to allow
> the customer to perform "firmware" upgrades, your image is already very
> specific to a hardware model, and I don't see why you would need to
> create /dev entries independantly from the kernel or rootfs.
I beg to disagree. More and more devices have generic connectivity plug
(USB, 1394, ...) and you may update your firmware because you support a
new device connected to this plug that is not a generic device (specific
driver needed) but you may also have provisionned generic devices
drivers for the plug and want devices created only when device is
plugged (usb mass storage comes in mind). If I make a static /dev
provision for a USB disk how many useless partition will I need to
create, and how will I mount the correct number of partition without
hotplug like feature and analysing by hand the partition table?
>>BTW : valette@tri-yann->df /dev
>>Filesystem 1K-blocks Used Available Use% Mounted on
>>tmpfs 10240 2876 7364 29% /dev
>>
>>
>>2 MB RAM on my PC??? I must be missing something.
>
>
> I think something went wrong, perhaps something like
>
> # some_prog >/dev/null
>
> while null did not exist. My /dev is a tmpfs too, but mounted with size=0,
> so that I can only create inodes into it, but cannot write any data. One
> other advantage of using size=0 is that "df" does not show it by default.
Not sure. It is a debian sid install.
Thanks anyone who responded. I'll be unable to read mails for a while.
-- eric
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: updating kernel to 2.6.13-rc1 from 2.6.12 + CONFIG_DEVFS_FS + empty /dev
2005-07-02 9:09 ` Eric Valette
@ 2005-07-02 10:03 ` Willy Tarreau
2005-07-02 20:13 ` Mike Bell
0 siblings, 1 reply; 12+ messages in thread
From: Willy Tarreau @ 2005-07-02 10:03 UTC (permalink / raw)
To: Eric Valette; +Cc: Greg KH, Linus Torvalds, linux-kernel
On Sat, Jul 02, 2005 at 11:09:06AM +0200, Eric Valette wrote:
> Willy Tarreau wrote:
> > Well, although I've never used udev because I've been using sort of an
> > equivalent called "preinit" for 4 years now, I don't totally agree with
> > you about the firmware upgrade : when you package your systems to allow
> > the customer to perform "firmware" upgrades, your image is already very
> > specific to a hardware model, and I don't see why you would need to
> > create /dev entries independantly from the kernel or rootfs.
>
> I beg to disagree. More and more devices have generic connectivity plug
> (USB, 1394, ...) and you may update your firmware because you support a
> new device connected to this plug that is not a generic device (specific
> driver needed) but you may also have provisionned generic devices
> drivers for the plug and want devices created only when device is
> plugged (usb mass storage comes in mind). If I make a static /dev
> provision for a USB disk how many useless partition will I need to
> create,
They cost almost nothing, and in all cases, far less than the required code
to autodetect them. You just need to create /dev/sda{,0-15} for an USB disk,
and you may need to to this for sdb and/or sdc if you plan to support multiple
USB storage devices simultaneously plugged. And if your embedded system already
carries SCSI disks (which is very rare, except for example external arrays),
then you're in trouble already. Maybe sysfs can help you, I don't know.
> and how will I mount the correct number of partition without
> hotplug like feature and analysing by hand the partition table?
"analysing by hand" is a bit excessive. I don't think the difference between
for part in /dev/sda*; do
mkdir -p /mnt/${part#/dev/}
mount $part /mnt/${part#/dev/}
done
and :
while read maj min blo part; do
case $part in sda[1-9]*)
mkdir -p /mnt/$part
mount /dev/$part /mnt/$part
esac
done </proc/partitions
is so important.
Now I agree that devfs might have made it easier to find the sd* devices
associated to the usb-storage device, but it is totally independant on
your problem of creating lots of /dev entries in advance.
Regards,
Willy
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: updating kernel to 2.6.13-rc1 from 2.6.12 + CONFIG_DEVFS_FS + empty /dev
2005-07-02 10:03 ` Willy Tarreau
@ 2005-07-02 20:13 ` Mike Bell
2005-07-02 23:03 ` Willy Tarreau
0 siblings, 1 reply; 12+ messages in thread
From: Mike Bell @ 2005-07-02 20:13 UTC (permalink / raw)
To: Willy Tarreau; +Cc: linux-kernel
On Sat, Jul 02, 2005 at 12:03:49PM +0200, Willy Tarreau wrote:
> They cost almost nothing, and in all cases, far less than the required code
> to autodetect them.
I beg to differ on that. As ndevfs has shown, the code required to
create a device node from kernel space is actually very minimal, when
you utilize all the infrastructure already available to you in the
kernel. libfs has most of what you need, the rest is easily stolen from
ramfs. Almost undoubtebly much less than all those device nodes,
especially when you consider the need to be able to perform chown/chmod
on nodes (thus they can't be stored in the read-only flash image, but
must instead be created at each boot on a kernel-generated filesystem
like ramfs)
devfs not utilizing it is perfectly explainable by the fact none of it
was around way back when devfs was created. Back then kernel generated
filesystems were proc, proc and proc. proc is pretty ugly too.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: updating kernel to 2.6.13-rc1 from 2.6.12 + CONFIG_DEVFS_FS + empty /dev
2005-07-02 20:13 ` Mike Bell
@ 2005-07-02 23:03 ` Willy Tarreau
0 siblings, 0 replies; 12+ messages in thread
From: Willy Tarreau @ 2005-07-02 23:03 UTC (permalink / raw)
To: Mike Bell, linux-kernel
On Sat, Jul 02, 2005 at 01:13:58PM -0700, Mike Bell wrote:
> On Sat, Jul 02, 2005 at 12:03:49PM +0200, Willy Tarreau wrote:
> > They cost almost nothing, and in all cases, far less than the required code
> > to autodetect them.
>
> I beg to differ on that. As ndevfs has shown, the code required to
> create a device node from kernel space is actually very minimal, when
> you utilize all the infrastructure already available to you in the
> kernel. libfs has most of what you need, the rest is easily stolen from
> ramfs. Almost undoubtebly much less than all those device nodes,
> especially when you consider the need to be able to perform chown/chmod
> on nodes (thus they can't be stored in the read-only flash image, but
> must instead be created at each boot on a kernel-generated filesystem
> like ramfs)
Well, here on my firewall, the /.preinit script is 1.7 kB and the init
binary which does everything (mkdir,mknod,chmod,chown,mount,...) is 5.6 kB.
I doubt you can enable devfs in a kernel for less than 8 kB. One /tmpfs
entry consumes about 600 bytes of RAM, which is still fairly acceptable
IMHO.
> devfs not utilizing it is perfectly explainable by the fact none of it
> was around way back when devfs was created. Back then kernel generated
> filesystems were proc, proc and proc. proc is pretty ugly too.
Regards,
Willy
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2005-07-02 23:03 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-06-29 21:03 updating kernel to 2.6.13-rc1 from 2.6.12 + CONFIG_DEVFS_FS + empty /dev Eric Valette
2005-06-29 22:40 ` Greg KH
2005-06-30 13:12 ` eric.valette
2005-06-30 15:54 ` Greg KH
2005-06-30 20:27 ` Eric Valette
2005-07-02 5:37 ` Greg KH
2005-07-02 7:22 ` Eric Valette
2005-07-02 8:22 ` Willy Tarreau
2005-07-02 9:09 ` Eric Valette
2005-07-02 10:03 ` Willy Tarreau
2005-07-02 20:13 ` Mike Bell
2005-07-02 23:03 ` Willy Tarreau
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox