Integreting BKO with latest gpxe and rom-o-matic

The latest gpxe code, and gpxe version used by rom-o-matic, both are creating trubble while booting.
I am hosting them at http://etherboot.org/share/pravin/BKO/rom-o-matic/ Following is the error thrown.

$qemu -fda gpxe-git-rtl8139.dsk -net nic,model=rtl8139 -net user
...
...
...
PXELINUX 3.80 2009-05004 Copyright(C) 1994-2009 H. Peter Anvin et al
!PXE entry point found (we hope) at 9C79:039E via plan A.
UNDI code segment at 9C79 len 0794
UNDI data segment at 9CF3 len 2CC8
Getting cached packet 01 02PXE API call failed, error 0000

Boot failed: press any key to retry, or wait for reset........

I am not sure if this problem is from gpxe or from pxelinux. My guess is that, it should be gpxe problem as same setup is working fine with my version of gpxe code.
all my modifications are listed on page pxekniferomomatic

Error Location

Problem should be because of latest gpxe code /pub/share/pravin/gpxe.git, because when I use the code which I normally use on my machine (which is copied on /pub/share/pravin/gpxe), it works fine.

trying to see if networking works

the location for problematic gpxe is

$ cd /pub/share/pravin/gpxe.git/src/
$ git log 
commit 768fe5c032727f585e29834d427cb5fd4ff8d84e
Merge: e957581... edfbd4e...
Author: Marty Connor <mdc@etherboot.org>
Date:   Thu Jun 4 20:20:03 2009 -0400

    Merge branch 'master' of /pub/scm/gpxe

commit edfbd4e4fa63ded7df7232d38cfeb16bc5662f6d
Author: Michael Brown <mcb30@etherboot.org>
Date:   Fri Jun 5 01:06:07 2009 +0100

    [netdevice] Fix incorrect value for MAX_LL_HEADER_LEN
    
    MAX_LL_HEADER_LEN is erroneously set to 6 rather than 14, resulting
    in possible data corruption whenever we send an ARP packet.
    
    Fix value and add a comment explaining why MAX_LL_ADDR_LEN is greater
    than MAX_LL_HEADER_LEN.
    
    Reported-by: Joshua Oreman <oremanj@rwcr.net>

and working gpxe is at

$ cd /pub/share/pravin/gpxe/src/
$ git log 


commit f4bf4e69f797e3a93e02b51aae43af303bb94525
Author: Michael Brown <mcb30@etherboot.org>
Date:   Mon May 18 09:33:36 2009 +0100

    [legal] Add FILE_LICENCE declaration to romprefix.S

commit c44a193d0d147ed6f98741124569864e516e9d4b
Author: Michael Brown <mcb30@etherboot.org>
Date:   Fri May 1 15:41:06 2009 +0100

    [legal] Add a selection of FILE_LICENCE declarations
    
    Add FILE_LICENCE declarations to almost all files that make up the
    various standard builds of gPXE.

Following command works in my old pxe, but does not work in trubbled pxe.

$ make bin/rtl8139.dsk
$ qemu -fda bin/rtl8139.dsk -net nic,model=rtl8139 -net user -bootp http://etherboot.org/share/pravin/pxeDHCP.gpxe

Going one more level deeper

Testing if generic network booting over http works or not by using -bootp http://etherboot.org/gtest/gtest.gpxe

qemu -fda bin/rtl8139.dsk -net nic,model=rtl8139 -net user -bootp http://etherboot.org/gtest/gtest.gpxe

This works for both problematic and good gpxe

So, the problem lies in transition from

qemu -fda bin/rtl8139.dsk -net nic,model=rtl8139 -net user -bootp http://etherboot.org/gtest/gtest.gpxe

to

qemu -fda bin/rtl8139.dsk -net nic,model=rtl8139 -net user -bootp http://etherboot.org/share/pravin/pxeDHCP.gpxe

The commit causing problem

used git bisect to find the problematic commit. the test used to check if commit is correct or not is

make clean
make bin/rtl8139.dsk
qemu -fda bin/rtl8139.dsk -net nic,model=rtl8139 -net user -bootp http://etherboot.org/share/pravin/pxeDHCP.gpxe

Commit used as last known good commit is

git bisect good f4bf4e6

Following is the problematic commit.

$ git bisect bad
3c06277bbb6ea135e6a1daf22463a347fc7898c7 is first bad commit
commit 3c06277bbb6ea135e6a1daf22463a347fc7898c7
Author: Michael Brown <mcb30@etherboot.org>
Date:   Tue May 26 11:05:58 2009 +0100

    [settings] Allow for arbitrarily-named settings
    
    This provides a mechanism for using arbitrarily-named variables within
    gPXE, using the existing syntax for settings.

:040000 040000 59221f26fc6a070c21fad5ca53329202425336ba 5aebb5cbcfe8c1aafa4679fd5938e12eb182c07b M	src

Navigation

* [[:start|Home]] * [[:about|About our Project]] * [[:download|Download]] * [[:screenshots|Screenshots]] * Documentation * [[:howtos|HowTo Guides]] * [[:appnotes|Application Notes]] * [[:faq:|FAQs]] * [[:doc|General Doc]] * [[:talks|Videos, Talks, and Papers]] * [[:hardwareissues|Hardware Issues]] * [[:mailinglists|Mailing lists]] * [[http://support.etherboot.org/|Bugtracker]] * [[:contributing|Contributing]] * [[:editing_permission|Wiki Edit Permission]] * [[:wiki:syntax|Wiki Syntax]] * [[:contact|Contact]] * [[:relatedlinks|Related Links]] * [[:commerciallinks|Commercial Links]] * [[:acknowledgements|Acknowledgements]] * [[:logos|Logo Art]]

QR Code
QR Code soc:2009:pravin:journal:probsbkoromomatic (generated for current page)