====== Differences ====== This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
soc:2009:pravin:journal:probsbkoromomatic [2009/06/09 21:44]
less1
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 13: Line 19:
  
 I am not sure if this problem is from gpxe or from pxelinux. My guess is that, it should be gpxe problem 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.+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>​ 

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