Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
|
soc:2009:pravin:journal:probsbkoromomatic [2009/06/09 21:41] less1 created |
soc:2009:pravin:journal:probsbkoromomatic [2009/06/10 13:44] (current) less1 |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Integreting BKO with latest gpxe and rom-o-matic ====== | ====== 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. | + | 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. | Following is the error thrown. | ||
| <code> | <code> | ||
| + | $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. | !PXE entry point found (we hope) at 9C79:039E via plan A. | ||
| UNDI code segment at 9C79 len 0794 | UNDI code segment at 9C79 len 0794 | ||
| Line 11: | Line 17: | ||
| Boot failed: press any key to retry, or wait for reset........ | Boot failed: press any key to retry, or wait for reset........ | ||
| </code> | </code> | ||
| + | |||
| + | 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 | ||
| + | <code> | ||
| + | $ 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> | ||
| + | </code> | ||
| + | |||
| + | and working gpxe is at | ||
| + | |||
| + | <code> | ||
| + | $ 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. | ||
| + | |||
| + | </code> | ||
| + | Following command works in my old pxe, but does not work in trubbled pxe. | ||
| + | <code> | ||
| + | $ make bin/rtl8139.dsk | ||
| + | $ qemu -fda bin/rtl8139.dsk -net nic,model=rtl8139 -net user -bootp http://etherboot.org/share/pravin/pxeDHCP.gpxe | ||
| + | </code> | ||
| + | |||
| + | |||
| + | ===== Going one more level deeper ===== | ||
| + | Testing if generic network booting over http works or not by using __-bootp [[http://etherboot.org/gtest/gtest.gpxe]]__ | ||
| + | |||
| + | <code> | ||
| + | qemu -fda bin/rtl8139.dsk -net nic,model=rtl8139 -net user -bootp http://etherboot.org/gtest/gtest.gpxe | ||
| + | </code> | ||
| + | |||
| + | |||
| + | **This works for both problematic and good gpxe** | ||
| + | |||
| + | So, the problem lies in transition from | ||
| + | |||
| + | <code> | ||
| + | qemu -fda bin/rtl8139.dsk -net nic,model=rtl8139 -net user -bootp http://etherboot.org/gtest/gtest.gpxe | ||
| + | </code> | ||
| + | |||
| + | to | ||
| + | |||
| + | <code> | ||
| + | qemu -fda bin/rtl8139.dsk -net nic,model=rtl8139 -net user -bootp http://etherboot.org/share/pravin/pxeDHCP.gpxe | ||
| + | </code> | ||
| + | |||
| + | |||
| + | ===== The commit causing problem ===== | ||
| + | used git bisect to find the problematic commit. | ||
| + | the test used to check if commit is correct or not is | ||
| + | <code> | ||
| + | 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 | ||
| + | </code> | ||
| + | |||
| + | |||
| + | Commit used as last known good commit is | ||
| + | <code> | ||
| + | git bisect good f4bf4e6 | ||
| + | </code> | ||
| + | |||
| + | Following is the problematic commit. | ||
| + | <code> | ||
| + | $ 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 | ||
| + | </code> | ||
| + | |||