From owner-freebsd-stable@FreeBSD.ORG Tue Jan 29 20:06:19 2008 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A7F8816A418 for ; Tue, 29 Jan 2008 20:06:19 +0000 (UTC) (envelope-from jdc@parodius.com) Received: from mx01.sc1.parodius.com (mx01.sc1.parodius.com [72.20.106.3]) by mx1.freebsd.org (Postfix) with ESMTP id 8A42C13C478 for ; Tue, 29 Jan 2008 20:06:19 +0000 (UTC) (envelope-from jdc@parodius.com) Received: by mx01.sc1.parodius.com (Postfix, from userid 1000) id 4D89E1CC031; Tue, 29 Jan 2008 12:06:19 -0800 (PST) Date: Tue, 29 Jan 2008 12:06:19 -0800 From: Jeremy Chadwick To: Ed Maste Message-ID: <20080129200619.GA18799@eos.sc1.parodius.com> References: <20080129190913.GA6104@eos.sc1.parodius.com> <20080129195043.GA45752@sandvine.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20080129195043.GA45752@sandvine.com> User-Agent: Mutt/1.5.16 (2007-06-09) Cc: freebsd-stable@freebsd.org Subject: Re: Documentation: Installing FreeBSD 7.0 via serial console and PXE X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Jan 2008 20:06:19 -0000 On Tue, Jan 29, 2008 at 02:50:43PM -0500, Ed Maste wrote: > > iv. Knowledge of how TFTP and DHCP work, and how to debug them if > > they break, > > v. Intricate knowledge of configuring a DHCP server (common > > question: "what's the 'next-server' and 'option root-path' > > stuff? Is it needed? Why?") > > I admit that I haven't tried installing Linux or Solaris via PXE, but I > find it interesting that such knowledge wouldn't be required for them. It's much more "solid" in the sense that with Linux, you simply tell the boot loader (GRUB or whatever else) to pass the kernel an argument that says "use this serial port speed, no VGA console, and output everything to this serial port". That's *it*. I'd have to dig a little deeper on Solaris i386 (I'm pretty sure it's a boot loader option, similar to -S115200 in /boot.config on FreeBSD), but on Sparc I believe OpenBoot takes care of this pain for you. > > vii. ... not being able to do a complete 100% TFTP-based (e.g. no > > NFS) install > > Well, you _can_ do a complete 100% TFTP-based install, but the loader > has to be compiled with an option. I agree that is rather unfortunate. I believe the options you're referring to are LOADER_TFTP_SUPPORT and LOADER_NFS_SUPPORT. Even if you define LOADER_NFS_SUPPORT=no, loader(8) will still resort to using NFS. I've confirmed this on a couple occasions by defining PXE_DEBUG=1 and looking at the output. NFS, from what I can tell, is needed regardless because TFTP offers no way (AFAIK) of handling directory structures. This is speculation on my part, but the confirmation that there's no way to do a pure TFTP-based install has been verified. PR kern/74352 confirms this as well. > > If you tell boot2 to set the speed to 115200 (e.g. > > comconsole_speed="115200"), it won't work ? you'll still get 9600bps. > > Sure, since boot2 doesn't look at loader.conf. You're right, if you > have a hard disk putting -S115200 in /boot.config is the best bet, and > the loader will pick the speed setting up automatically. Which begs the question -- why is there some kind of association between the maximum speed a serial port can be set to and the speed the port *is* set to currently? I don't mind if FreeBSD defaults to 9600bps out of the box, but I *do* mind that I can't set that serial port's speed higher than 9600bps anywhere (including getty, stty, etc.) unless the boot blocks are rebuilt. > > But when PXE booting, there's only one piece of the bootstrap used: > > pxeboot(8). This means the only solution is to rebuild the boot > > blocks with a serial port speed that has the speed you want -- in this > > case, 115200bps. > > That shouldn't be the case; comconsole_speed="115200" should be > sufficient to set the speed. (Granted the port will start out at 9600 > until the conf file gets parsed.) Nope -- I've confirmed this on every system I've used during the past 12 years I've used FreeBSD. BOOT_COMCONSOLE_SPEED=9600 (the default) also sets the *maximum* speed permitted for that serial port to 9600, until the boot blocks are rebuilt. > How is the console speed handled when PXE booting other operating > systems? On Sparcs, I believe OpenBoot takes care of it for you (you tell it what speed you want, and it does the work for you). I'm not sure about other i386 platforms. -- | Jeremy Chadwick jdc at parodius.com | | Parodius Networking http://www.parodius.com/ | | UNIX Systems Administrator Mountain View, CA, USA | | Making life hard for others since 1977. PGP: 4BD6C0CB |