[uClibc] problem with SiS board and buildroot-built uclibc/busybox init process

Seb James seb at hypercubesystems.co.uk
Tue Jun 15 07:56:45 UTC 2004


Hello Rob,

On Mon, 2004-06-14 at 22:29, Rob Landley wrote:
> On Monday 14 June 2004 04:56, Seb James wrote:
> 
> > I also found that 2.6.4 and uclibc isn't a match made in heaven. So I
> > decided to re-run the buildroot process but this time with
> > TARGETS+=linux instead of TARGETS+=kernel-headers and using the
> > 2.4.26-pre5-erik kernel which is currently the buildroot process's
> > default. I modified the buildroot/sources/linux.config to support my
> > board.
> 
> It really really helps to be using the right kernel headers when compiling a C 
> library to work with the 2.6 kernel.  I use the ones from Mariusz Mazur 
> <mmazur at kernel.pl>, which are on the web at 
> http://ep09.pld-linux.org/~mmazur/linux-libc-headers/
> 
> (Although the 2.6.6.0 version is the first one with all bugs I know about 
> fixed.  Then again, if you're not trying to compile esoteric things like 
> cdrecord, you should be okay with an earlier version...)

Nice to know that 2.6 kernels should work ok. In fact, having finally
got my 2.4 kernel to work, I now find that the reason for my nfs
mounting failing was 1) I hadn't enabled nfsmount in the busybox build
configuration and 2) something else to do with portmap, which seems to
be part of the process with nfsmount and which isn't currently part of
my embedded system.

> > Does this give a clue as to what is failing to work when using the 2.4
> > kernel?
> 
> Are you using /dev/pts?  (It's a good idea, but make sure it's compiled in and 
> mounted.  There's also some fun ones like /dev/console...  In 2.6, it might 
> be easier to try to set up udev and let it deal with it.  That's on my to-do 
> list...)

Yes, I'd really like to investigate udev and find out it's relative
merits and disadvantages.

> > Does this sound like a kernel mis-configuration issue?
> 
> It could be that /dev is wonky.  Missing files, permissions, who knows?

You're quite right; it was /dev that was wonky. The default device files
generated by the 2.6 kernel were different from the defaults generated
by the 2.4 kernel. The dev files from the 2.6 kernel actually matched
the device files mentioned in /etc/inittab and /etc/securetty and the
dev files from the 2.4 kernel devfs didn't.

Would it be worth putting a note pointing people towards checking the
device files in the docs? It's a little bit of a gotcha, especially as
it seems that the kernel "recommended" by the buildroot process (i.e.
the one mentioned in linux.mk; 2.4.25 patched to 2.4.26-pre5-erik)
creates the wrong set of device files for those that are placed in
/etc/inittab and /etc/securetty.

> > Any suggestions for new approaches to find out what this problem is
> > would be greatly appreciated!
> 
> echo "boing" > /dev/console during your init scripts for a start.  (I dunno 
> what that'll tell you, but it'll probably tell you something.  And if it 
> works, you can stick printfs into things which makes debugging _so_ much 
> easier...)

Ah, now that's useful.

Many thanks for the reply and helpful suggestions Rob.

Seb.





More information about the uClibc mailing list