ltib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Ltib] Copying kernel headers fails in new kernel source trees


From: Stuart Hughes
Subject: RE: [Ltib] Copying kernel headers fails in new kernel source trees
Date: Wed, 28 Jan 2009 17:33:37 +0000

Hi Kevin,

The intention was not to copy all the headers, in the test case I used
only one was selected in the construct:

            cd $KBOUT
            mach_dir="`/bin/ls -d arch/arm/mach-*`"

I need to revisit this.  Is there an example platform I can use in the
kernel.org sources that is representative that can build from its
default config?

It it can be done, I'd prefer not to have to tag particular kernels in
main.lkc.

Regards, Stuart

On Wed, 2009-01-28 at 17:54 +0100, Kevin Wells wrote:
> Hi Stuart,
> 
> The patch seems to copy all(?) the header files from all the ARM platforms to 
> the root fs. I'm not an ARM Linux expert either, but I would guess that 
> platforms that run toolchains on their target hardware might need these 
> files. (I've think I've noticed a few packages automatically enable header 
> copying when they are selected).
> 
> This change seems to have occurred in kernel 2.6.26. Maybe adding a new 
> environment variable in main.lkc will fix this and allow compatability with 
> the pre-2.6.26 source tree. This would make the responsibility of making the 
> kernel copy option work with the platform developers (while not breaking any 
> existing platforms or pre-2.6.26 platforms).
> 
> Maybe something like this in main.lkc that's tagged from the selected kernel 
> build option..
> ***
> config PKG_HDR_IF_CUSTOM
>       depends KERNEL_DIR_BUILD
>       bool "Custom kernel is 2.26 or later"
> 
> config PKG_HDR_USE_PLATFORM_NAME
>     default n
>     default n if PHY_KERNEL_2_6_10
>     default n if PHY_KERNEL_2_6_25
>     default y if PHY_KERNEL_2_6_26
>     default y if PHY_KERNEL_2_6_27_8
>     default PKG_HDR_IF_CUSTOM if KERNEL_DIR_BUILD
> 
> config PKG_LNX_ARCH_NAME
>     string "mach-lpc32xx"
> 
> And in the kernel template spec file, it would look for at 
> PKG_HDR_USE_PLATFORM_NAME tag and if set
> 
>      if [ "${LINTARCH}" = "arm" ]
>      then
>         mkdir -p $RPM_BUILD_ROOT/%{pfx}/usr/src/linux/include/asm/arch
>         if [ "${ PKG_HDR_USE_PLATFORM_NAME }" = "n" ]
>         then
>             cp -a $KBOUT/include/asm/arch/* 
> $RPM_BUILD_ROOT/%{pfx}/usr/src/linux/include/asm/arch
>         else
>             cp -a $mach_dir/include/mach/${PKG_LNX_ARCH_NAME}/include/arch 
> $RPM_BUILD_ROOT/%{pfx}/usr/src/linux/include/asm/arch
>         fi
>      fi
>  fi
> 
> Sorry if my syntax is wrong on this.
> 
> thanks,
> Kevin Wells
> NXP
> 
> > -----Original Message-----
> > Sent: Tuesday, January 27, 2009 4:02 AM
> > 
> > Hi Kevin,
> > 
> > I've checked in the attached patch to CVS.  This will do the equivalent of
> > earlier kernels with regard to these headers.  However I'm not sure if
> > this is the right thing to do as if you look you'll see that the asm/arch
> > headers are no longer in the KBOUT (built output) area and so I've made
> > the copy from the kernel source tree.  My worry is whether these headers
> > are supposed to be exported out of the kernel? I think this needs
> > confirmation by some ARM experts.
> > 
> > Regards, Stuart
> > 
> > On Thu, 2009-01-22 at 16:26 +0000, Stuart Hughes wrote:
> > > Hi Kevin,
> > >
> > > I see the problem, I will think about this and get back to you.  In
> > > the mean time do you know how this gets handled by other projects? is
> > > it included as part of the userspace 'make headers_install' target?
> > >
> > > Regards, Stuart
> > >
> > > On Wed, 2009-01-21 at 22:27 +0100, Kevin Wells wrote:
> > > > Somewhere between kernel 2.6.25 and 2.6.27.8, the architecture/board
> > > > specific header files in the kernel source tree were moved from
> > > >
> > > > include/asm-arm/arch/mach-<board>/
> > > >
> > > > to
> > > >
> > > > arch/arm/mach-<chip>/include/mach/
> > > >
> > > >
> > > >
> > > > It seems that the symbolic link at include/asm/arch was also removed
> > > > when all the platform header files were moved to the arch/arm area
> > > > (I can't find the equivalent of this link in the newer kernel source
> > > > trees).
> > > >
> > > >
> > > >
> > > > In the PKG_KERNEL_WANT_HEADERS option is enabled, the arm
> > > > architecture specific copy of the platform files now fails in these
> > > > newer kernel sources as the include/asm/arch link is no longer there.
> > > >
> > > >
> > > >
> > > > So the current copy command of (sorry about any typos, I'm hand
> > > > typing
> > > > this...):
> > > >
> > > >                 cp -a $KBOUT/include/asm/arch/*
> > > > $RPM_BUILD_ROOT/%{pfx}/usr/src/linx/include/asm/arch
> > > >
> > > > needs to be replaced with
> > > >
> > > >                 cp -a
> > > > $KBOUT/include/arch/arch/mach-<chip>/include/mach/*
> > > > $RPM_BUILD_ROOT/%{pfx}/usr/src/linx/include/asm/arch
> > > >
> > > > on these newer source trees.
> > > >
> > > >
> > > >
> > > > Short of creating a few new flags in main.lkc to handle this and
> > > > adding a new case in the kernel spec template, is there any other
> > > > way to get this change handled in the spec file?
> > > >
> > > >
> > > >
> > > > Thanks,
> > > >
> > > > Kevin Wells
> > > >
> > > > NXP
> > > >
> > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > LTIB home page: http://bitshrine.org
> > > >
> > > > Ltib mailing list
> > > > address@hidden
> > > > http://lists.nongnu.org/mailman/listinfo/ltib
> > >
> > >
> > >
> > > _______________________________________________
> > > LTIB home page: http://bitshrine.org
> > >
> > > Ltib mailing list
> > > address@hidden
> > > http://lists.nongnu.org/mailman/listinfo/ltib
> > >
> 
> 
> _______________________________________________
> LTIB home page: http://bitshrine.org
> 
> Ltib mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/ltib
> 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]