Hi Wayne,

The rootfs/usr/include/... area is populated as packages build. This is the area where packages should share public interfaces to their resources.

In the case of the kernel, this area (rootfs/usr/include/linux) should be the public userspace/linux header interface. So you need to decide whether or not these headers should be accessible from userspace (take a look at the existing BSP where you got this from to see what they do).

If this is not for userspace (for example some kernel module), then it's acceptable to reference headers from rpm/BUILD/linux/.... however if you need to do this, the using package should make sure to set the dependency for kernel headers, for example if you look at config/userspace/packages.lkc you'll see iproute needs the internal kernel header and is set as follows:

config PKG_IPROUTE
    depends CAP_HAS_MMU
    depends !KERNEL_NONE
    select PKG_KERNEL_WANT_HEADERS
    bool "iproute(2)"

Regards, Stuart

On 27/06/11 17:30, Wayne Tams wrote:
Hi,

When I look at a more verbose gcc output, I can see that the build is searching /ltib/rootfs/usr/src/linux/include. I didn't realise that the RFS was something I had to consider when the packages were being built, I just thought the build files came from the elsewhere. Right, please bare with me, am I right in saying that /ltib/rootfs/usr/src/linux/include is populated during the kernel build and then the packages are built against that location. So really what I need to be doing is figuring out at what point ipu.h and mxcfb.h should be copied into the RFS and how this act is achieved.

Thanks for the assistance so far, very much a learning process for me.

Regards

Wayne



On Mon, Jun 27, 2011 at 4:49 PM, Stuart Hughes <[email protected] <mailto:[email protected]>> wrote:

    Hi Wayne,

    Looking at the output you posted, lines 84/85 seem to be the root
    of the problem:

        In file included from mxc_ipu_hl_lib.c:45:
        mxc_ipu_hl_lib.h:96:23: error: linux/ipu.h: No such file or
        directory
        mxc_ipu_hl_lib.h:97:25: error: linux/mxcfb.h: No such file or
        directory

    You need to make sure that these headers are available in your
    kernel source tree, and that they get installed into the
    rootfs/usr/src/linux/include area.  I'm assuming that they're
    something that should be publicly exported? (check in the original
    BSP if you can).

    Alternatively, you could access them by adding a -I to
    rpm/BUILD/linux, however that's not really a good idea if the
    using package is userspace (it should not be groping around the
    internal kernel headers).

    Regards, Stuart


    On 27/06/11 15:08, Wayne Tams wrote:
    Hi Stuart,

    Your advice helped and I have managed to build a kernel using the
    kernel source from the SoM BSP. I had to do some tweaking as LTIB
    fails the build at imx-lib. This may be outside your remit but I
    am wondering if you can over a suggestion on how to fix this
    problem,  the log is located here,
    http://pastebin.com/Btb1mN58 lines 84 and 85 don't make any sense
    to me as I have added them from the Freescale BSP to my BSP but
    the build still can't find them.

    Thanks

    Wayne

    On Wed, Jun 22, 2011 at 9:04 AM, Stuart Hughes <[email protected]
    <mailto:[email protected]>> wrote:

        Hi Wayne,

        I was the main (almost only) developer of LTIB back when I
        worked at Freescale.  At the time I left, aside from some
        unpublished BSPs, the tools were the same.  I'm not sure what
        has happened since I left (over 2 years ago), but I would say
        that if their BSP does what you want, stick with that; if not
        then Savannah CVS may be better in terms of getting help (if
        you are a customer of Freescale's they may help too).

        To help you with this question you really need to send a
        patch (diff) showing what you've changed and also the output
        of any failure messages.

        So far as the ltib kernel config processing goes, here's how
        it works:

        1. First build: use the one in config/platform/_target_/
        named in the choice selected when you run ./ltib -m config
        (or the one named in the config/platform/_target_/defconfig
        if you don't change anything).

        2. Once the kernel has been built, an updated kernel .config
        file will be placed in
        config/platform/_target_/_kernel_config_name.dev.  The reason
        for this is that:
            * Running the kernel configuration parser can (will)
        change the input kernel config file
            * You may have selected other options (if you ran: ./ltib
        -p kernel --configure

        There is some useful documentation on the website:
        http://ltib.org  (the FAQ) and also in the doc directory in
        the LTIB source tree.  It's worth scanning that for ideas.

        Bottom line; send a patch/actual output and the people on
        this list may be able to see what the issue is and help you.

        Regards, Stuart


        On 21/06/11 14:40, Wayne Tams wrote:
        Hi Stuart,

        Thanks for the the reply, please bare with me, I'm new to
        LTIB and embedded Linux.

        I first tried changing the default toolchain, kernel source
        and toolchain prefix in LTIB, with the default kernel
        configuration, the build failed.

        This failure might have something to do with the kernel
        config, it would appear that the config that had been used
        isn't that of the default config from the kernel source. If
        I were to 'make menuconfig' the kernel source the menu that
        appears has a list of different options when compared to the
        kernel menuconfig that LTIB starts up. I had a look at
        main.lkc but I don't quite understand why LTIB is ignoring
        the default .config for the kernel and appears to be using
        some other .config, i.e I'm not sure which config is being used?

        Would I be better dumping the freescale version of LTIB and
        using the CVS version, is there any difference except for
        the supported platforms?

        Thanks

        Wayne

        On Tue, Jun 21, 2011 at 8:46 AM, Stuart Hughes <[email protected]
        <mailto:[email protected]>> wrote:

            Hi Wayne,

            Making the changes are easy.  Basically you need to edit
            the config/platform/_target_/main.lkc file to refer to
            the toolchain/kernel you want to use.  Make sure to copy
            also the correct TOOLCHAIN_FLAGS etc from the existing
            BSP using those assets.

            The main thing you'll need to do is to test.

            Regards, Stuart


            On 20/06/11 16:49, Wayne Tams wrote:
            Hi,

            Is it difficult to integrate kernel source and a
            tool-chain into LTIB from another BSP. The reason I ask
            is that I am using an i.MX53 based SoM and the build
            tools are bad and I really like using LTIB, my exposure
            coming from using LTIB with the i.MX53QSB.

            I can see from the Freescale provided LTIB that I could
            select custom kernel source and a custom toolchain,
            what are likely outcomes if I were to change these? Do
            I need to be digging deeper and look at modifying other
            files?

            Regards

            Wayne







    _______________________________________________
    LTIB home page:http://ltib.org

    Ltib mailing list
    [email protected]  <mailto:[email protected]>
    https://lists.nongnu.org/mailman/listinfo/ltib



_______________________________________________
LTIB home page: http://ltib.org

Ltib mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/ltib

_______________________________________________
LTIB home page: http://ltib.org

Ltib mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/ltib

Reply via email to