Self-reply...
Etherboot had an alingment error for 3c90x that was fixed in
5.0.10. All works!
Take care,
Jon
--- Jon Passki <cykyc@yahoo.com> wrote:> Hello,
>
> I have a consistent error involving loader(8)...
>
> My Compaq Armada M700 laptop is connected through a docking
> station. The station has a 3Com 3c905c TXM card w/ "Managed PC
> Boot Agent (MBA) v4.00" and PXE 2.00. The BIOS and NIC are set
> to
> boot from the network first.
>
> Once booted, I have dhcpd setup with some vendor options to load
> Etherboot's (v5.0.8) pxezloader. pxezloader then loads the
> boot.menu file, and through the menus I have a choice to boot the
> local harddrive. Also, I have enabled a more generic option in
> Etherboot to boot the local harddrive. When either of these
> choices are executed, the following happens:
>
> -) The boot0 menu appears and selects (or I select) the FreeBSD
> partition
> -) boot2 loads /boot/loader, which then found an exception
>
>
> FreeBSD/i386 bootstrap loader, Revision 0.8
> (root@dominique, Mon Sep 8 11:23:25 CDT 2003)
> -
> int=0000000d err=0000001a efl=00030202 eip=0000088f
> eax=00000200 ebx=0000000c ecx=00000e54 edx=00000080
> esi=00000000 edi=00000000 ebp=00000000 esp=00000406
> cs=9d74 ds=0000 es=48ec fs=0000 gs=0000 ss=9dc2
> cs:eip=cc 40 00 ec 48 00 00 00-00 00 00 00 00 06 02 00
> ss:esp=38 91 00 00 c6 02 00 00-00 00 06 00 00 00 f3 4a
>
>
> -) This error does not occur if I interrupt boot2 and have it
> load
> the kernel directly [i.e. 0:ad(0,a)/kernel]. The system boots
> fine
>
> -) This error does not occur is I directly boot the harddrive by
> either resetting the BIOS or NIC options to boot the local
> harddrive first
>
> -) This error does not occur if I network boot a diskless FreeBSD
> kernel
>
> -) The above register values have been the same on all observed
> errors
>
> The system is a 4.9-PRERELEASE (Oct 26 2003), built on another
> system. That system had the following in /etc/make.conf:
> CPUTYPE=486
> XFREE86_VERSION=4
> NO_BIND=yes
> NO_OPENSSH=yes
> .undef PERL_VER
> .undef PERL_VERSION
> .undef PERL_ARCH
> .undef NOPERL
> .undef NO_PERL
>
> Etherboot modifications:
> grep ^CFLAGS Config
> CFLAGS32+= -DPCBIOS
> CFLAGS32+= -DASK_BOOT=6 -DANS_DEFAULT=ANS_NETWORK
> CFLAGS32+= -DALLOW_ONLY_ENCAPSULATED
> CFLAGS32+= -DBACKOFF_LIMIT=7 -DCONGESTED
> CFLAGS32+= -DCAN_BOOT_DISK
> CFLAGS32+= -DTAGGED_IMAGE -DELF_IMAGE
> CFLAGS32+= -DIMAGE_FREEBSD
> CFLAGS32+= -DAOUT_IMAGE
> CFLAGS32+= -DFREEBSD_KERNEL_ENV
> CFLAGS32+= -Os -ffreestanding -fstrength-reduce
> -fomit-frame-pointer -mcpu=i386
> CFLAGS32+= -malign-jumps=1 -malign-loops=1
> -malign-functions=1
> CFLAGS32+= -Wall -W -Wno-format -Wno-unused
>
> Etherboot build:
> gmake bin32/3c905c-tpo.lzpxe
> cp bin32/3c905c-tpo.lzpxe /tftpboot/
>
>
> The only thing that seems off is when pxezloader initially boots,
> it displays its relocation address differently from the Makefile.
>
> The Makefile has RELOCADDR=0x94000 by default. When pxezloader
> is
> loaded, it displays (via main.c) reloc=0x9400, missing a zero at
> the end. I've changed RELOCADDR to 0x74000 and 0x84000, with the
> same exception error and register values. Both times, though,
> reloc displayed 0x7400 and 0x8400 respectively. Setting
> RELOCADDR
> to 0x104000 upset Etherboot and it did not build successfully :-)
>
> Thoughts?
>
> Jon Passki
>
> p.s. I'm going to setup another box to exclude hardware issues
> (e.g. flaky memory), just not tonight. When I do, I'll report
> back.
>
> __________________________________
> Do you Yahoo!?
> Free Pop-Up Blocker - Get it now
> http://companion.yahoo.com/
> _______________________________________________
> freebsd-stable@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to
"freebsd-stable-unsubscribe@freebsd.org"
__________________________________
Do you Yahoo!?
Free Pop-Up Blocker - Get it now
http://companion.yahoo.com/