[U-Boot] [PATCH] - save the server's mac address...
Robin Getz
rgetz at blackfin.uclinux.org
Mon Jul 13 22:19:51 CEST 2009
From: Robin Getz <rgetz at blackfin.uclinux.org>
Linux's netconsole works much better when you can pass it the MAC address of
the server. (otherwise it just uses broadcast, which everyone else on my
network complains about :)
This sets the env var "serveraddr" (to match ethaddr), so that you can pass
it to linux with whatever bootargs you want to....
addnetconsole=set bootargs $(bootargs) netconsole=@$(ipaddr)/eth0,@$(serverip)/$(serveraddr)
Signed-of-by: Robin Getz <rgetz at blackfin.uclinux.org>
---
Index: net/net.c
===================================================================
--- net/net.c (revision 1968)
+++ net/net.c (working copy)
@@ -1273,6 +1274,15 @@
/* are we waiting for a reply */
if (!NetArpWaitPacketIP || !NetArpWaitPacketMAC)
break;
+
+#ifdef CONFIG_KEEP_SERVERADDR
+ if (NetServerIP == NetArpWaitPacketIP) {
+ char buf[20];
+ sprintf(buf, "%pM", arp->ar_data);
+ setenv("serveraddr", buf);
+ }
+#endif
+
#ifdef ET_DEBUG
printf("Got ARP REPLY, set server/gtwy eth addr (%pM)\n",
arp->ar_data);
Index: README
===================================================================
--- README (revision 1968)
+++ README (working copy)
@@ -1165,6 +1165,11 @@
Defines a default value for the IP address of a TFTP
server to contact when using the "tftboot" command.
+ CONFIG_KEEP_SERVERADDR
+
+ Keeps the server's MAC address, in the env 'serveraddr'
+ for passing to bootargs (like Linux's netconsole option)
+
- Multicast TFTP Mode:
CONFIG_MCAST_TFTP
More information about the U-Boot
mailing list