OE Kernel module workflow - against which kernel am I building?

Hi,

I am currently using OE to compile (a slightly modified em28xx-new webcam driver [1]). Based on others experiences with uvc (and USB related fixes in git), I am also using the linux-omap_git.bb kernel. The recipe I am using for building the em28xx module is pretty simple, basically just based on an inherit-module recipe. It builds fine but I am unsure against which kernel the module is building

For example, is the module building against the omap_git kernel module, or against the one included by default in the angstrom distribution. The em28xx driver has quite some conditional kernel defines, and I am curious.

Do I need to change the prefrred kernel provider somwhere, and if so how (i have a local overlay setup, so this would be a distribution change, correct?)

John

[1] http://mcentral.de/wiki/index.php5/

Hi,

I am currently using OE to compile (a slightly modified em28xx-new webcam
driver [1]). Based on others experiences with uvc (and USB related fixes in
git), I am also using the linux-omap_git.bb kernel. The recipe I am using
for building the em28xx module is pretty simple, basically just based on an
inherit-module recipe. It builds fine but I am unsure against which kernel
the module is building

it builds against the kernel that is in STAGING_KERNEL_DIR, so if you
built linux-omap_git.bb, it should use that. It could be that it
doesn't build since kernel.bbclass needs to get updated for the arm
header move.

For example, is the module building against the omap_git kernel module, or
against the one included by default in the angstrom distribution. The em28xx
driver has quite some conditional kernel defines, and I am curious.

Do I need to change the prefrred kernel provider somwhere

If you are building against linux-omap_git, you already have changed
conf/machine/beagleboard.conf, right?

, and if so how (i

have a local overlay setup, so this would be a distribution change,
correct?)

It's a machine change, not a distro change.

regards,

Koen

Hi,

I am currently using OE to compile (a slightly modified em28xx-new webcam
driver [1]). Based on others experiences with uvc (and USB related fixes in
git), I am also using the linux-omap_git.bb kernel. The recipe I am using
for building the em28xx module is pretty simple, basically just based on an
inherit-module recipe. It builds fine but I am unsure against which kernel
the module is building

it builds against the kernel that is in STAGING_KERNEL_DIR, so if you
built linux-omap_git.bb, it should use that.

Ok thanks.

It could be that it
doesn’t build since kernel.bbclass needs to get updated for the arm
header move.

Im not sure I understand what you mean here.

For example, is the module building against the omap_git kernel module, or
against the one included by default in the angstrom distribution. The em28xx
driver has quite some conditional kernel defines, and I am curious.

Do I need to change the prefrred kernel provider somwhere

If you are building against linux-omap_git, you already have changed
conf/machine/beagleboard.conf, right?

Yes.

, and if so how (i

have a local overlay setup, so this would be a distribution change,
correct?)

It’s a machine change, not a distro change.

Ok thanks.

So to summarise, it builds against what is in KERNEL_STAGING_DIR, which is the last kernel that was build. This means as long as the preferred kernel provider is linux-omap (and not linux-omap2), the last kernel built, when making a new rootfs image containing the module, will be the one I am after.

However there is no way to express the dependency between a module and a specific kernel version directly?

John

So to summarise, it builds against what is in KERNEL_STAGING_DIR

correct

, which is the *last* kernel that was build.

correct

This means as long as the preferred kernel
provider is linux-omap (and not linux-omap2), the last kernel built, when
making a new rootfs image containing the module, will be the one I am after.

correct

However there is no way to express the dependency between a module and a
specific kernel version directly?

Not at buildtime.

regards,

Koen