Frans Meulenbroeks skrev:
2010/10/22 Ulf Samuelsson <[email protected]>:
Koen Kooi skrev:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 21-10-10 10:43, Frans Meulenbroeks wrote:

PS: my opinion is that machine maintainers generally know better what
kernel works best for their machines than distro owners;
And what's stopping them to put DEFAULT_PREFERENCE_machine and
COMPATIBLE_MACHINE in the kernel recipes?
There is no technical reason for setting it in machine.conf, so why
should we break the orthogonality for that?

PPS: what's next? removing the PREFERRED_PROVIDER_virtual/kernel from
the machine configs because you feel you know better ?
That is actually an option these days since most kernel recipes set
COMPATIBLE_MACHINE correctly :)
But seriously, there are use cases for one distro to use a different
kernel for a given machine for whatever reasons.

This whole situation is a mess because recipes/linux is a mess. It would
be a nice topic for OEDEM to see if we should switch to a poky BSP
model. It would boils down to:

1 bblayer per machine or SOC_FAMILY containing:
* machine.conf
* first and second stage bootloaders
* kernel
I have already come to the conclusion that we could have a single linux.bb
recipe.

This assumes that you define things like KERNEL_VERSION, SOC_FAMILY
etc. outside the recipe and then include files with include filenames
containing approproate ENVIRONMENT variables.

I.E:
include $(KERNEL_VERSION)/kernel_source
include $(SOC_FAMILY)/$(KERNEL_VERSION)/kernel_patch

etc.


Isn't that what kernel.bbclass is about ?

Wrt your example:
instead of
include $(KERNEL_VERSION)/kernel_source
you could say:
at the place where you define kernel_source:
SRC_URI = "..."

Basically what you propose is kind of a template.


Didn't study kernel.bbclass.

A problem with this approach, is that different kernel version
are located in different directories.

http://www.kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.36-rc8.tar.gz
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.tar.bz2

If we want to have a single linux.bb file, then it
seems to be cleaner to have an include file per kernel version which specifies both the directory and the file name.

$(KERNEL_VERSION)/kernel_source would then contain

SRC_URI = "http://www.kernel.org/pub/linux/kernel/v2.6/linux-$(KERNEL_VERSION).tar.bz2"

for a stable kernel, and


SRC_URI = "http://www.kernel.org/pub/linux/kernel/v2.6/testing/linux-$(KERNEL_VERSION).tar.bz2"
for a release candidate.

One this file is created for a kernel version, it would require little or no maintenance.

Similar files in the SOC_FAMILY directory structure would control which minor patch as well as other architecture specific patches to be added.


Frans

_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel


_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel

Reply via email to