[OE-core] [PATCH 0/2] Support for VirtualBox guest additions

Mark Hatle mark.hatle at windriver.com
Tue Aug 4 19:22:02 UTC 2015


On 8/4/15 2:10 PM, Bystricky, Juro wrote:
> I am pretty sure initially I tried to use kernel-devsrc  to install VirtualBox guest additions.
> It did not work out of the box for me, there were either files missing or they were not in expected locations.
> It is possible it could  be made to work with some modified installation,  but the size is an issue 
> as well: kernel-devsrc packs over 500MB (uncompressed).

This can be dealt with.  If necessary splitting into two packages, the minimal
components and 'everything else', but should still be generated from the
kernel-devsrc recipe.

But really is 500MB a problem when using the build-appliance?  (You wouldn't use
any of these on a memory constrained target anyway -- you'd pre-build any
modules elsewhere.. so that shouldn't be a consideration.)

> The source code is only needed when you want to reconfigure/rebuild the kernel.
> Out-of-tree modules generally don't need any additional source code, typically only header files.

Some out of tree modules want to get access to more then just the header files.

--Mark

> Juro
> 
> 
>> -----Original Message-----
>> From: Mark Hatle [mailto:mark.hatle at windriver.com]
>> Sent: Tuesday, August 4, 2015 10:32 AM
>> To: Bystricky, Juro; openembedded-core at lists.openembedded.org;
>> jurobystricky at hotmail.com
>> Cc: Purdie, Richard
>> Subject: Re: [OE-core] [PATCH 0/2] Support for VirtualBox guest additions
>>
>> On 8/4/15 12:25 PM, Bystricky, Juro wrote:
>>> I agree, the name "kernel-headers" may not be the most fortunate, "linux-
>> headers"
>>> is probably more fitting.  The recipe installs the files in a similar
>>> fashion that is done by
>>>
>>> apt-get install linux-headers-$(uname -r)
>>>
>>> Typical contents can be viewed for example here:
>>> https://www.archlinux.org/packages/core/i686/linux-headers/
>>>
>>> These files are needed to allow building  of kernel drivers against
>>> the running Linux kernel. In a way, it is a subset of kernel-devsrc,
>>> but including  ".config" file used for the actual running kernel.
>>
>> Again this is part of the purpose of the existing kernel-devsrc package.  So
>> what is missing preventing this from working.  It likely needs to be added to
>> the kernel-devsrc package instead (or a sub package that is created by the
>> kernel-devsrc recipe.)
>>
>>> Having these files installed, it is possible  to compile additional
>>> kernel drivers that are not part of the kernel-devsrc .
>>>  VirtualBox compiles some of their own drivers this way, others as well.
>>> There are many other scenarios where you may want to add a new kernel
>>> driver to an already installed Linux kernel.
>>
>> Yes, this was part of the design behind the kernel-devsrc, make sure the
>> sources and components used to build the running kernel were made
>> available to the target so that out-of-tree/external kernel modules could be
>> built to match the running system -- as well as the ability to reconfigure and
>> rebuild the kernel itself.
>>
>> Bruce is on vacation this week and may not be around to respond, but adding
>> yet another package is not the right answer here.  Lets fix what may be
>> broken in what we have.
>>
>> --Mark
>>
>>> Juro
>>>
>>>
>>>
>>>> -----Original Message-----
>>>> From: Mark Hatle [mailto:mark.hatle at windriver.com]
>>>> Sent: Tuesday, August 4, 2015 9:20 AM
>>>> To: Bystricky, Juro; openembedded-core at lists.openembedded.org;
>>>> jurobystricky at hotmail.com
>>>> Cc: Purdie, Richard
>>>> Subject: Re: [OE-core] [PATCH 0/2] Support for VirtualBox guest
>>>> additions
>>>>
>>>> On 8/3/15 3:35 PM, Juro Bystricky wrote:
>>>>> In order to support VirtualBox guest additions, kernel headers need
>>>>> to be present in the VM. I am aware we already have two
>>>>> packages/recipes that are somewhat similar (kernel-devsrc.bb,
>>>>> linux-libc-headers), but none
>>>> of them is suitable for this purpose.
>>>>> Besides the kernel headers, some additional files (scripts,
>>>>> Makefiles, .config, etc) are also required.
>>>>
>>>> linux-libc-headers is only for building applications.  kernel-devsrc
>>>> is for building modules on the target.
>>>>
>>>> What do these specific modules need that are not present in kernel-
>> devsrc?
>>>> (I really don't want 'yet another' confusing package added to the
>>>> system.)
>>>>
>>>>> The new recipe "kernel-headers.bb" can in principle be used by other
>>>> images as well.
>>>>> It is not limited to the Build Appliance and hence is not a part of
>>>>> the Build Appliance recipe.
>>>>
>>>> I think kernel-headers is a bad name for a package.  It could be confusing.
>>>>
>>>> --Mark
>>>>
>>>>> Juro Bystricky (2):
>>>>>   kernel-headers: linux kernel headers
>>>>>   build-appliance-image: support for VirtualBox guest addtions
>>>>>
>>>>>  .../README_vbox_guest_additions.txt                | 78
>>>> ++++++++++++++++++++++
>>>>>  .../images/build-appliance-image_12.0.1.bb         |  4 +-
>>>>>  meta/recipes-kernel/linux/kernel-headers.bb        | 66
>>>> ++++++++++++++++++
>>>>>  3 files changed, 147 insertions(+), 1 deletion(-)  create mode
>>>>> 100644
>>>>> meta/recipes-core/images/build-appliance-
>>>> image/README_vbox_guest_addit
>>>>> ions.txt  create mode 100644
>>>>> meta/recipes-kernel/linux/kernel-headers.bb
>>>>>
>>>
> 




More information about the Openembedded-core mailing list