Jeremy Chadwick
2008-Jan-29 11:09 UTC
Documentation: Installing FreeBSD 7.0 via serial console and PXE
I spent 7-8 hours yesterday working on accomplishing ${SUBJECT}, and in the process wrote a document on it. There are scattered docs all over the Web describing how to do this, but all of them are either outdated or incorrect in some regards (no offence intended), hence what I wrote. http://jdc.parodius.com/freebsd/pxeboot_serial_install.html I've CC'd freebsd-stable since I think more system administrators read that list than freebsd-doc. I've opened a PR for getting this doc, or pieces of it, added to the handbook or documentation tree. Don't have the PR number yet. I also encountered a reproducable bug with the mfs_root gzip loader (I believe some people in the past have reported this too?), and will be opening a separate PR for that. -- | 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 |
Ed Maste
2008-Jan-29 11:51 UTC
Documentation: Installing FreeBSD 7.0 via serial console and PXE
On Tue, Jan 29, 2008 at 11:09:13AM -0800, Jeremy Chadwick wrote:> I spent 7-8 hours yesterday working on accomplishing ${SUBJECT}, and in > the process wrote a document on it. There are scattered docs all over > the Web describing how to do this, but all of them are either outdated > or incorrect in some regards (no offence intended), hence what I wrote. > > http://jdc.parodius.com/freebsd/pxeboot_serial_install.htmlThanks for putting this together; I've also noticed there's (sometimes conflicting) documentation on this scattered around various places. There are a few things in your document that I question though. For example, you mention that installing FreeBSD via PXE requires> 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.> vii. ... not being able to do a complete 100% TFTP-based (e.g. no > NFS) installWell, 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.> 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.> 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.) How is the console speed handled when PXE booting other operating systems? -Ed
N.J. Mann
2008-Jan-29 11:53 UTC
Documentation: Installing FreeBSD 7.0 via serial console and PXE
In message <20080129190913.GA6104@eos.sc1.parodius.com>, on Tuesday, 29 January, 2008 at 11:09:13 Jeremy Chadwick (koitsu@FreeBSD.org) wrote:> I spent 7-8 hours yesterday working on accomplishing ${SUBJECT}, and in > the process wrote a document on it. There are scattered docs all over > the Web describing how to do this, but all of them are either outdated > or incorrect in some regards (no offence intended), hence what I wrote. > > http://jdc.parodius.com/freebsd/pxeboot_serial_install.htmlThis is great. However, shouldn't 192.168.1.200 be 192.168.1.100 for newbox.home.lan in the "Common Paths/Terms Used" table? Cheers, Nick. --
Danny Braniss
2008-Jan-30 02:19 UTC
Documentation: Installing FreeBSD 7.0 via serial console and PXE
Hi Jeremy, I'm very glad that you a) can write! b) that you are actually doing something with respect to the zillions of missguided how-to's :-) Having some experience with the subject, and please, don't read me wrong, I see some different approaches: - indeed this IS the 21'st century, and it's unbelivable that we still have to deal with baudrates! (why can't they be more like modems? autosense:-) - newer servers don't have serial anymore :-(, the have IPMI/ILO/etc some only have com2 what im trying to say, is that hard coding where the console is is a 'problem' It's my belief that the setting of the console can be done via DHCP - at the moment I can select the com1/2 - sio.0/sio.1 - via dhcp. the other item I would like to raise, is the way we do it here. 1st: I boot the new host diskless, this allows us to find out quickly if all hardware is working, using a tested root/kernel - since DHCP/TFTP/NFS are working, it takes only a few minutes to bring up a new host set it to boot pxe add the mac address to the dhcp.conf and reboot 2nd: if/and when we decide to make the host 'stand-alone', we do sysinstall to partition the disk (or via bsdlabel if you are good at maths) cd /mnt-root rsh -n server dump 0f - /the/root/partition | restore rf - change the bios setting to boot off disk (or if you have the console, reboot and hit ESC when doing dhcp ...) ok, so i fibbed a bit :-), there are some small 'configurables'(*) missing, but I hope you get the idea. Cheers, danny PS: *: like setting a diskless setup, which is rather simple and gladly can try to explain so that you can the write it out in readable english :-)