From: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
To: Sascha Hauer <s.hauer@pengutronix.de>
Cc: barebox@lists.infradead.org
Subject: Re: [PATCH 11/11] defaultenv-2: add symbolic link support to boot/nfs
Date: Sat, 8 Sep 2012 16:47:46 +0200 [thread overview]
Message-ID: <20120908144746.GZ20330@game.jcrosoft.org> (raw)
In-Reply-To: <20120908134937.GC18243@pengutronix.de>
On 15:49 Sat 08 Sep , Sascha Hauer wrote:
> On Fri, Sep 07, 2012 at 02:13:37PM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> > If the symlink is not find on barebox try on the host.
> > So we are back compatible with nfs command.
> >
> > Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
> > ---
> > defaultenv-2/base/boot/nfs | 64 +++++++++++++++++++++++++++++++++++++++++---
> > 1 file changed, 61 insertions(+), 3 deletions(-)
> >
> > diff --git a/defaultenv-2/base/boot/nfs b/defaultenv-2/base/boot/nfs
> > index 892f103..bf27d38 100644
> > --- a/defaultenv-2/base/boot/nfs
> > +++ b/defaultenv-2/base/boot/nfs
> > @@ -5,6 +5,8 @@ if [ "$1" = menu ]; then
> > exit
> > fi
> >
> > +. /env/data/ansi-colors
> > +
> > path="/mnt/tftp"
> >
> > # to get the dhcp info (global.dhcp.rootpath, global.dhcp.bootfile, global.dhcp.oftree_file)
> > @@ -44,6 +46,24 @@ 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
> > +
> > + # if the file is not on barebox fs assume it's on the host
> > + if [ ! -e "${bootfile_symlink}" ]; then
> > + dirname "${bootfile_symlink}" mnt
> > + basename "${bootfile_symlink}" bootfile
> > +
> > + umount "${path}"
> > + mount -t nfs "${eth0.serverip}:${mnt}" "${path}"
> > +
> > + bootfile_symlink="${path}/${bootfile_symlink}"
> > + global.bootm.image="${path}/${bootfile}"
> > + else
> > + global.bootm.image="${bootfile_symlink}"
> > + fi
>
> symbolic links either point to the target or not, but doing magic on
> them to try to interpret where they *could* point to is no option.
the issue with nfs is the mount path
you need to mount `dirname file`
but if the file is a symlink this is where it's complex you need to resolv it
and mount the real path
I'd prefer to avoid it but nfs is like this
as you may just be allow to see a part of the host tree via nfs and the host
have different mountpoint
I use this feature for years on U-Boot before and now on the defaultenv
The nfs symlink was managed via the nfs command now that we use the fs on defaultenv-2
I need to have it too or it's never switch to the defaultenv-2 for me.
Best Regards,
J.
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
next prev parent reply other threads:[~2012-09-08 14:47 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-07 12:07 [PATCH 00/11 v2] defaultenv-2: add bootp support Jean-Christophe PLAGNIOL-VILLARD
2012-09-07 12:13 ` [PATCH 01/11] defaultenv: enable glovalvar support Jean-Christophe PLAGNIOL-VILLARD
2012-09-07 12:13 ` [PATCH 02/11] defaultenv: switch hostname to global.hostname Jean-Christophe PLAGNIOL-VILLARD
2012-09-07 12:13 ` [PATCH 03/11] dhcp: switch to global var support Jean-Christophe PLAGNIOL-VILLARD
2012-09-07 12:13 ` [PATCH 04/11] dhcp: add copy_only_if_valid support Jean-Christophe PLAGNIOL-VILLARD
2012-09-07 12:13 ` [PATCH 05/11] dhcp: add retries limit support Jean-Christophe PLAGNIOL-VILLARD
2012-09-07 12:13 ` [PATCH 06/11] defaultenv-2: eth0 add default global.dhcp.vendor_id Jean-Christophe PLAGNIOL-VILLARD
2012-09-07 12:13 ` [PATCH 07/11] defaultenv-2/ip: add dhcp-barebox support Jean-Christophe PLAGNIOL-VILLARD
2012-09-08 14:04 ` Sascha Hauer
2012-09-08 14:23 ` Jean-Christophe PLAGNIOL-VILLARD
2012-09-07 12:13 ` [PATCH 08/11] defaultenv-2: add ifdown support Jean-Christophe PLAGNIOL-VILLARD
2012-09-07 12:13 ` [PATCH 09/11] defaultenv-2: boot/net add bootp support Jean-Christophe PLAGNIOL-VILLARD
2012-09-07 18:21 ` Sascha Hauer
2012-09-08 5:40 ` Jean-Christophe PLAGNIOL-VILLARD
2012-09-08 6:17 ` Jean-Christophe PLAGNIOL-VILLARD
2012-09-08 13:47 ` Sascha Hauer
2012-09-08 14:42 ` Jean-Christophe PLAGNIOL-VILLARD
2012-09-08 14:48 ` Jean-Christophe PLAGNIOL-VILLARD
2012-09-08 15:10 ` Sascha Hauer
2012-09-08 17:13 ` Jean-Christophe PLAGNIOL-VILLARD
2012-09-08 14:51 ` Jean-Christophe PLAGNIOL-VILLARD
2012-09-08 15:27 ` Sascha Hauer
2012-09-08 17:12 ` Jean-Christophe PLAGNIOL-VILLARD
2012-09-08 17:22 ` Sascha Hauer
2012-09-08 17:35 ` Jean-Christophe PLAGNIOL-VILLARD
2012-09-08 18:11 ` Sascha Hauer
2012-09-08 13:56 ` Sascha Hauer
2012-09-08 14:37 ` Jean-Christophe PLAGNIOL-VILLARD
2012-09-08 15:09 ` Sascha Hauer
2012-09-08 17:14 ` Jean-Christophe PLAGNIOL-VILLARD
2012-09-08 18:12 ` Sascha Hauer
2012-09-07 12:13 ` [PATCH 10/11] defaultenv-2: add net boot support with kernel and oftree via nfs Jean-Christophe PLAGNIOL-VILLARD
2012-09-07 12:13 ` [PATCH 11/11] defaultenv-2: add symbolic link support to boot/nfs Jean-Christophe PLAGNIOL-VILLARD
2012-09-08 13:49 ` Sascha Hauer
2012-09-08 14:47 ` Jean-Christophe PLAGNIOL-VILLARD [this message]
2012-09-08 17:09 ` Sascha Hauer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120908144746.GZ20330@game.jcrosoft.org \
--to=plagnioj@jcrosoft.com \
--cc=barebox@lists.infradead.org \
--cc=s.hauer@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox