Dear GRUB maintainers,
I decided to upgrade our local version of GRUB (the one the netboot
support originates from) to GNU GRUB, and I found I needed some
modifications (more on that below).
I want to thank Edmund for integrating the netboot support into GNU
GRUB -- good work! However -- not that I'm overly vain or proud of
the hack I've done, but it would still be nice if I (and Uwe Dannowski
who added support for the NE2000-PCI card) would be credited in the
documentation.
Below is a patch implementing the following changes:
- Clear out the BSS in stage1_5 and stage2. This was required on my
machine to make the BOOTP requests generated by GRUB look right (and
acceptable to my BOOTP server).
- Added the concept of closing the currently grub_open()'d file because
fsys_tftp needs a filesystem-specific close routine that aborts the
current TFTP transfer. Reason: When loading an ELF kernel, GRUB
only reads the portions of the binary that actually should be
loaded into memory. If the binary is loaded via TFTP and the TFTP
transfer is not shut down in some way, the TFTP server waits for the
client to read the rest of its binary forever.
- Added hacks to netboot/Makefile.am to make it possible to configure
more than one ns8390.c-based driver. ns8390.c needs to be compiled
into a separate object file for every driver it supports, and it is
an error to compile it with more than one configuration option (for
example, "-DINCLUDE_NE=1 -DINCLUDE_NEPCI=1" doesn't work).
- Gently handle errors in the configuration file. The code in
stage2.c previously tried to ignore unknown commands, but it forgot
to reset the errnum variable. I fixed this, and I also changed the
behavior such that the faulty commands are now put into the boot
scripts so that the user actually sees an error message when she
tries to boot the menu entry containing that command.
I haven't included in the patch files that can be generated with
`autoconf', `autoheader', and `automake'.
Cheers,
Michael
PS: Please ignore my email regarding p_paddr I posted earlier tonight
-- I noticed the modification in question has already been applied. :)
--
[EMAIL PROTECTED], [EMAIL PROTECTED]
http://www.sax.de/~hohmuth/
grub.diff