Netboot Mailing List (by thread)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: hardcoded config




Hello, Gero.

Thank you for the answer. Sorry for the delay, I was out of the office
and could try your suggestions only today.

On Sun, Sep 28, 2003 at 07:36:57PM +0200, Gero Kuhlmann wrote:
> Use the Broadcom NDIS2 driver...

Thanks for the tip, haven't thought about this possibility!


> ... (unfortunately, Broadcom doesn't offer
> a packet driver, but I will work on a generic UNDI driver for the
> Broadcom 5702 in the near future as soon as I have the hardware
> available)...

Sorry, what is "_generic_ driver _for smth._"? I thought UNDI provided
some functions via, say, some interrupt, and these were independent of
the chipset, etc.?


> ... and replace your current PXE bootrom with the netboot
> bootrom in the system...

This is, unfortunately, what I'm also trying to avoid -- I would really
prefer software-only solutions.


> Another approach would be to put the path hardcoded into the bootrom code
> (it's around line 106 in file netboot/bootrom/kernel/boot/boot.c - you
> need to rewrite it a little bit) and recompile the whole bootrom.

Yes, I've found that and did the following:

--- boot.c.orig	Fri Sep 26 11:43:33 2003
+++ boot.c	Fri Sep 26 13:55:13 2003
@@ -103,6 +103,7 @@
   } else
 	sname = NULL;
 
+#if 0
   /* Determine name of boot image file to load */
   if ((cp = get_vend(VEND_BOOTFILE)) != NULL) {
 	len = *cp;
@@ -112,6 +113,9 @@
   } else if (!(overload & VEND_OVR_FILE))
 	memcpy(ldparams.tftp.filename, bootp_bufs[BOOTP_REPLY]->bp_file,
 						sizeof(ldparams.tftp.filename));
+#endif
+  strcpy(ldparams.tftp.filename, "vmlinuz");
+
   if (ldparams.tftp.filename[0] == '\0')
 	return(PXENV_STATUS_DHCP_NO_FILE);
 
However, I don't see the string "vmlinuz" neither in makerom, nor in
image.flo. Is this normal?

Besides, when I tried to boot off this image, the driver identified the
card, after that the system hanged (no CapsLock, Ctrl-Alt-Del, etc.). I
didn't see any packets arriving the server, either.

If these problems are solved, do you see a quick way to generate an
image usable with PXE BIOS? image.rom seems to have magic numbers /
header, and image.flo works only from floppy... Would it be easy to
modify makerom so that it generates just an executable image?


> And a third solution would be to wait a couple of months: I'm presently
> working on mknbi-mgl to generate a boot image file which can be loaded
> using a commercial PXE bootrom. This way it would be possible to write
> a small MGL script (just a few lines) which takes an arbitrary, user-
> defined DHCP tag, or a hard-coded file name if you like, and return it
> as a boot image file name to the bootrom. Since I'm presently short of
> time this implementation will still take some time, but initial changes
> are already implemented. Help is always appreciated...

I would be glad to contribute, and I'm happy to see that this is already
in your TODO list. However, I need a working solution within a couple of
weeks. Do you think it would be possible for me (some C experience, no
previous netboot hacking except the one above ;) ) to implement raw
image generation (executable from PXE BIOS) in this period of time, with
"cleanups" made later?

Is it possible to implement a chipset-independent UNDI interface?


Thanks in advance,
Baurjan.
===========================================================================
This Mail was sent to netboot mailing list by:
Baurjan Ismagulov <ibr@ata.cs.hun.edu.tr>
To get help about this list, send a mail with 'help' as the only string in
it's body to majordomo@baghira.han.de. If you have problems with this list,
send a mail to netboot-owner@baghira.han.de.



For requests or suggestions regarding this mailing list archive please write to netboot@gkminix.han.de.