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

Sascha Hauer s.hauer at pengutronix.de
Sat Sep 8 09:49:37 EDT 2012


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 at 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.

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 |



More information about the barebox mailing list