[ELDK] Ubuntu 804 ELDK 4.0 kernel rebuild issues

Detlev Zundel dzu at denx.de
Thu Jul 3 18:45:21 CEST 2008


Hi bwr (how does one pronounce that?),

> I've run into a couple of obscure issues using the ELDK under Ubuntu 8.04. They 
> probably aren't really ELDK issues, but they appear to be, and I spent a lot of 
> time looking for ELDK issues until I resolved it. Suggestions on where else to 
> post this information would be useful.
>
> The task is cross compiling a Linux kernel
>
> Ubuntu 8.04 host system
> ELDK v4.0
> ppc_8540 based target board
> Linux kernel 2.6.18
> U-Boot 1.2.0 modified
>
> By default, Ubuntu does not have:
> /usr/include/sys/types.h   (you need to install package libc6-dev)

Yes, without doing this, you will have a hard time compiling anything ;)

> /usr/include/curses.h      (install libncurses5-dev)

Needed only for make menuconfig.

> Once these were there, attempting to "$ make" returns a permission violation. 

Ooops, you will need to expand on that.  This is not a problem if you do
everything correctly.

> Trying "$ sudo make" (the recommended Ubuntu way) will run for awhile, then 
> result in an error message saying
> *** 2.6 kernels no longer build correctly with old versions of binutils.
> *** Please upgrade your binutils to 2.12.1 or newer
> This is from ..Linux/arch/ppc/Makefile

There is really no need at all to run the kernel make as root.

> Which seems to indicate the ELDK has an old version of binutils. This is not the 
> case. What has happened is that the make process has lost the value of 
> CROSS_COMPILE (although it still has ARCH, unless it get reset somewhere). 
> Without CROSS_COMPILE, the makefile uses the native gcc assembler instead of the 
> ELDK version, gets confused and returns the above error message.
>
> If instead of "$ sudo make" you run "$ sudo -s" to switch to root, then "$ make" 
> it works fine, CROSS_COMPILE is not lost, and the kernel rebuilds.

No, no, you have different problems.  We never build kernels as
superuser.

Is it possible that you try to build a kernel below /usr/src or any
other central place having restrictive permissions?  Don't do that.
Clone our linux-2.6-denx repo somewhere below your home directory and
work there.

Cheers
  Detlev

-- 
I just found out that the brain is like a computer.
If that's true, then there really aren't any stupid people.
Just people running Windows.
--
DENX Software Engineering GmbH,      MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu at denx.de


More information about the eldk mailing list