Date: Mon, 2 Dec 2002 22:51:36 +0100 (CET) From: Markus Wild <mwild@vianetworks.ch> To: freebsd-sparc@FreeBSD.ORG Subject: Re: netbooting freebsd-sparc64 howto Message-ID: <200212022151.WAA86673@mail.kpnqwest.ch>
next in thread | raw e-mail | index | archive | help
> You still need tftp for boot net:dhcp. bootp just provides a filename
> and machine to download from, it doesn't actually transfer files. The
> firmware uses tftp to grab a particular file from the specified machine.
On the matter of bootp and the various BOOTP kernel options: what is
the rationale behind the sparc64 port _not_ using a cpu_rootconf()
function (such as for example in the i386 port) to avoid refetching
the network parameters that the firmware loader already retrieved and
passed on to the kernel, at least as an option?
With the following small patch, you just need NFSCLIENT and NFS_ROOT as
kernel option, and none of the BOOTP* to netboot (works fine at least for
me here, perhaps I've missed something?).
Cheers,
Markus
RCS file: /home/ncvs/src/sys/sparc64/sparc64/autoconf.c,v
retrieving revision 1.10
diff -c -r1.10 autoconf.c
*** autoconf.c 18 Nov 2002 03:28:23 -0000 1.10
--- autoconf.c 2 Dec 2002 21:48:59 -0000
***************
*** 27,38 ****
--- 27,55 ----
*/
#include "opt_isa.h"
+ #include "opt_bootp.h"
+ #include "opt_nfs.h"
+ #include "opt_nfsroot.h"
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/bus.h>
#include <sys/cons.h>
#include <sys/kernel.h>
+ #include <sys/malloc.h>
+ #include <sys/mount.h>
+
+ #include <sys/socket.h>
+ #include <net/if.h>
+ #include <net/if_dl.h>
+ #include <net/if_types.h>
+ #include <net/if_var.h>
+ #include <net/ethernet.h>
+ #include <netinet/in.h>
+ #include <nfs/rpcv2.h>
+ #include <nfs/nfsproto.h>
+ #include <nfsclient/nfs.h>
+ #include <nfsclient/nfsdiskless.h>
#ifdef DEV_ISA
#include <isa/isavar.h>
***************
*** 57,59 ****
--- 74,95 ----
#endif
cold = 0;
}
+
+ /*
+ * Do legacy root filesystem discovery.
+ */
+ void
+ cpu_rootconf()
+ {
+ #ifdef BOOTP
+ bootpc_init();
+ #endif
+ #if defined(NFSCLIENT) && defined(NFS_ROOT)
+ #if !defined(BOOTP_NFSROOT)
+ nfs_setup_diskless();
+ if (nfs_diskless_valid)
+ #endif
+ rootdevnames[0] = "nfs:";
+ #endif
+ }
+ SYSINIT(cpu_rootconf, SI_SUB_ROOT_CONF, SI_ORDER_FIRST, cpu_rootconf, NULL)
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-sparc" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200212022151.WAA86673>
