[Etherboot-developers] Etherboot 4.7.13 (development) released
Brought to you by:
marty_connor,
stefanhajnoczi
|
From: Ken Y. <ke...@nl...> - 2000-12-12 13:28:20
|
I have released Etherboot 4.7.13 at http://etherboot.sourceforge.net This is the first of development releases leading to a new stable series. There will be no further releases of 4.6. As it is a development release, EXPECT BREAKAGE. But please help test it by reporting all problems. Changes in 4.7.13: + Jim McQuillan sent in a patch for first-linux.S where it was assuming the argument in tag 129 (additional parameters) is a null terminated string, when it's a length counted string. A new routine, addkarg was created to handle this. + eepro100 should handle newer NICs with 256 byte EEPROMs now. This includes the onboard NICs on some motherboards, see file NIC. Thanks to Stephan Lauffer for helping with the fixes. WARNING: This code may have a bug that causes the onboard EEPROM to be corrupted. We believe we have found and removed the bug but please proceed with care. + DHCPDISCOVER was sending out one byte too many for PARAM_LIST. + In DHCPDISCOVER send "Etherboot" in VENDOR_CLASS_ID option (60). Will add code later to check for "Etherboot" in vendor encapsulated options. + Used µs timer routines in 3c509 for more accurate timing and hence better hardware detection. Use COMMAND_IN_PROGRESS bit to detect transmit complete instead of waiting for a fixed amount of time. Get rid of eth_vendor and associated tests, it doesn't serve any useful purpose since the driver was modularised long ago and the 3c509 detection status is stored outside of the driver now. Got rid of some unused global statics in 3c509.c, leftovers when the drivers were monolithic. Wait 2 seconds after enabling TP interface to give it time to come up. This allows us to get rid of T509HACK in main.c. + Get rid of eth_vendor and associated tests in cs89x0.c, same reasons as for 3c509.c. + Moved the rest of the VENDOR_ and FLAG_ defines into ns8390.h, as ns8390.c is the only file that uses them now. + Use lower 32 bits of node address + current time for xid (network byte order). More likely to be distinct from other clients than just the current time, which is similar for all clients booted at about the same time. + Support for 16-bit code has been removed. XTs and ATs are pretty much dead now and in fact many Etherboot/16 drivers have been broken for a while but nobody noticed. This should make some of the code easier to maintain. If you really wanted 16 bit support, use an older version of Etherboot, maybe 4.4 or something like that, not sure when things started breaking for 16 bit mode. + Should not store IP and UDP headers at BOOTP_DATA_ADDRESS. Redefined bootp_t without IP and UDP headers. Now requested size of bootp packet matches storage available. Do not add sizeof(iphdr) + sizeof(udphdr) to bootp pointer in start32.S:xstart now. start16.S:xstart was broken because it did not do this addition but nobody noticed. + Removed array kernel_buf, saving 128 bytes and replaced with KERNEL_BUF, a pointer into the bp_file of the bootp_reply structure at BOOTP_DATA_ADDR. Note: this depends on the server not sending Option Overload which would use the sname and file fields for options, but we don't request this option so it shouldn't. Removed char *kernel, instead check KERNEL_BUF[0] just before booting and if null, use fallback filename. (This is needed for future extensions to booting protocol.) + Define a shorter tftpreq_t type for making requests instead of using a full sized tftp_t packet to reduce stack usage. + Defined macros for htonl/htons/ntohl/ntohs for cases where the operand is a constant, saving a function call. + Started on first32.c, a protected mode 32-bit version of first-linux.S, which should be far easier to read and maintain. Will boot basic Linux kernels correctly but doesn't handle ramdisk or kernel arguments yet. + Updated nfs-swap documentation in contrib/nfs-swap to point to Claus-Justus Heine's new web page. MD5 sums: 2b57c2eb33fa8d2addea6f56acd649ec etherboot-4.7.13.tar.bz2 677674c1ec9d20c43ed08080716cbfc0 etherboot-4.7.13.tar.gz |