Netboot Mailing List (by thread)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Etherboot 4.5.5 released

Klaus Espenlaub writes:
| Doug Ambrisko wrote:
| > I'll see if I can dig any up.  I finally got it to work under VMware
| > after turning off some options.  Also I had trouble with my DHCP reply
| > being to long.  I'll look into this later.  I ran into a couple
| > glitches compiling on FreeBSD and I have included the simply patches at
| > the end.
| The DHCP reply length seems to be a quite common problem.  I haven't been
| plagued by it for quite a while, but I doubt that it is related to the
| changes in the 4.5.5 version.  Usually it is caused by an upgrade to the
| dhcpd, which changes the order in which options are included (happened to
| me when I upgraded to a newer version of ISC dhcpd).

I'm using the same DHCP server (ISC's) and only changed Etherboot and
the boot environment (ie was using VMmware).  At work this morning
I tried my Intel Pro 10/100 card and it worked like it did before.
So I attributing this to a VMware/AMD problem.
| BTW: you should have two log entries in the VMware log per reboot - something
| about RX/TX non-busmaster transfers.  Do you have any idea what these mean?
| I browsed through the AMD datasheets and didn't find anything they suggest to do
| in a substantially different way to the etherboot driver.  But I might be wrong -
| I read far too many datasheets which mentioned the most important things in some
| unsuspiciously looking clause in a sentence that was mostly useless bullshit.

Nope haven't looked at that.
| > I also had to use a newer gas & ld, whereas before we just used a newer
| > gas.  So I added:
| >   AS=          `echo ../../bin*/gas/as-new`
| >   LD32=          `echo ../../bin*/ld/ld-new`
| > in the Makefile file for the FreeBSD "port".
| What was the problem with the old ld?  Maybe it isn't really obligatory.
| I cannot easily test any binutils dependency, as the oldest version I have
| available is a pretty recent 2.9.1 variant shipped with a Linux distro and
| I regularly use some Feb 2000 snapshot of 2.9.5 because I need some of the
| new features for my real work.

The old ld gave me a relocation error and failed, using the new ld fixed
that problem.  I have to use a new version of gas since the native
FreeBSD version of gas doesn't have the data32 stuff in it.  So until 
FreeBSD upgrades their version of binutils, in my FreeBSD port, I 
build a newer version of binutils and then use that for Etherboot.
That is why I use
	AS=          `echo ../../bin*/gas/as-new`
	LD32=          `echo ../../bin*/ld/ld-new`
Since I don't know where they live exactly.  This is only for the FreeBSD
port system and will be removed once FreeBSD's binutils gets upgraded.
So yes there is no need to add this to Etherboot.  I just put it in my
note since I've seen some FreeBSD people try to compile Etherboot
on FreeBSD without using my port and they run into this problem.

Just for clarification a FreeBSD "port" is a directory tree that contains
patches, Makefile and documentation for a package retreived of the net.
You cd into the port directory, type make and it will fetch, patch,
configure, build and install that package.  My Etherboot port
grabs both Etherboot & newer version of bintutils and then does the 
right things.

| > I ran into a compiler issue with gcc 2.95.2 ie from gcc -v
| >         770z% gcc -v
| >         Using builtin specs.
| >         gcc version 2.95.2 19991024 (release)
| >         770z%
| > 
| > It reported problems with the AX & BX registers.
| Doug: can you give me the precise error message?  It would help to find the
| root of the problem.  Currently I could only test with egcs-1.1.2.  BTW: compiling
| the Multiboot ELF support in if you just want to boot FreeBSD is waste of ROM
| space.  But what I'm complainig about - you found a problem, that's most important.

I was a bit lazy and pressed for time (since I was testing this on the
couch with a wife asking me when I was done ... thanks for the VMware
support!).  Here it is:
	gcc -DMOTD -DIMAGE_MENU -DASK_BOOT=3 -DANS_DEFAULT=ANS_NETWORK -DPASSWD -DUSRPARMS -DFLOPPY -DCONSOLE_DUAL -DCOMCONSOLE=0x3f8 -DCONSPEED=57600 -DELF_IMAGE -DAOUT_IMAGE -DIMAGE_MULTIBOOT -DIMAGE_FREEBSD -O2 -g -fstrength-reduce -fomit-frame-pointer -m386 -malign-jumps=1 -malign-loops=1 -malign-functions=1 -Wall -W -Wno-format -Wno-unused -DVERSION=\"4.5.5\" -DRELOC=0x8f000  -o bin32/osloader.o -c osloader.c
	osloader.c: In function `elf_download':
	osloader.c:496: Invalid `asm' statement:
	osloader.c:496: fixed or forbidden register 0 (ax) was spilled for class AREG.
	gmake: *** [bin32/osloader.o] Error 1

| Ken: Noticed the target "precompiled" in the Makefile?  This should make your
| release preparation work a bit easier.  Downside: the bug Doug reported with
| the Makefile.
| Doug: I'm really glad to see the second patch to linux-asm-string.h.  So the last
| "random" #ifdef __FreeBSD__ has been killed.  Only the one in osdep.h remains...
| Great.
| Maybe the #if defined(__linux__) || defined(__FreeBSD__) could be replaced
| by a #ifdef __GNUC__.  I don't see any reason why any of Etherboot is Linux or
| FreeBSD specific.  If you have the right tools you could build it under Windows
| or whatever.

I'm not sure the current state of things, but it seems that the dependencies
are shrinking which is good.

Doug A.

This Mail was sent to netboot mailing list by:
Doug Ambrisko <>
To get help about this list, send a mail with 'help' as the only string in
it's body to If you have problems with this list,
send a mail to

For requests or suggestions regarding this mailing list archive please write to