> -----Original Message----- > From: openembedded-core-boun...@lists.openembedded.org > [mailto:openembedded-core-boun...@lists.openembedded.org] On Behalf Of > Amarnath Valluri > Sent: den 13 juni 2017 15:24 > To: openembedded-core@lists.openembedded.org > Subject: [OE-core] [PATCH v4 7/8] image: create symlinks needed for > merged /usr > > Prepare the symlinks required for merged /usr at the time of rootfs > creation. > > The links created in rootfs are: > /bin --> /usr/sbin > /sbin --> /usr/sbin > /lib --> /usr/lib > /lib64 --> /usr/lib64 > > We cannot make these symlinks as part of 'base-files' or some other > package. > Because at rootfs creation, installation of the package(say kernel) > that depends > on these root folders/links fails, if package manager installs this > package > prior to base-files. > > These symbolic links in top level folder should be present as long as > - kernel tools use /lib/{module,firmware} > - shell scripts uses "#!/bin/sh" > > Signed-off-by: Amarnath Valluri <amarnath.vall...@intel.com> > --- > meta/classes/image.bbclass | 21 +++++++++++++++++++++ > 1 file changed, 21 insertions(+) > > diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass > index 85f6b9a..2a3c1e3 100644 > --- a/meta/classes/image.bbclass > +++ b/meta/classes/image.bbclass > @@ -617,3 +617,24 @@ do_bundle_initramfs () { > : > } > addtask bundle_initramfs after do_image_complete > + > +# Prepare the root links to point to the /usr counterparts. > +create_merged_usr_symlinks() { > + install -d ${IMAGE_ROOTFS}${base_bindir} ${IMAGE_ROOTFS}${base_sbindir} > ${IMAGE_ROOTFS}${base_libdir} > + lnr ${IMAGE_ROOTFS}${base_bindir} ${IMAGE_ROOTFS}/bin > + lnr ${IMAGE_ROOTFS}${base_sbindir} ${IMAGE_ROOTFS}/sbin > + lnr ${IMAGE_ROOTFS}${base_libdir} ${IMAGE_ROOTFS}/${baselib}
You missed one. Change "/${baselib}" to "${baselib}". > + > + if [ "${nonarch_base_libdir}" != "${base_libdir}" ]; then > + install -d ${IMAGE_ROOTFS}${nonarch_base_libdir} > + lnr ${IMAGE_ROOTFS}${nonarch_base_libdir} ${IMAGE_ROOTFS}/lib > + fi > + > + # create base links for multilibs > + multi_libdirs="${@d.getVar('MULTILIB_VARIANTS')}" > + for d in $multi_libdirs; do > + install -d ${IMAGE_ROOTFS}${exec_prefix}/$d > + lnr ${IMAGE_ROOTFS}${exec_prefix}/$d ${IMAGE_ROOTFS}/$d > + done > +} > +ROOTFS_PREPROCESS_COMMAND += "${@bb.utils.contains('DISTRO_FEATURES', > 'usrmerge', 'create_merged_usr_symlinks; ', '',d)}" > -- > 2.7.4 //Peter -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core