[gPXE] GRUB 1.97 PXE
Thomas Miletich
thomas.miletich at gmail.com
Thu Nov 5 19:52:32 EST 2009
Hi
here's my update for today. Unfortunately GRUB2 still doesn't boot.
I'm still stuck at the same point.
GRUB2 is able to load modules dynamically. The error message we're
seeing results from the dynamic loader being unable to find the
'.modname' section in the module. I actually thought I found out a few
other things too, but before sending this mail I realized I totally
messed up my debugging and that additional information is most likely
invalid.
I hope I'll have more luck tomorrow
Thomas
On Thu, Nov 5, 2009 at 11:05 PM, Paul Geraedts <p.f.j.geraedts at gmail.com> wrote:
> Hi Thomas,
>
> Interpreted as a multiboot image, I surely didn't expect that. Great
> that you figured it out.
>
> The remaining part is definately interesting to say the least. I get
> identical behavior over here. Currently I haven't got an idea about it
> though, sorry. If so, I'll let you know.
>
> Paul
>
> P.S. I wasn't aware of the serial debugging feature: nice one.
>
>
> 2009/11/5 Thomas Miletich <thomas.miletich at gmail.com>:
>> Hi Paul,
>> I tested your setup and could identify a few problems. There are still
>> some more problems to solve before GRUB works with gPXE.
>> First, the resulting file 'grub2pxe' from the tutorial is identified
>> by gPXE as a Multiboot kernel, instead of a NBP. A NBP is a program a
>> PXE rom loads, to load the real kernel.
>> It could be a Multiboot file to make it bootable by other bootloaders,
>> or it could be wrongly identified as one by gPXE. My Ubuntu's 'file'
>> command say's it's no Multiboot kernel, but the gPXE Multiboot loader
>> seems capable of booting it. I don't know if a dual Multiboot-NBP
>> image is possible and will investigate that part further.
>> Anyway, there is no way to identify a binary file as a NBP, so gPXE
>> uses it as a last choice. As long as gPXE is compiled with Multiboot
>> support, Multiboot will take precedence.
>> The problem with that is that GRUB wants to use gPXE's PXE functions,
>> which are only available to NBPs. As only NBPs are supposed to use any
>> PXE functions, but not Multiboot kernels, gPXE turns itself completely
>> off before it starts GRUB, and there's no PXE stack left for GRUB to
>> use.
>>
>> I disabled Multiboot support by putting a '#undef IMAGE_MULTIBOOT' in
>> src/config/general.h. Then I started GRUB with the following commands:
>>
>> dhcp net0
>> startpxe net0
>> chain boot/grub/grub2pxe
>>
>> startpxe shouldn't be necessary, but I used it to be safe. GRUB finds
>> the PXE stack and tries to download boot/grub/normal.mod but fails.
>> DEBUG=pxe_tftp shows that gPXE opens the file, and receives several
>> read requests:
>>
>> [PXENV_TFTP_GET_FSIZE
>> tftp://192.168.10.100:69/boot/grub/normal.mod?blksize=512
>> fsize=34732][PXENV_TFTP_OPEN
>> tftp://192.168.10.100:69/boot/grub/normal.mod?blksize=512
>> blksize=1432][PXENV_TFTP_READ to 6800:0000][PXENV_TFTP_READ to
>> 6800:0000][PXENV_TFTP_READ to 6800:0000][PXENV_TFTP_READ to 6800:0000]
>> /* here are many more READs */
>> [PXENV_TFTP_READ to 6800:0000][PXENV_TFTP_CLOSE]
>>
>> Then GRUB enters rescue mode with the message "error: no file name found".
>> I verified that it works with a vendor PXE rom. I will continue my
>> investigation tomorrow. Right now, I don't have any idea why GRUB is
>> unable to find/use the file it requested. If anyone has any thoughts,
>> please let me know.
>>
>> Thanks
>> Thomas
>>
>> On Wed, Nov 4, 2009 at 1:31 AM, Paul Geraedts <p.f.j.geraedts at gmail.com> wrote:
>>> Hello,
>>>
>>> First of all, thanks for all the effort you all put in Etherboot/GPXE
>>> (I've much enjoyed your Google Tech Talk Video). I recently started
>>> using GPXE and it simply is a great tool! I already used various GPXE
>>> features succesfully.
>>>
>>> The one thing I can't seem to get to work though is the combination of
>>> GPXE and the PXE version of GRUB2 (the latest v1.97 to be precise). I
>>> followed the instructions on http://grub.enbug.org/PXEBOOT to build
>>> the GRUB PXE image and used DNSmasq in Ubuntu (Karmic) to serve the
>>> image to the client side (my laptop). It works with the build-in PXE
>>> ROM in my laptop, but it doesn't seem to work with GPXE. (To be
>>> precise: GRUB only wants to start in rescue mode in the latter case).
>>> Am I doing something wrong, or is there some sort of incompatibility
>>> between the two tools?
>>>
>>> Any help on this is much appreciated.
>>>
>>> Cheers, Paul
>>>
>>>
>>> BTW, what does the G in GPXE actually stand for?
>>> _______________________________________________
>>> gPXE mailing list
>>> gPXE at etherboot.org
>>> http://etherboot.org/mailman/listinfo/gpxe
>>>
>>
> _______________________________________________
> gPXE mailing list
> gPXE at etherboot.org
> http://etherboot.org/mailman/listinfo/gpxe
>
More information about the gPXE
mailing list