Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Jul 2006 17:22:06 +0200
From:      Adrian Steinmann <ast@webgroup.ch>
To:        Steven McCoy <fnjordy@gmail.com>
Cc:        freebsd-embedded@freebsd.org
Subject:   Re: pxeboot PC Engines WRAP
Message-ID:  <20060728152206.GA29095@webgroup.ch>
In-Reply-To: <856cdecb0607270534m34d9b4e3g4ee2714e18fcaeb7@mail.gmail.com>
References:  <856cdecb0607270534m34d9b4e3g4ee2714e18fcaeb7@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jul 27, 2006 at 08:34:36PM +0800, Steven McCoy wrote:

I (and others) have tried a lot, it just doesn't work because FreeBSD
BTX does strange things.

> 1)  Etherboot to Etherboot to pxeboot
> 
> pxeboot hangs after loading:
> 
> Searching for server (DHCP)...\
> Me: 10.0.0.160, DHCP: 10.0.0.183, TFTP: 10.0.0.183
> Trimming .zpxe extension
> Loading 10.0.0.183:eb-5.4.2-natsemi (PXE)done
> PXE Loader 1.00
> 
> Building the boot loader arguments
> Relocating the loader and the BTX
> Starting the BTX loader
You have to make sure you choose an etherboot which has a bug fixed for
FreeBSD tftp: if the pxeboot file is a multiple of 512 it will hang
otherwise (instead of changing etherboot, you can just add a random
byte to the pxeboot file).

> 2)  Etherboot to Etherboot to uncompressed kernel
> 
> Control mysteriously returns to the PXE firmware after loading the kernel:
This may be (silent) general protection fault which occurs once you get
that far in pxeboot:

this is for dbsd and BTX_VERBOSE, BTXLDR_VERBOSE, PXE_DEBUG and other options:

PXE version 2.1, real mode entry point @9f40:0680

int=0000000d  err=00000000  efl=00030002  eip=00000916
eax=0009cfb0  ebx=000008eb  ecx=00000000  edx=00003c58
esi=00000000  edi=00000000  ebp=0009d37a  esp=000003ca
cs=9f40  ds=9f40  es=0000    fs=0000  gs=0000  ss=9cfb
cs:eip=66 0f 01 97 52 00 0f 20-c0 0c 01 0f 22 c0 66 ff
       af 6a 00 66 b8 10 00 8e-d0 89 ec 8e d8 8e c0 8e
ss:esp=00 00 00 00 71 00 00 00-00 00 00 00 e2 fa 09 00
       40 9f fb 9c 00 00 00 00-00 00 00 00 00 00 02 02
BTX halted

which is identical, byte for byte, to the fbsd error, except
for esp which has 40 9f f9 9c instead of 40 9f fb 9c.

something is going wrong in the VM86 of the bangpxe calls.

These rom-o-matic options look ok:
> ASK_BOOT: -1
> BOOT_FIRST: BOOT_NIC
> BOOT_SECOND: BOOT_NOTHING
> BOOT_THIRD: BOOT_NOTHING
> BOOT_INDEX: 0
> ELF_IMAGE
> PXE_IMAGE
> IMAGE_FREEBSD
> FREEBSD_KERNEL_ENV
> DOWNLOAD_PROTO_TFTP
> PXE_EXPORT
> CONFIG_PCI
> PCBIOS
*Except* you also need LM40 because there is no keyboard controller on WRAP.
Otherwise it'll ahng like your case 1).

I've come to the conclusion FreeBSD needs a better VM86. OpenBSD manages
to pxe boot on wrap because they don't have the (useful) loader.

If you do find a way to make it work, please post your result here.
Adrian



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060728152206.GA29095>