On Wed, Nov 08, 2017 at 04:05:17PM +0100, Gavin Schenk wrote:
> When you have a static network environment but more than one network
> device on your machine it is necessary to provide the <device> parameter
> to the ip parameter at kernel cmd line.
> 
> The device name assigned by Linux cannot in general be predicted as it
> depends on driver bind order.
> 
> This patch introduces a new global variable
> "global.linux.nfsroot.device" which when set is feed to the ip=
> kernel parameter as device name.

Maybe we should rather add a linuxname property to the ethernet device
instead. That way we could specify multiple names in case we have
multiple ethernet devices in barebox aswell.

Sascha


> 
> Signed-off-by: Gavin Schenk <[email protected]>
> ---
>  net/ifup.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/net/ifup.c b/net/ifup.c
> index 5113d138329a..bdb7cf0e6d0a 100644
> --- a/net/ifup.c
> +++ b/net/ifup.c
> @@ -109,16 +109,19 @@ int ifup(const char *name, unsigned flags)
>               dev_set_param(dev, "linux.bootargs", "ip=dhcp");
>       } else if (!strcmp(ip, "static")) {
>               char *bootarg;
> +             const char *env_linux_nfsroot_device = 
> +                     getenv("global.linux.nfsroot.device");
>               for (i = 0; i < ARRAY_SIZE(vars); i++) {
>                       ret = eth_set_param(dev, vars[i]);
>                       if (ret)
>                               goto out;
>               }
> -             bootarg = basprintf("ip=%pI4:%pI4:%pI4:%pI4:::",
> +             bootarg = basprintf("ip=%pI4:%pI4:%pI4:%pI4::%s:",
>                               &edev->ipaddr,
>                               &edev->serverip,
>                               &edev->gateway,
> -                             &edev->netmask);
> +                             &edev->netmask,
> +                             env_linux_nfsroot_device ?: "");
>               dev_set_param(dev, "linux.bootargs", bootarg);
>               free(bootarg);
>       } else {
> -- 
> 2.15.0
> 
> 
> Eckelmann AG
> Vorstand: Dipl.-Ing. Peter Frankenbach (Sprecher) Dipl.-Wi.-Ing. Philipp 
> Eckelmann
> Dr.-Ing. Marco Münchhof Dr.-Ing. Frank Uhlemann
> Vorsitzender des Aufsichtsrats: Hubertus G. Krossa
> Stv. Vorsitzender des Aufsichtsrats: Dr.-Ing. Gerd Eckelmann
> Sitz der Gesellschaft: Berliner Str. 161, 65205 Wiesbaden, Amtsgericht 
> Wiesbaden HRB 12636
> http://www.eckelmann.de 
> 
> 
> _______________________________________________
> barebox mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/barebox
> 

-- 
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
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to