Hi,

As I needed to generate two different kernels for the same machine I
had some kind of problem (as emailed yesterday).
For now I've solved it as follows:

I created a 2nd recipe (in an overlay):
linux-small_2.6.34.bb
this one essentially only requires linux_2.6.34.bb and sets S to the linux_${PN}
Then I can just add a dir linux-small and add the small defconfig in it.

That way bitbake linux-small should give me the 2nd kernel.
And actually it builds the kernel but this one is also packaged in a
kernel-*.ipk.
I could have made two different machines, but that seemed somewhat
overkill, so in the end I decided to modify do_install_append in
linux.inc.

This function currently reads:

do_install_append() {
        oe_runmake headers_install
INSTALL_HDR_PATH=${D}${exec_prefix}/src/linux-${KERNEL_VERSION}
ARCH=$ARCH
}

And I just added a line:
    cp ${D}/boot/uImage ${DEPLOY_DIR_IMAGE}/uImage-${PN}

That way both kernels end up with different names in the deploy dir.
In the image recipe I can then just copy them in a post process
command to the proper location.
(btw that is also why I went for uImage-${PN} and not for
uImage-${PN}-${KERNEL_VERSION}, the kernel version is not known in the
image recipe so it is much harder to copy the right/latest uImage to
the kernel.

Rationale for typing this message is threefold:
- first of all I wanted to record and share what I have done, so
others can use it
- secondly I would appreciate feedback on my solutions (and maybe
someone sees a way to improve it)
- and lastly I would like to inquire if people feel the above line
would be a nice addition to the stock linux.inc. If so I'l happily
prepare a patch.

Your feedback is appreciated.

Frans

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

Reply via email to