[BusyBox] telnetd in kernel 2.6 segfaults (devfs)
Rob Landley
rob at landley.net
Sun Feb 13 00:06:36 UTC 2005
On Saturday 12 February 2005 06:40 pm, Kevin P. Fleming wrote:
> > Since I use exactly the same root filesystem in both cases, the
> > difference is obviously in the kernel. Maybe it's adefault behaviour that
> > has changed for the 2.6 series.
>
> There are an _enormous_ number of behavior changes in 2.6 :-) You would
> be well served to read some of the available documentation on the
> differences, because they are not interchangeable, especially if you are
> using devfs.
Actually, 2.6 can run 2.4 code just fine. The only actual API change you were
forced to change anything to deal with was module loading and unloading.
(The switch from OSS to ALSA happened for sound cards at the same time, but
you could enable emulation if you wanted.) Devfs, on the other hand, was
never particularly stable to begin with. (I suspect one reason Linus pushed
for a nonstandard naming scheme was to force everybody to realise that naming
policy in the kernel is a bad thing.)
You'll notice that the only part of busybox that really cares about 2.4 vs 2.6
is module support (well, other than the loop.c where the binary API didn't
change and our real problem is we don't include linux/loop.h, but oh well.)
But even on the exact same (2.4) kernel version, devfs vs non-devfs touches
things like "df", "mount" and "init" (not just the init scripts and inittab,
but the executable itself).
That's just icky. Even without the unsolvable race conditions in it, there's
a reason it's scheduled from removal in 2.6.
Rob
More information about the busybox
mailing list