On Thu, Jun 18, 2020 at 5:52 AM Richard Purdie <[email protected]> wrote: > > On Thu, 2020-06-18 at 15:57 +0800, Xu, Yanfei wrote: > > From: Yanfei Xu <[email protected]> > > > > Some filesystems don't support symlink, then you will get failure when > > you install or update the kernel rpm package. Now we use a copied iamge > > for these filesystems instead of symlink. > > > > Suggested-by: Bruce Ashfield <[email protected]> > > Signed-off-by: Yanfei Xu <[email protected]> > > --- > > meta/classes/kernel.bbclass | 10 +++++++++- > > 1 file changed, 9 insertions(+), 1 deletion(-) > > > > diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass > > index 41101a64a0..749d1a0f29 100644 > > --- a/meta/classes/kernel.bbclass > > +++ b/meta/classes/kernel.bbclass > > @@ -94,6 +94,14 @@ python __anonymous () { > > d.appendVar('RDEPENDS_%s-image' % kname, ' %s-image-%s' % (kname, > > typelower)) > > d.setVar('PKG_%s-image-%s' % (kname,typelower), > > '%s-image-%s-${KERNEL_VERSION_PKG_NAME}' % (kname, typelower)) > > d.setVar('ALLOW_EMPTY_%s-image-%s' % (kname, typelower), '1') > > + d.setVar('pkg_postinst_ontarget_%s-image-%s' % (kname,typelower), > > """ > > +set +e > > +ln -sf %s-${KERNEL_VERSION} ${KERNEL_IMAGEDEST}/%s > /dev/null 2>&1 > > +if [ $? -ne 0 ]; then > > + echo "Filesystem on ${KERNEL_IMAGEDEST}/ doesn't support symlinks, > > falling back to copied image (%s)." > > +fi > > +set -e > > +""" % (type, type, type)) > > > > image = d.getVar('INITRAMFS_IMAGE') > > # If the INTIRAMFS_IMAGE is set but the INITRAMFS_IMAGE_BUNDLE is set > > to 0, > > @@ -386,7 +394,7 @@ kernel_do_install() { > > for imageType in ${KERNEL_IMAGETYPES} ; do > > install -m 0644 ${KERNEL_OUTPUT_DIR}/${imageType} > > ${D}/${KERNEL_IMAGEDEST}/${imageType}-${KERNEL_VERSION} > > if [ "${KERNEL_PACKAGE_NAME}" = "kernel" ]; then > > - ln -sf ${imageType}-${KERNEL_VERSION} > > ${D}/${KERNEL_IMAGEDEST}/${imageType} > > + install -m 0644 > > ${D}/${KERNEL_IMAGEDEST}/${imageType}-${KERNEL_VERSION} > > ${D}/${KERNEL_IMAGEDEST}/${imageType} > > fi > > done > > install -m 0644 System.map ${D}/boot/System.map-${KERNEL_VERSION} > > I am a bit concerned about this since whilst it solves one problem, > doesn't having two copies of the same file around significantly > increase the size of the packages and the update payloads updating such > systems would need? Are these two copies of the file in the same > package or not? > > Perhaps the symlink creation should fall back to a copy on device > rather than having the copy at build time (as I understand it)?
This was my question in v1 as well, looks like we've consolidated on that option now :D Bruce > > Cheers, > > Richard > -- - Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end - "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#139642): https://lists.openembedded.org/g/openembedded-core/message/139642 Mute This Topic: https://lists.openembedded.org/mt/74954288/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
