Subject: Re: PXE boot support
To: None <thorpej@wasabisystems.com>
From: Andreas Gustafsson <gson@nominum.com>
List: port-i386
Date: 02/17/2002 21:33:57
Jason R. Thorpe writes:
> Last night I committed support for network booting PXE-capable i386
> systems. You can do standard NFS-root file systems using this with
> no special PXE-specific DHCP server configuration parameters.
Cool - thank you :-).
This morning I successfully PXE-booted a diskless i386 system using an
Intel EtherExpress PRO/100 card, a flash chip flashed with the Intel
Boot Agent, and a DHCPD+TFTP+NFS server.
One problem I noticed was that the system defaulted to booting with a
serial console. This is because pxeboot defines DIRECT_SERIAL in the
Makefile and calls initio(CONSDEV_AUTO) in main.c; if DIRECT_SERIAL is
defined, CONSDEV_AUTO will prefer the serial port over the PC console
whether it is connected to anything or not. I suggest making the
following change which was made to the biosboot main.c in 1998 but
never made it to netboot or pxeboot:
Index: main.c
===================================================================
RCS file: /cvsroot/syssrc/sys/arch/i386/stand/pxeboot/main.c,v
retrieving revision 1.3
diff -u -r1.3 main.c
--- main.c 2002/02/17 20:14:08 1.3
+++ main.c 2002/02/18 04:54:33
@@ -111,7 +111,11 @@
{
char c;
- initio(CONSDEV_AUTO);
+#ifdef SUPPORT_SERIAL
+ initio(SUPPORT_SERIAL);
+#else
+ initio(CONSDEV_PC);
+#endif
gateA20();
print_banner();
Another minor problem: although a pxeboot built from this morning's
sources had no problem loading from /tftpboot/pxeboot.bin and then
booting a kernel called "netbsd", the current sources seem to use the
DHCP "filename" option for both the filename of the pxeboot image and
the filename of the kernel. This seems suboptimal - I am now running
a kernel called "pxeboot.bin" loaded by a pxeboot image also called
"pxeboot.bin", but it would be nice if I could give them different
names again.
--
Andreas Gustafsson, gson@nominum.com