← Back to team overview

tiomap-dev team mailing list archive

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

 

** Also affects: linux-linaro-mx51 (Ubuntu)
   Importance: Undecided
       Status: New

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

Title:
  Cross compiled headers package breaks DKMS compilation

Status in Dynamic Kernel Module Support:
  New
Status in “linux-linaro-mx51” package in Ubuntu:
  New
Status in “linux-ti-omap4” package in Ubuntu:
  New

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'.