123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- To: etherboot-developers@lists.sourceforge.net
- X-face: #Qvg5o3u!)WoVDDi4-bFy`fl@""4^pm68%_,`puon{0Q6lQ-O,)3D.J.":A&^,#4O2vc8`?
- 3^1lhBh=EQH,"Qq*e1vY":she&t^8:!&Fb32Ed:nM2Y<E9|i[+z20G?CO=E=-IWv;bL"=Y`+`q,ML6
- ,!Me?==j&In1
- Mime-Version: 1.0
- Content-Type: multipart/mixed ;
- boundary="==_Exmh_-19971541890"
- From: Tilmann Bubeck <bubeck@think-at-work.de>
- Message-Id: <20010219195622.C97A84ABD8@chaos.think-at-work.de>
- Subject: [Etherboot-developers] Wake-on-LAN patch
- Sender: etherboot-developers-admin@lists.sourceforge.net
- Errors-To: etherboot-developers-admin@lists.sourceforge.net
- X-BeenThere: etherboot-developers@lists.sourceforge.net
- X-Mailman-Version: 2.0
- Precedence: bulk
- List-Help: <mailto:etherboot-developers-request@lists.sourceforge.net?subject=help>
- List-Post: <mailto:etherboot-developers@lists.sourceforge.net>
- List-Subscribe: <http://lists.sourceforge.net/lists/listinfo/etherboot-developers>,
- <mailto:etherboot-developers-request@lists.sourceforge.net?subject=subscribe>
- List-Id: Discussion list for Etherboot developers <etherboot-developers.lists.sourceforge.net>
- List-Unsubscribe: <http://lists.sourceforge.net/lists/listinfo/etherboot-developers>,
- <mailto:etherboot-developers-request@lists.sourceforge.net?subject=unsubscribe>
- List-Archive: <http://lists.sourceforge.net/archives//etherboot-developers/>
- Date: Mon, 19 Feb 2001 20:56:22 +0100
- Status: RO
- Content-Length: 5351
- Lines: 152
-
- This is a multipart MIME message.
-
- --==_Exmh_-19971541890
- Content-Type: text/plain; charset=us-ascii
-
-
- Hello!
-
- please find enclosed a patch to optionally enable etherboot to start the
- server it is booting from by sending a magic wake-on-lan packet to the
- sleeping server first.
-
- This is very important for an etherboot-server, which is not running all the
- time and is not easily accessible from the etherboot machine (e.g. because it
- is installed in the basement of the house and one must climb several stairs to
- switch the server on...)
-
- Are the authors of etherboot willing to accept this patch for inclusion?
- Please note, that the wake-on-lan code is only compiled in, when setting
- appropriate flags in src/Config.
-
- If you don't want to include the patch, should I change anything of the
- implementation or do you dislike the idea at all?
-
- Thanks!
- Till
-
- +-------+--------------------------------------------------------------+
- | | dr. tilmann bubeck think@work it consulting |
- | | professional services |
- | think | cell.: +49 172 8842972 widmaierstrasse 58 |
- | @work | fax : +49 711 7227734 70567 stuttgart |
- | | email: bubeck@think-at-work.de http://www.think-at-work.de |
- +-------+ -------------------------------------------------------------+
-
-
- --==_Exmh_-19971541890
- Content-Type: application/x-patch ; name="etherboot-4.7.17-wol.patch"
- Content-Description: etherboot-4.7.17-wol.patch
- Content-Disposition: attachment; filename="etherboot-4.7.17-wol.patch"
-
- diff -r -u etherboot-4.7.17/src/Config etherboot-4.7.17-wol/src/Config
- --- etherboot-4.7.17/src/Config Sat Jan 6 16:25:23 2001
- +++ etherboot-4.7.17-wol/src/Config Mon Feb 19 20:28:00 2001
- @@ -113,6 +113,16 @@
- # -DINTERNAL_BOOTP_DATA
- # - define if the area 0x93C00-0x93FFF is not available
- # for use for bootpd_data by the loader for some reason
- +# -DWAKEUP_SERVER
- +# - define this for sending a Wake-On-LAN (WOL)
- +# "Magic Packet" to a sleeping server, before trying
- +# a etherboot. Useful if your server is soft-off all
- +# the time and must be switched on when booting a
- +# client. Define SERVER_MAC with the MAC address of the
- +# server to wakeup. CAUTION! This MAC address is
- +# stored in the rom image. The rom is therefore not
- +# generic anymore but tailored for a specific
- +# server!
-
- # These default settings compile Etherboot with a small number of options.
- # You may wish to enable more of the features if the size of your ROM allows.
- @@ -142,6 +152,10 @@
-
- # These flags affect the loader that is prepended to the Etherboot image
- LCONFIG+= -DMOVEROM
- +
- +# Include code for sending a Wake-On-LAN (WOL) "Magic Packet" to a sleeping
- +# server, before trying a etherboot.
- +CFLAGS32+= -DWAKEUP_SERVER -DSERVER_MAC=0x00,0x01,0x02,0xDA,0xDF,0x77
-
- # you should normally not need to change these
- RM= rm -f
- diff -r -u etherboot-4.7.17/src/main.c etherboot-4.7.17-wol/src/main.c
- --- etherboot-4.7.17/src/main.c Fri Jan 5 12:45:29 2001
- +++ etherboot-4.7.17-wol/src/main.c Thu Feb 8 20:46:59 2001
- @@ -137,6 +137,7 @@
- * declarations, but in this case I like to see main() as the first
- * routine.
- */
- +static void wakeup_server(void) ;
- static int bootp(void);
- static int rarp(void);
- static void load(void);
- @@ -217,6 +218,11 @@
- rfc951_sleep(++card_retries);
- }
- #endif
- +
- +#ifdef WAKEUP_SERVER
- + wakeup_server();
- +#endif
- +
- while (1) {
- /* -1: timeout or ESC
- -2: error return from loader
- @@ -650,6 +656,46 @@
- return (0);
- }
- #endif /* DOWNLOAD_PROTO_TFTP */
- +
- +#ifdef WAKEUP_SERVER
- +#ifndef SERVER_MAC
- +#error "Please define SERVER_MAC to the MAC address of the sleeping server"
- +#endif
- +
- +/**************************************************************************
- +WOL - Wake up a sleeping server by transmitting a Wake-On-LAN (WOL) "Magic
- + Packet", used for restarting machines that have been soft-powered-down
- + (ACPI D3-warm state). It currently generates the standard AMD Magic
- + Packet format.
- +**************************************************************************/
- +static void wakeup_server(void)
- +{
- + unsigned char data[100];
- + int i, len, retry;
- + char server_adr[] = { SERVER_MAC };
- + unsigned long time;
- +
- + /* build "Magic Packet" */
- + len = 0;
- + data[len++] = 0xff;
- + data[len++] = 0xff;
- + data[len++] = 0xff;
- + data[len++] = 0xff;
- + data[len++] = 0xff;
- + data[len++] = 0xff;
- + for ( i = 0; i < 16; i++ ) {
- + memcpy(&data[len], server_adr, 6);
- + len += 6;
- + }
- +
- + printf("Sending Wake-On-LAN (WOL) \"Magic Packet\" to server %b:%b:%b:%b:%b:%b...",
- + server_adr[0], server_adr[1], server_adr[2],
- + server_adr[3], server_adr[4], server_adr[5]);
- +
- + eth_transmit(broadcast, 0x0842, len, data);
- + printf("done\n");
- +}
- +#endif
-
- #ifdef RARP_NOT_BOOTP
- /**************************************************************************
-
- --==_Exmh_-19971541890--
-
-
-
- _______________________________________________
- Etherboot-developers mailing list
- Etherboot-developers@lists.sourceforge.net
- http://lists.sourceforge.net/lists/listinfo/etherboot-developers
|