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@xxxxxxxxxxxx> > --- > 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. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox