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'.
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 =.*CROSS_ COMPILE. gcc/CC = ccache $(CROSS_ COMPILE) gcc/' Makefile *=.*/do_ tools = false/' debian. linaro/ rules.d/ armel.mk *pkghdr. */echo skipping dh_strip for cross build/' debian/ rules.d/ 2-binary- arch.mk
> ## enable ccache
> sed -i -e 's/CC.*
> ## turn off tools
> sed -i -e 's/do_tools.
> ## turn off dh_strip
> sed -i -e 's/dh_strip.
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'.