Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Bruce Ashfield <bruce.ashfield@windriver.com>
To: Koen Martens <gmc@sonologic.nl>
Cc: dvhart@linux.intel.com, openembedded-core@lists.openembedded.org
Subject: Re: adding kernel headers to sysroot
Date: Thu, 16 May 2013 11:41:20 -0400	[thread overview]
Message-ID: <5194FE20.6000505@windriver.com> (raw)
In-Reply-To: <20130516152515.GB25740@monk.dh.sono>

On 13-05-16 11:25 AM, Koen Martens wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hi all,
>
> I was asking this question on the irc channel earlier today, and bluelightning
> suggested I pose this question to this mailing list (with certain key people
> in cc).
>
> I have added a kernel header file to the linux kernel for my project, that
> exposes a public API for new kernel functionality I have implemented. This
> header file is needed to compile certain user-space programs. I have been
> trying to get this include file in the sysroot used to compile the user-
> space programs (as well as in the SDK i build for the project).
>
> However, I haven't managed to find out how to accomplish this. I tried
> creating a custom tarball from my own branch of the linux kernel, and use
> that in libc-kernel-headers, but alas that was not the trick.
>
> Can anyone point me in the right direction of how to accomplish this??

Aha! I can definitely point you in the right direction for this, it's 
something
that I'm working on *right* now. So the timing is good.

You definitely do not want to use libc headers, it is for just that,
libc. Modifying it is going to cause you all sorts of pain with respect
to rebuilds and consistency issues.

Since this is a new header (and not a modification of an existing one),
you are on better footing than you'd otherwise be (i.e. modifying
an existing header should be avoided at nearly all costs).

You should be able to see your kernel header file in the kernel source
that is part of the sysroot, just not in the common include locations.
is this the case for you ? Are you having build errors at the moment ?
(i.e. is this working at all ?).

There are a few approaches that I've taken, others can chime in if I
miss something obvious:

  - point your application at the STAGING_KERNEL_DIR and include the
    header from there. You are already coupled to the kernel, since
    you need this header, so it isn't as evil as it seems. This will
    also get you SDK support.

  - Install the header file to another location in the sysroot and
    include it from there. You can do this via an append to the
    kernel install. Assuming you don't collide with existing headers,
    you could use this to install into a standard location as well,
    but things start to get a bit more risk. You can also arrange

How often does the header file change ? If it really is static there's
another option, and that is to capture the header in the applications
themselves and simply use it that way. iptables, and other user application
have done this in the past, and will do it again in the future.

Cheers,

Bruce


>
> Thanks in advance,
>
> Koen Martens
>
> - --
> https://ohm2013.org/            - outdoor hacker conference, August 2013, NL
> http://www.sonologic.nl/        - hosting and DBA
> http://koenmartens.nl/          - curriculum vitae
> https://www.revspace.nl/        - hackerspace in Den Haag, NL
> http://signal.hackerspaces.org/ - hackerspace radio
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.12 (GNU/Linux)
>
> iEYEARECAAYFAlGU+lsACgkQktDgRrkFPpYH7QCfZROAcMkUVN+BiesoUtxBBzbt
> 5OQAoJBjIWbjmNf+wVvASyGwpcYeI6UH
> =HHSa
> -----END PGP SIGNATURE-----
>




  reply	other threads:[~2013-05-16 16:00 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-16 15:25 adding kernel headers to sysroot Koen Martens
2013-05-16 15:41 ` Bruce Ashfield [this message]
2013-06-02 14:30   ` Koen Martens
2013-06-02 20:31     ` Bruce Ashfield

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5194FE20.6000505@windriver.com \
    --to=bruce.ashfield@windriver.com \
    --cc=dvhart@linux.intel.com \
    --cc=gmc@sonologic.nl \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox