← Back to team overview

tiomap-dev team mailing list archive

[Bug 666267] Re: Cross compiled headers package breaks DKMS compilation

 

Apoogies for the duplication, this is more accurately the package I am
looking at.

Checking out bca641b96bb12e4d892ad10498c7877e14d24abc

Author: Paolo Pisati <paolo.pisati@xxxxxxxxxxxxx>
Date: Wed Dec 14 17:23:24 2011 +0100

    UBUNTU: Ubuntu-3.0.0-1206.14

and cross compiling on an x86_64 for omap4 as, for example,

CROSS_COMPILE=arm-linux-gnueabi- do_tools=false dpkg-buildpackage -B
-aarmel -uc -us

I am still left with x86_64 scripts as opposed to ARM executables
causing DKMS issues installing the header package.

I see that the KBUILD_SCRIPTROOT "fix" was reverted.

commit d3cefbb1062fc018a476190043e76f680bf5e2f0
Author: Tim Gardner <tim.gardner@xxxxxxxxxxxxx>
Date: Mon Nov 7 17:50:52 2011 +0000

    Revert "LINARO: Use KBUILD_SCRIPTROOT to cross build scripts"

    This reverts commit d18a6e2590dcde348e7ece6f5e2d76085663413b.

    Breaks cross compile in Oneiric x86 chroots.

With some persuasion, doing something along the lines of

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-
KERNELVERSION=3.0.0-1206-omap4 CONFIG_DEBUG_SECTION_MISMATCH=y
KBUILD_BUILD_VERSION="14" LOCALVERSION= localver-extra=
O=<header_package_path> HOSTCC=arm-linux-gnueabi-gcc
KBUILD_SCRIPTROOT=<build_omap4 path> -j1 silentoldconfig prepare scripts

seems to successfully build the ARM scripts. But that required me to
make some edits to the make files.

Is this indeed still broken? Or am I missing the correct incantation for
executing the cross compile?

-- 
You received this bug notification because you are a member of TI OMAP
Developers, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/666267

Title:
  Cross compiled headers package breaks DKMS compilation

Status in Dynamic Kernel Module Support:
  Won't Fix
Status in Linaro Ubuntu Evaluation Builds:
  Fix Released
Status in “linux-linaro-mx51” package in Ubuntu:
  New
Status in “linux-ti-omap4” package in Ubuntu:
  Fix Released

Bug description:
  When cross-compiling headers package on a PC, some x86 programs get shipped in the .deb.
  Those programs get called during later compilation of DKMS modules, breaking the build.

  Faulty binaries are:

    scripts/mod/mk_elfconfig
    scripts/mod/modpost
    scripts/kconfig/conf
    scripts/basic/hash
    scripts/basic/docproc
    scripts/basic/fixdep
    scripts/bin2c
    scripts/kallsyms
    scripts/pnmtologo
    scripts/conmakehash
    scripts/selinux/genheaders/genheaders
    scripts/selinux/mdp/mdp

  Starting with, for example:

    https://launchpad.net/ubuntu/+archive/primary/+files/linux-ti-omap4_2.6.35.orig.tar.gz
    https://launchpad.net/ubuntu/+archive/primary/+files/linux-ti-omap4_2.6.35-903.16.diff.gz
    https://launchpad.net/ubuntu/+archive/primary/+files/linux-ti-omap4_2.6.35-903.16.dsc

  Extract with 'dpkg-source -x linux-ti-omap4_2.6.35-903.16.dsc'.
  Cross compilation is done with:

    fakeroot debian/rules clean
    export $(dpkg-architecture -aarmel)
    CROSS_COMPILE=arm-linux-gnueabi- skipabi=true skipmodule=true fakeroot debian/rules binary-omap4

  To obtain cross compilers, add the following line to your
  '/etc/apt/sources.list':

    deb http://people.canonical.com/~hrw/ubuntu-maverick-armel-cross-
  compilers/ ./

  Then install 'gcc-4.4-arm-linux-gnueabi'.
  After cross build, the resulting .deb are:

    linux-headers-2.6.35-903-omap4_2.6.35-903.16_armel.deb
    linux-image-2.6.35-903-omap4_2.6.35-903.16_armel.deb

  One can check the shipped x86 binaries by extracting the .deb:

    dpkg -x linux-headers-2.6.35-903-omap4_2.6.35-903.16_armel.deb
  extract

  ...and searching for x86 executables:

    find extract/usr/src/linux-headers-2.6.35-903-omap4/scripts -type f
  -exec file "{}" \; |grep ELF |grep x86 |sed 's,:.*,,'

  Some more details on cross compiling can be found at
  'http://idlethread.blogspot.com/2009/01/recipe-of-day-cross-compiling-
  armel.html'.

To manage notifications about this bug go to:
https://bugs.launchpad.net/dkms/+bug/666267/+subscriptions