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 evn var "serveraddr" (to match ethaddr), so that you can pass
it to linux with whatever bootargs you want to....

addnetconsole=set bootargs $(bootargs) 
netconso...@$(ipaddr)/eth0,@$(serverip)/$(serveraddr)

I'm sure this is white space damaged - but you get the idea...

Index: net/net.c
===================================================================
--- net/net.c   (revision 1961)
+++ net/net.c   (working copy)
@@ -1273,6 +1273,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)
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to