[OE-core] [PATCH v2] kernel.bbclass: Create symbolic link to add ${KERNEL_IMAGETYPE} to boot package

Franklin S. Cooper Jr fcooper at ti.com
Tue Sep 24 17:05:28 UTC 2013


Mark Hatle <mark.hatle at ...> writes:

> 
> On 8/20/13 1:45 PM, Franklin S. Cooper Jr wrote:
> > * By default for some platforms U-boot assumes the kernel image is
located in
> >    the boot directory of the root filesystem.
> > * The kernel.bbclass already includes the kernel image in the /boot
directory
> >    but adds a version number to the file name.
> > * Create a symbolic link that names the kernel image in the exact way that
> >    U-boot expects.
> 
> This should be done with a package post-install script.  It is fairly
common for 
> multilib kernel versions to be installed on a machine at the same time,
with the 
> Link pointing to the 'last-installed' version.  Doing it in the do_install
rule 
> will cause a conflict (at least in the RPM case), preventing certain field 
> upgrade activities.
> 
> post install script with something like:
> 
> ln -sf $D/boot/≤kernel_name> <common-name>
> 
> Should work.
> 
> (The above assumes that the kernel itself is being packaged.. if it's not
being 
> packages and just copied to the end image -- then doing the link should be
fine.)
> 
> --

Looks like the below patch addresses my issue and also handles it in the
same way you recommended.

kernel.bbclass: Correct post(inst|rm) package association 
OE Core Commit: 35f538b117e3387354d2dab1f22c3de28ab1322b
> 
> > Signed-off-by: Franklin S. Cooper Jr <fcooper at ...>
> > ---
> > Version 2 changes:
> > Change "ln -s" to "ln -sf" based on Bruce's comment.
> >
> >   meta/classes/kernel.bbclass |    1 +
> >   1 files changed, 1 insertions(+), 0 deletions(-)
> >
> > diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
> > index e039dfc..6e7d994 100644
> > --- a/meta/classes/kernel.bbclass
> > +++ b/meta/classes/kernel.bbclass
> >  <at>  <at>  -109,6 +109,7  <at>  <at>  kernel_do_install() {
> >   	install -d ${D}/${KERNEL_IMAGEDEST}
> >   	install -d ${D}/boot
> >   	install -m 0644 ${KERNEL_OUTPUT}
${D}/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_VERSION}
> > +	ln      -sf
${D}/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_VERSION}
${D}/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}
> >   	install -m 0644 System.map ${D}/boot/System.map-${KERNEL_VERSION}
> >   	install -m 0644 .config ${D}/boot/config-${KERNEL_VERSION}
> >   	install -m 0644 vmlinux ${D}/boot/vmlinux-${KERNEL_VERSION}
> >
> 







More information about the Openembedded-core mailing list