[PATCH 7/7] defaultenv-2: add symbolic link support to boot/nfs

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Sat Sep 1 08:47:21 EDT 2012


On 10:47 Tue 28 Aug     , Sascha Hauer wrote:
> On Fri, Aug 24, 2012 at 07:06:56AM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> > Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> > ---
> >  defaultenv-2/base/boot/nfs |   55 +++++++++++++++++++++++++++++++++++++++++---
> >  1 file changed, 52 insertions(+), 3 deletions(-)
> > 
> > diff --git a/defaultenv-2/base/boot/nfs b/defaultenv-2/base/boot/nfs
> > index 248f975..a33a21c 100644
> > --- a/defaultenv-2/base/boot/nfs
> > +++ b/defaultenv-2/base/boot/nfs
> > @@ -43,6 +43,18 @@ if [ -n "${global.dhcp.bootfile}" ]; then
> >  	mount -t nfs "${eth0.serverip}:${mnt}" "${path}"
> >  
> >  	global.bootm.image="${path}/${bootfile}"
> > +
> > +	if [ -L "${global.bootm.image}" ]; then
> > +		readlink -f "${global.bootm.image}" bootfile_symlink
> > +
> > +		dirname -V "${bootfile_symlink}" mnt
> > +		basename "${bootfile_symlink}" bootfile
> > +
> > +		umount "${path}"
> > +		mount -t nfs "${eth0.serverip}:${mnt}" "${path}"
> > +
> > +		global.bootm.image="${path}/${bootfile}"
> > +	fi
> 
> There is something wrong here. I do not understand what you do here, but
> symlinks are not supposed to bash on them with dirname/basename until
> you get something which fits your needs.
here the issue is that on nfs you need to mount the correct path otherwise you
can not get the real file

so we need to detect it and mount the correct path

Best Regards,
J.



More information about the barebox mailing list