On Wed, Jun 15, 2011 at 8:36 PM, James Westby <james.wes...@linaro.org>wrote:

> Hi,
>
> My apologies, I forgot to say that I had to use
>
>  make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- KBUILD_DEBARCH=armel \
>  deb-pkg
>

ah! thanks James it helped.

>
> which tells it to build the package for armel.
>
> Thanks,
>
> James
>
> On Wed, 15 Jun 2011 17:24:03 +0530, Deepti Kalakeri <
> deepti.kalak...@linaro.org> wrote:
> > Hello James,
> >
> > I applied the patch you provided and tried the steps you mentioned. I am
> > using omap2plus_defconfig, but the make deb-pkg fails with the following
> > error:
> >
> > dpkg-gencontrol: error: current host architecture 'armel' does not appear
> in
> > package's architecture list ()
> > make[1]: *** [deb-pkg] Error 255
> > make: *** [deb-pkg] Error 2
> >
> > Any idea of why this could be ?
> >
> > Thanks and Regards,
> > Deepti.
> >
> > On Wed, Jun 15, 2011 at 1:44 AM, James Westby <james.wes...@linaro.org
> >wrote:
> >
> > > Hi,
> > >
> > > I just tried .39 and there's no OMAP4, so the headers install if I use
> > > the omap2plus_defconfig.
> > >
> > > I was then able to get deb-pkg to work after a fix to allow
> > > cross-building the package.
> > >
> > > This seems to produce something reasonable for us to use, but it may be
> > > more robust to use the defconfigs with the PackageYourOwnKernel
> > > solution.
> > >
> > > Thanks,
> > >
> > > James
> > >
> > > P.S. here's the hacky change to support cross build deb-pkg
> > >
> > > diff --git a/scripts/package/builddeb b/scripts/package/builddeb
> > > index f6cbc3d..ea33db3 100644
> > > --- a/scripts/package/builddeb
> > > +++ b/scripts/package/builddeb
> > > @@ -12,6 +12,43 @@
> > >
> > >  set -e
> > >
> > > +# Attempt to find the correct Debian architecture
> > > +forcearch=""
> > > +debarch=""
> > > +case "$UTS_MACHINE" in
> > > +i386|ia64|alpha)
> > > +    debarch="$UTS_MACHINE" ;;
> > > +x86_64)
> > > +    debarch=amd64 ;;
> > > +sparc*)
> > > +    debarch=sparc ;;
> > > +s390*)
> > > +    debarch=s390 ;;
> > > +ppc*)
> > > +    debarch=powerpc ;;
> > > +parisc*)
> > > +    debarch=hppa ;;
> > > +mips*)
> > > +    debarch=mips$(grep -q CPU_LITTLE_ENDIAN=y .config && echo el) ;;
> > > +arm*)
> > > +    debarch=arm$(grep -q CONFIG_AEABI=y .config && echo el) ;;
> > > +*)
> > > +    echo "" >&2
> > > +    echo "** ** **  WARNING  ** ** **" >&2
> > > +    echo "" >&2
> > > +    echo "Your architecture doesn't have it's equivalent" >&2
> > > +    echo "Debian userspace architecture defined!" >&2
> > > +    echo "Falling back to using your current userspace instead!" >&2
> > > +    echo "Please add support for $UTS_MACHINE to ${0} ..." >&2
> > > +    echo "" >&2
> > > +esac
> > > +if [ -z "$KBUILD_DEBARCH" ] ; then
> > > +    debarch="$KBUILD_DEBARCH"
> > > +fi
> > > +if [ -n "$debarch" ] ; then
> > > +    forcearch="-DArchitecture=$debarch"
> > > +fi
> > > +
> > >  create_package() {
> > >        local pname="$1" pdir="$2"
> > >
> > > @@ -25,42 +62,6 @@ create_package() {
> > >        chown -R root:root "$pdir"
> > >        chmod -R go-w "$pdir"
> > >
> > > -       # Attempt to find the correct Debian architecture
> > > -       local forcearch="" debarch=""
> > > -       case "$UTS_MACHINE" in
> > > -       i386|ia64|alpha)
> > > -               debarch="$UTS_MACHINE" ;;
> > > -       x86_64)
> > > -               debarch=amd64 ;;
> > > -       sparc*)
> > > -               debarch=sparc ;;
> > > -       s390*)
> > > -               debarch=s390 ;;
> > > -       ppc*)
> > > -               debarch=powerpc ;;
> > > -       parisc*)
> > > -               debarch=hppa ;;
> > > -       mips*)
> > > -               debarch=mips$(grep -q CPU_LITTLE_ENDIAN=y .config &&
> echo
> > > el) ;;
> > > -       arm*)
> > > -               debarch=arm$(grep -q CONFIG_AEABI=y .config && echo el)
> ;;
> > > -       *)
> > > -               echo "" >&2
> > > -               echo "** ** **  WARNING  ** ** **" >&2
> > > -               echo "" >&2
> > > -               echo "Your architecture doesn't have it's equivalent"
> >&2
> > > -               echo "Debian userspace architecture defined!" >&2
> > > -               echo "Falling back to using your current userspace
> > > instead!" >&2
> > > -               echo "Please add support for $UTS_MACHINE to ${0} ..."
> >&2
> > > -               echo "" >&2
> > > -       esac
> > > -       if [ -n "$KBUILD_DEBARCH" ] ; then
> > > -               debarch="$KBUILD_DEBARCH"
> > > -       fi
> > > -       if [ -n "$debarch" ] ; then
> > > -               forcearch="-DArchitecture=$debarch"
> > > -       fi
> > > -
> > >        # Create the package
> > >        dpkg-gencontrol -isp $forcearch -p$pname -P"$pdir"
> > >        dpkg --build "$pdir" ..
> > > @@ -246,15 +247,14 @@ mkdir -p "$destdir"
> > >  (cd $srctree; tar -c -f - -T /tmp/files$$) | (cd $destdir; tar -xf -)
> > >  (cd $objtree; tar -c -f - -T /tmp/objfiles$$) | (cd $destdir; tar -xf
> -)
> > >  rm -f /tmp/files$$ /tmp/objfiles$$
> > > -arch=$(dpkg --print-architecture)
> > >
> > >  cat <<EOF >> debian/control
> > >
> > >  Package: $kernel_headers_packagename
> > >  Provides: linux-headers, linux-headers-2.6
> > > -Architecture: $arch
> > > -Description: Linux kernel headers for $KERNELRELEASE on $arch
> > > - This package provides kernel header files for $KERNELRELEASE on $arch
> > > +Architecture: $debarch
> > > +Description: Linux kernel headers for $KERNELRELEASE on $debarch
> > > + This package provides kernel header files for $KERNELRELEASE on
> $debarch
> > >  .
> > >  This is useful for people who need to build external modules
> > >  EOF
> > >
> > >
> > > On Mon, 13 Jun 2011 21:14:09 -0400, James Westby <
> james.wes...@linaro.org>
> > > wrote:
> > > > On Mon, 13 Jun 2011 15:31:21 -0600, Matt Waddel <
> > > matt.wad...@canonical.com> wrote:
> > > > > AIUI, the config errors you listed need to be fixed by going
> through
> > > > > the kernel configuration and enabling or disabling these options as
> > > > > requested. So in the first example from the failure log you sent:
> > > > >
> > > > > check-config: FAIL: value CONFIG_DEVKMEM n
> > > > >
> > > > > means CONFIG_DEVKMEM is disabled when it should be enabled. So
> using
> > > > > "fdr editconfigs" you need to find and change that configuration
> > > option.
> > > > >
> > > > > When I tried this on Friday I had to run this step a few times
> because
> > > > > of kernel dependencies.  The process is outlined in these sections:
> > > > >
> > > > > Update Your Kernel Config
> > > > > Fix-up Your Kernel Config
> > > > > Bypass Remaining Config Errors
> > > >
> > > > This doesn't really work for us as we need to do this daily in an
> > > > automated fashion.
> > > >
> > > > Is there a way to use the defconfigs for this kernel build?
> > > >
> > > > To look in to another way I had heard of, "make deb" (which turned
> out
> > > > to be "make deb-pkg"), I just tried this:
> > > >
> > > > sudo apt-get install gcc-arm-linux-gnueabi
> > > > git clone git://git.linaro.org/kernel/linux-linaro-2.6.38.git
> > > > cd linux-linaro-2.6.38/
> > > > make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- omap4_defconfig
> > > > make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- uImage
> > > > make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- modules
> > > > make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- deb-pkg
> > > >
> > > > which then dies with
> > > >
> > > >   INSTALL include/asm (32 files)
> > > >   CHECK   include/asm-generic (34 files)
> > > >   CHECK   include/drm (14 files)
> > > > /tmp/linux-linaro-2.6.38/usr/include/drm/drm_mode.h:85: found
> > > __[us]{8,16,32,64} type without #include <linux/types.h>
> > > > /tmp/linux-linaro-2.6.38/usr/include/drm/i915_drm.h:120: found
> > > __[us]{8,16,32,64} type without #include <linux/types.h>
> > > > /tmp/linux-linaro-2.6.38/usr/include/drm/mga_drm.h:260: found
> > > __[us]{8,16,32,64} type without #include <linux/types.h>
> > > > /tmp/linux-linaro-2.6.38/usr/include/drm/radeon_drm.h:758: found
> > > __[us]{8,16,32,64} type without #include <linux/types.h>
> > > > /tmp/linux-linaro-2.6.38/usr/include/drm/via_drm.h:117: found
> > > __[us]{8,16,32,64} type without #include <linux/types.h>
> > > >   CHECK   include/linux/byteorder (2 files)
> > > >   CHECK   include/linux/caif (2 files)
> > > >   CHECK   include/linux/can (4 files)
> > > >   CHECK   include/linux/dvb (8 files)
> > > >   CHECK   include/linux/hdlc (1 files)
> > > >   CHECK   include/linux/isdn (1 files)
> > > >   CHECK   include/linux/netfilter (64 files)
> > > >   CHECK   include/linux/netfilter_arp (2 files)
> > > >   CHECK   include/linux/netfilter_bridge (18 files)
> > > >   CHECK   include/linux/netfilter_ipv4 (14 files)
> > > >   CHECK   include/linux/netfilter_ipv6 (11 files)
> > > >   CHECK   include/linux/nfsd (6 files)
> > > >   CHECK   include/linux/raid (2 files)
> > > >   CHECK   include/linux/spi (1 files)
> > > >   CHECK   include/linux/sunrpc (1 files)
> > > >   CHECK   include/linux/tc_act (7 files)
> > > >   CHECK   include/linux/tc_ematch (4 files)
> > > >   CHECK   include/linux/usb (9 files)
> > > >   CHECK   include/linux/wimax (1 files)
> > > >   CHECK   include/linux (360 files)
> > > > /tmp/linux-linaro-2.6.38/usr/include/linux/kernel.h:58: userspace
> cannot
> > > reference function or variable defined in the kernel
> > > > /tmp/linux-linaro-2.6.38/usr/include/linux/omap_gpu.h:23: included
> file
> > > 'linux/module.h' is not exported
> > > > /tmp/linux-linaro-2.6.38/usr/include/linux/omap_gpu.h:46: userspace
> > > cannot reference function or variable defined in the kernel
> > > > /tmp/linux-linaro-2.6.38/usr/include/linux/omap_gpu.h:47: userspace
> > > cannot reference function or variable defined in the kernel
> > > > /tmp/linux-linaro-2.6.38/usr/include/linux/omap_gpu.h:52: userspace
> > > cannot reference function or variable defined in the kernel
> > > > /tmp/linux-linaro-2.6.38/usr/include/linux/omap_gpu.h:54: userspace
> > > cannot reference function or variable defined in the kernel
> > > > /tmp/linux-linaro-2.6.38/usr/include/linux/omap_gpu.h:56: userspace
> > > cannot reference function or variable defined in the kernel
> > > > /tmp/linux-linaro-2.6.38/usr/include/linux/omap_gpu.h:60: userspace
> > > cannot reference function or variable defined in the kernel
> > > > /tmp/linux-linaro-2.6.38/usr/include/linux/omap_gpu.h:64: userspace
> > > cannot reference function or variable defined in the kernel
> > > > /tmp/linux-linaro-2.6.38/usr/include/linux/quota.h:175: userspace
> cannot
> > > reference function or variable defined in the kernel
> > > > /tmp/linux-linaro-2.6.38/usr/include/linux/sdla.h:116: userspace
> cannot
> > > reference function or variable defined in the kernel
> > > > /tmp/linux-linaro-2.6.38/usr/include/linux/soundcard.h:1054:
> userspace
> > > cannot reference function or variable defined in the kernel
> > > > make[4]: *** [/tmp/linux-linaro-2.6.38/usr/include/linux/.check]
> Error
> > > 123
> > > > make[3]: *** [linux] Error 2
> > > > make[2]: *** [headers_check] Error 2
> > > > make[1]: *** [deb-pkg] Error 2
> > > > make: *** [deb-pkg] Error 2
> > > >
> > > > What's the fix for that?
> > > >
> > > > Thanks,
> > > >
> > > > James
> > >
> Non-text part: text/html
>

Thanks and Regards,
Deepti.
_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to