net-booting the install disks (Re: 8.x grudges)

Jeremy Chadwick freebsd at
Thu Jul 8 16:40:25 UTC 2010

On Thu, Jul 08, 2010 at 11:08:04AM -0400, Mikhail T. wrote:
> 08.07.2010 09:53, Jeremy Chadwick написав(ла):
> >Then don't modify loader.conf.  Instead, once the "Welcome to FreeBSD!"
> >portion of loader appears, press "6" to shell to the loader prompt
> >and type:
> >
> >set vfs.root.mountfrom="ufs:/dev/md0"
> >boot
> Yes, that works... It just should not be necessary.

Okay, so let me get this straight.  First the complaint was that you had
to modify loader.conf, which involved extracting the CD image, editing
the file, yadda yadda.  Now that you've been shown you don't have to
edit loader.conf, the complaint is "it shouldn't be necessary".  :-)

There's actually quite a bit about FreeBSD that "shouldn't be
necessary" (from an administrator's point of view), but that's a
completely separate issue when compared to your "when I do thing X in
the kernel config, it breaks".  Which of those two approaches do you
want to focus on?

> Red Hat's "kickstart" does not require one to extract CD-images to
> fiddle with a couple of lines, and FreeBSD comes tantalizingly close
> to offer the same functionality.  Just not quite :-(

I've PXE booted Ubuntu and Debian.  It was easy to accomplish (read:
easier than FreeBSD) because they offer pxelinux vs. FreeBSD's pxeboot.

pxelinux[1] offers the ability to read a configuration file via TFTP,
which configures pxelinux itself.  The configuration capabilities are
very impressive[2].  FreeBSD folks interested in PXE should really take
a look at this thing.  I believe the configuration file is read and
applied immediately, so things like serial port speed changes happen
before pxelinux outputs anything (e.g. no need to rebuild pxelinux just
to get a faster rate).

That said, given that FreeBSD's pxeboot requires a bunch of extra work
(rebuilding for faster serial speed, and a bunch of other stuff -- it's
in my doc), I'm a surprised you're not complaining about that.  :-)

The bottom line: the PXE booting framework in FreeBSD could be improved.
Even Randi would agree with this point, I think.  But the question then
becomes: what can you bring to the table which can help improve the
situation?  If you have the skills to help improve the situation, please
help.  By making it better for yourself, you can help make it better for
everyone; a win-win situation.

Anyway, your list of irritations when upgrading from 7.x to 8.x are
mainly opinions -- and that's okay.  I don't necessarily have a problem
with your opinions, despite some being inaccurate or wrong; nothing
wrong with being wrong!

I'm not being sarcastic when I say I *do* appreciate the feedback you've
provided (the method of approach is similar to how I go about things;
I've quite a big list of "WTFs" when it comes to software in general),
but you need to be reasonable and focus on a compromise.  I think the
community wants to help you but you definitely want things a certain
way or have a lot of pre-conceived notions regarding what kernel or
userland pieces "should or should not change".  That's just not a
realistic way to approach computing these days.

So like I said: things change.  It's very hard to keep up with all the
changes between major FreeBSD releases.  The longevity of your use of
FreeBSD doesn't matter -- I go back to the 2.2.x days.  The difference
between 2.x and 8.x is immense, and I'm talking on *all* levels.  I had
to adapt too, and it takes time to get familiar with all the changes.

So please be a bit flexible and we'll do our best to help you fix what's
broken *and* help you understand why things are different.

     (Not a typo; the pxelinux =~ syslinux, same options.  See [1],
     section "What is PXELINUX" for validation)

| Jeremy Chadwick                                   jdc at |
| Parodius Networking              |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.              PGP: 4BD6C0CB |

More information about the freebsd-stable mailing list