[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

How to cross-compile a kernel for armel, not arm?


I'm running Debian Lenny on my LaCie NAS, armel architecture.

I compiled a new kernel on my i386 Lenny box, using the Emdebian 
toolchain and the make-kpkg tool.

The kernel works nicely, but the resulting Debian package is for 
"arm", not for "armel" so I cannot install it with dpkg -i, I 
must copy the files manually.

Can someone please tell me how to get an "armel" package?

Here it is my recipe:

Install on the Lenny i386 box the following packages from 

    *  gcc-4.3-arm-linux-gnu-base
    *  gcc-4.3-arm-linux-gnueabi-base
    *  g++-4.3-arm-linux-gnueabi
    *  libgcc1-armel-cross
    *  libc6-armel-cross
    *  libc6-dev-armel-cross
    *  binutils-arm-linux-gnueabi

Install the linux-source-2.6.32 and unpack it.

cd /usr/src/linux
export CROSS_COMPILE=arm-linux-gnueabi-
export ARCH=arm
make-kpkg --arch arm --cross_compile=arm-linux-gnueabi- clean
make-kpkg --revision=lacie.0.1 --initrd --arch=arm --cross_compile=arm-linux-gnueabi- kernel_image

NOTICE that if I do an "export ARCH=armel" and/or use "--arch 
armel", the compile will fail.

Niccolo Rigacci
Firenze - Italy

Reply to: