[ELDK] Binutils error - Building a 3.x kernel with ELDK 5.1

Fernando Carrio Argos fernando.carrio at cern.ch
Mon Mar 19 15:15:59 CET 2012


Hi Wolfgang,

I applied the sequent commands:

root at fcarrio-VirtualBox:/home/fcarrio/work/linux1/linux-2.6-xlnx# source /opt/eldk-5.1/powerpc-4xx-softfloat/environment-setup-ppc405-linux

root at fcarrio-VirtualBox:/home/fcarrio/work/linux1/linux-2.6-xlnx# sudo cp /home/fcarrio/Downloads/ramdisk.image.gz arch/powerpc/boot/

If I don't specify the ARCH I obtain the next error:
root at fcarrio-VirtualBox:/home/fcarrio/work/linux1/linux-2.6-xlnx# make 44x/virtex5_defconfig
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/lex.zconf.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
***
*** Can't find default configuration "arch/x86/configs/44x/virtex5_defconfig"!
***
make[1]: *** [44x/virtex5_defconfig] Error 1
make: *** [44x/virtex5_defconfig] Error 2

So I specify it and I obtain:
root at fcarrio-VirtualBox:/home/fcarrio/work/linux1/linux-2.6-xlnx# make ARCH=powerpc 44x/virtex5_defconfig
#
# configuration written to .config
#

And when I use the male command it crashes but only for 3.x kernels:
root at fcarrio-VirtualBox:/home/fcarrio/work/linux1/linux-2.6-xlnx# make -s -j8 ARCH=powerpc simpleImage.initrd.virtex440-ml507
*** 3.0 kernels no longer build correctly with old versions of binutils.
*** Please upgrade your binutils to 2.12.1 or newer
make: *** [checkbin] Error 1
make: *** Waiting for unfinished jobs....
make: *** wait: No child processes.  Stop.

But, if I repeat the same command for a 2.6.40 kernel it results this:

root at fcarrio-VirtualBox:/home/fcarrio/Downloads/linux-2.6-xlnx# make ARCH=powerpc simpleImage.initrd.virtex440-ml507
make[1]: Nothing to be done for `all'.
  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
  CALL    scripts/checksyscalls.sh
  CHK     include/generated/compile.h
  CALL    arch/powerpc/kernel/systbl_chk.sh
  DTC     arch/powerpc/boot/virtex440-ml507.dtb
DTC: dts->dtb  on file "arch/powerpc/boot/dts/virtex440-ml507.dts"
  WRAP    arch/powerpc/boot/simpleImage.initrd.virtex440-ml507
rm arch/powerpc/boot/virtex440-ml507.dtb


And the result ELF file works properly on the ML507.

Any idea?

Best regards,

Fernando.

________________________________________
From: Wolfgang Denk [wd at denx.de]
Sent: 18 March 2012 17:34
To: Fernando Carrio Argos
Cc: eldk at lists.denx.de
Subject: Re: [ELDK] Binutils error - Building a 3.x kernel with ELDK 5.1

Dear Fernando,

In message <862116BDE7CDFD459FBA2837D571B41132EFC05F at CERNXCHG22.cern.ch> you wrote:
>
> Yes, I use to set up the build environment the
> environment-setup-ppc440e-linux file. My distro is Ubuntu 11.10
> 32-bit version, and my make version is 3.81.
>
> Moreover, I just built a Xilinx 2.6.40 kernel using ELDK 5.1 and it's
> running without problems in the Xilinx ML507, but I still have the
> same problem for 3.x kernels.

-> pwd
/home/wd/git/linux/work
-> git checkout v3.2.9
...
HEAD is now at 44fb317... Linux 3.2.9
-> git describe
v3.2.9
-> cp /opt/eldk-4.2/ppc_4xx/images/ramdisk_image.gz arch/powerpc/boot/ramdisk.image.gz
-> make 44x/virtex5_defconfig
...
# configuration written to .config
#
-> make -s -j8 simpleImage.initrd.virtex440-ml507
drivers/tty/serial/8250.c: In function 'serial8250_shutdown':
drivers/tty/serial/8250.c:1748:18: warning: 'i' may be used
uninitialized in this function [-Wuninitialized]
drivers/tty/serial/8250.c:1728:19: note: 'i' was declared here
arch/powerpc/boot/mpc8xx.c: In function 'mpc885_get_clock':
arch/powerpc/boot/mpc8xx.c:27:26: warning: variable 'div' set but not
used [-Wunused-but-set-variable]
DTC: dts->dtb  on file "arch/powerpc/boot/dts/virtex440-ml507.dts"
-> ls -lh arch/powerpc/boot/simpleImage.initrd.virtex440-ml507
-rwxr-xr-x 1 wd wd 3.6M 2012-03-18 17:30 arch/powerpc/boot/simpleImage.initrd.virtex440-ml507

And this is on a Ubuntu 10.-4 system:

-> uname -a
Linux ubuntu-1004 2.6.32-39-generic #86-Ubuntu SMP Mon Feb 13 21:50:08 UTC 2012 x86_64 GNU/Linux
-> make -v
GNU Make 3.81
...

The only difference I can see is that I'm running ona 64 bit machine,
while you said yours was a 32 bit one - but I don;t think this makes a
difference.

Can you please try the very same commands as me, and if it still
fails, send the _complete_ build log (or post it somewhere - pastebin
or similar) ?

Best regards,

Wolfgang Denk

--
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Q:  Why do mountain climbers rope themselves together?
A:  To prevent the sensible ones from going home.


More information about the eldk mailing list