[gPXE-devel] Opensolaris workaround
Stefan Hajnoczi
stefanha at gmail.com
Sun Apr 25 13:38:52 EDT 2010
On Sun, Apr 25, 2010 at 12:23 AM, Floris Bos <bos at je-eigen-domein.nl> wrote:
> I managed to get Opensolaris working, but I'm not sure if my quick workaround
> is the best way to solve it.
Nice job figuring this out and getting gPXE to boot OpenSolaris!
Syslinux mboot.c32 supports Solaris so I have CCed H. Peter Anvin who
might have some ideas and has solved GRUB and Solaris multiboot quirks
for Syslinux.
> - Opensolaris expects to receive the full path to the kernel, not just the
> filename.
Do you have a link to the code? Depending on how the image command
line is parsed it may be possible to satisfy Solaris without forcing
the image command-line to start with "/platform/i86pc/kernel/unix".
Maybe ;).
> - Grub loads modules at the beginning of the address space, while Gpxe seems
> to do at the end.
> Opensolaris's kernel startup routine expects grub's behavior, and searches for
> a region of free memory after the address of the last loaded module, which is
> normally not available when you use gpxe.
Do you have a link to the code? Any idea what the minimum free memory
requirement is?
We can't hardcode urealloc(UNULL, 255*1024*1024) since multiboot
should work on machines with 256 MB or less.
> - Opensolaris expects to be passed the DHCP ACK packet.
This quirk disregards the multiboot specification by replacing what
would normally be a drive description with a DHCP packet. This means
gPXE cannot unconditionally fill the DHCP packet in since non-Solaris
images might try to interpret this information as a drive.
The Solaris kernel either needs to be recognized automatically by gPXE
or a setting is needed to control this variation from the multiboot
specification.
Any ideas on recognizing a Solaris kernel? If there is no simple
unique way to identify a Solaris kernel image then a settings variable
could be used.
> Perhaps someone more familiar with the gpxe codebase, can take a look at it
> and transform it into a proper patch.
Thanks for your efforts. I think some discussion and refinement of
your patch will lead to Solaris boot support in mainline gPXE, so I
hope you are interested in taking this patch further :).
Stefan
More information about the gPXE-devel
mailing list