tiomap-dev team mailing list archive
-
tiomap-dev team
-
Mailing list archive
-
Message #00827
[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