[oe] generate a named kernel in ${DEPLOY_DIR_IMAGE}
Frans Meulenbroeks
fransmeulenbroeks at gmail.com
Tue Sep 28 16:54:38 UTC 2010
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
More information about the Openembedded-devel
mailing list