Comment 3 for bug 715429

Revision history for this message
Amit Kucheria (amitk) wrote : Re: [Bug 715429] Re: xdeb fails to compile kernel

On 11 Feb 09, John Rigby wrote:
> When cross building I run the following script first. It 1. enables
> ccache which is usefull if you are repeating the build, 2. turns off the
> tools build (which is only on for the mx51 flavour since the tools are
> flavour independent so we only build once). 3. disables the dh_strip
> which is the problem seen here.

I don't agree with 2). It would be nice to have the perf tools.

'apt-get install linux-tools' gives me the tools for the 38-2 kernel from the
kernel team. So that doesn't work.

> #!/bin/sh
> ## enable ccache
> sed -i -e 's/CC.*=.*CROSS_COMPILE.gcc/CC = ccache $(CROSS_COMPILE)gcc/' Makefile
> ## turn off tools
> sed -i -e 's/do_tools.*=.*/do_tools = false/' debian.linaro/rules.d/armel.mk
> ## turn off dh_strip
> sed -i -e 's/dh_strip.*pkghdr.*/echo skipping dh_strip for cross build/' debian/rules.d/2-binary-arch.mk

Why can't ccache be an environment variable like CROSS_COMPILE? If set, we use it.

> As Loic mentions, the proper fix for the dh_strip problem is to make the
> linux-headers properly cross compile so there will be an arm binary
> there for the arm dh_strip to work on. I have researched but not yet
> implement that fix. It involves teaching the kernel make that some of
> the binaries in scripts need to be compiled for both the host and the
> target.

the kallsyms is indeed a amd64 binary on my system.

> Also the do_tools issue is fixed (I think) if you install the necessary arm dev packages on your host:
> sudo xapt -a armel install libdw-dev
> sudo xapt -a armel install libelf-dev
>
> (after adding the right entry to your apt-whatever file...)

What should I add to apt sources.list?

I don't believe all this is documented. We need a wiki page for developers to
cross-compile their own kernels (similar to you page to create a new
flavour). People are reverting to their own kernels and processes because it
is too hard to flash a new kernel using the 'ubuntu-way'.