[ipxe-devel] [bug] PXE boot, load undionly.kpxe , failure to see net card 1969:1026

Jedrzej Kalinowski kalinoj1 at iem.pw.edu.pl
Wed Jul 27 18:57:53 UTC 2011


 On Tue, 26 Jul 2011 20:28:18 +0100, Michael Brown wrote:
> On Tuesday 26 Jul 2011 19:47:31 Jedrzej Kalinowski wrote:
>> >  It says just
>> >  initializing devices .... no preload UNDI device found
>> >  (in white)
>> >
>> >  ...and nothing in red as on other machines at this point.
>>
>>  Maybe it's the same issue I discovered back in May?
>>  http://lists.ipxe.org/pipermail/ipxe-devel/2011-May/000656.html
>>
>>  I still havn't had enought time to try your ultimate solution with
>>  debugging the asembler memory copying code step-by-step. Maybe I'll 
>> do
>>  it this week, unfortunately I'm no asm hacker, so it's kinda tough 
>> task
>>  for me.
>
> Yes, I think it is most probably the same issue.  I still have 
> absolutely no
> idea what might be causing it, and so single-stepping through the
> memory copy
> is what I would be trying if I could reproduce it myself.
>
> Michael

 Hi,

 I tried to dump the data as you suggested (it dumps preloaded_undi's 
 segment:offset and contents, up to preloaded_undi+60) in your 
 aforementioned post.

 1.
 If I put it right after the memcpy routine (right after rep movsb, it's 
 710 line) I get this (some data):
 http://www.iem.pw.edu.pl/~kalinoj1/public/hexdump-after-rep-movsb.jpg

 2.
 If I put it right before the jump to .text16 segment (exactly, before 
 the lret that stands before .section ".text16"...) I get something like 
 this (some data, but with many zeroes):
 http://www.iem.pw.edu.pl/~kalinoj1/public/hexdump-before-lret.jpg

 Does it mean that the data get copied ok, and are getting zeroed after 
 those operations before the lret, or is it a copy :
         movw    %bx, %ds
         pushw   %ax
         pushw   $1f
 ?

 If I place the dump before these operations, it looks the same as when 
 placed right before the memcpy routine.



 3. How should I dump the undi_device data so I can compare if the copy 
 is OK? I tried to do this using your snippet, just exchanging 
 'preloaded_undi' with 'undi_device' and placing it after the memcpy but 
 I'm not sure if it's the good way. The output of such dump is here and 
 doesn't seem to be similiar to the copy:

 http://www.iem.pw.edu.pl/~kalinoj1/public/maybe-undidevice-dump.jpg


 Any ideas? I can provide more debugging data if you can guide me 
 somehow.

 Best regards,
-- 
 JK



More information about the ipxe-devel mailing list