[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