[ELDK] Ubuntu 804 ELDK 4.0 kernel rebuild issues
bwr64x at calcentral.com
Wed Jul 2 12:43:42 CEST 2008
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
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)
/usr/include/curses.h (install libncurses5-dev)
Once these were there, attempting to "$ make" returns a permission violation.
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
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.
More information about the eldk