[Buildroot] ARCH=ppc vs powerpc

Guillaume Dargaud dargaud at lpsc.in2p3.fr
Thu Apr 3 05:09:03 PDT 2008


>>> Why does ARCH change ?!?
>>
>>Because target/linux/Makefile.in uses KERNEL_ARCH for ARCH setting,
>>and not what you have set ARCH to on the cmdline.
>>
>>KERNEL_ARCH is calculated in
>>toolchain/kernel-headers/kernel-headers.mk - Notice that arch/ppc is
>>deprecated, you should use arch/powerpc nowadays.
>
> Somebody did IMHO the Wrong Thing by silently unset'ing ARCH in the
> toplevel Makefile. The proper thing to do is either $(error ARCH is set)
> or, preferably, check that $ARCH is clean via dependencies.sh
> Silently unseting ARCH is error-prone and misleading (as you see).

So, how does one go to compile for a Xilinx ppc ?
Deprecated or not, various info I have insist that I should use ARCH=ppc
If I try:

$ make ARCH=ppc KERNEL_ARCH=ppc

Checking build system dependencies:
BUILDROOT_DL_DIR clean:                         Ok
CC clean:                                       Ok
CXX clean:                                      Ok
CPP clean:                                      Ok
CFLAGS clean:                                   Ok
INCLUDES clean:                                 Ok
CXXFLAGS clean:                                 Ok
LD_LIBRARY_PATH sane:                           Ok
which installed:                                Ok
sed works:                                      Ok (/bin/sed)
GNU make version '3.81':                        Ok
C compiler '/usr/bin/gcc'
C compiler version '3.4.6':                     Ok
C++ compiler '/usr/bin/g++'
C++ compiler version '3.4.6':                   Ok
bison installed:                                Ok
flex installed:                                 Ok
gettext installed:                              Ok
makeinfo installed:                             Ok
Build system dependencies:                      Ok

rm -rf /home/guinevere/buildroot/project_build_ppc/genepy/buildroot-config
mkdir -p /home/guinevere/buildroot/project_build_ppc/genepy
cp -dpRf package/config/buildroot-config 
/home/guinevere/buildroot/project_build_ppc/genepy/buildroot-config
(cd /home/guinevere/buildroot/toolchain_build_ppc/linux-2.6.24; \
         /usr/bin/make -j1 ARCH=ppc \
                HOSTCC="/usr/bin/gcc" HOSTCFLAGS="" \
                HOSTCXX="/usr/bin/g++" \
                INSTALL_HDR_PATH=/home/guinevere/buildroot/toolchain_build_ppc/linux 
headers_install; \
        )
make[1]: Entering directory 
`/home/guinevere/buildroot/toolchain_build_ppc/linux-2.6.24'
  CHK     include/linux/version.h
*** Error: Headers not exportable for this architecture (ppc)
make[1]: *** [headers_install] Error 1
make[1]: Leaving directory 
`/home/guinevere/buildroot/toolchain_build_ppc/linux-2.6.24'
make: *** [/home/guinevere/buildroot/toolchain_build_ppc/linux/.configured] 
Error 2


Am I supposed to try and edit some of the makefile to get them to use 
ARCH=ppc for the kernel ? I can't believe I'm the first one to use buildroot 
on a Xilinx board, so what am I doing wrong...?
-- 
Guillaume Dargaud
http://www.gdargaud.net/




More information about the buildroot mailing list