projects to better support FreeBSD sysadmins

Steve Rikli sr at genyosha.net
Thu Jan 15 05:48:45 UTC 2015


On Wed, Jan 14, 2015 at 09:28:07AM -0800, Craig Rodrigues wrote:
> 
> kickstart and freebsd-update are just two examples, found very quickly
> after trying to set this
> stuff up.  freebsd-update has been around since 2006.  The problem
> I mentioned and workarounds have been mentioned on the web since then.
> To go back to Royce's original posting, I am seeing that there is a
> definite disconnect between developers who work on the source tree, and
> people
> who are deploying FreeBSD in modern datacenter and cloud environments.
> 
> I'm actually not the only one who has run into these types of problems.
> I've talked to a friend in a company making a product based on FreeBSD,
> who has run into similar problems when trying to do kickstart and mass
> deployment of FreeBSD nodes.  If you are willing to code your own stuff up,
> it is doable, but things are definitely not as well documented and turnkey
> as the Linux equivalet solutions.

I think Craig's comments capture my own experience with FreeBSD Kickstart
pretty well.

I setup Kickstart/Jumpstart for FreeBSD 6.* long ago at $WORK, and it
was a fair amount of effort putting all the pieces together from various
docs and websearching, plus some scripting on my own for postinstall
(which is fine, and expected -- not unlike Linux).

The end results were functional, but it wasn't as flexible or easy to do
as Linux Kickstart with PXElinux.  IIRC I ended up having to recompile
the FreeBSD pxeboot loader, since it hardcoded "/pxeroot" as the NFS
root path, and didn't support TFTP (I think); I had to do that for all
versions and architectures of FreeBSD we ran at the time -- so it had a
relatively high "start-up cost" to get a new/additional version going,
compared to a new version of Linux CentOS or what have you.

Nowdays I'm not sure where to start with modern FreeBSD 9 or 10.  I keep
an eye out for sysinstall- and PXE-related activity in modern FreeBSD,
and I gather there have been changes in those areas, but I confess I
haven't pursued any of them yet.

For my own admittedly selfish needs, in the context of this thread
I'm less interested in Puppet and the other configuration management
orchestration schemes -- there are already howto recipes and docs and
other help resources for those, and I don't think FreeBSD needs to
reinvent the wheel to get FreeBSD-flavored docs.

Nor do I think we need another FreeBSD howto on setting up an NFS, DHCP,
TFTP, HTTP, etc. server, e.g. to provide the OS images to Kickstart --
again, documentation for that already exists, and even the Linux docs
are not hard to adapt to FreeBSD.  Plus the Ports Collection is great
for whatever services don't come along natively with the base FreeBSD.

Instead, I think there needs to be more focus on the parts of the OS
automated installation which are FreeBSD-specific and different from
the Linux Kickstart equivalents; e.g. just off the top of my head:

    - how is the FreeBSD pxeboot loader different from Linux?  E.g.
      what args/options will it accept?  Can it play nicely with
      PXElinux these days?  Example pxe.cfg files?  What if you need
      to have multiple FreeBSD versions and architectures Kickstarted
      from the same server?

    - what is the modern FreeBSD equivalent of a Linux Kickstart
      ks.cfg file, if any?

    - how does one script/automate the postinstall configuration with
      sysinstall or PC-BSD's installer or ???

    - likewise for preinstall steps, if applicable (Linux Kickstart
      has sections for both in the kickstart config file) e.g. for
      disk partitioning or other early actions during an automated
      OS install

As others have mentioned in this thread, the RedHat/CentOS et al docs
for those areas are pretty good and pretty easily found.  I'd love to
see something similar for FreeBSD instead of my very old cobbled-
together notes which probably aren't applicable anymore.

Maybe I'm wrong (always a distinct possibility :-) ) but it seems to me
that clouds and VMs already have their own deployment mechanisms (the AWS
Store or VMware templates and clones etc.), so again that's an area where
FreeBSD maybe shouldn't spend a lot of resources to reinvent wheels and
documentation.

Whereas for better or worse, Linux Kickstart and PXElinux (or SYSlinux
etc.) seems to be the defacto standard for typical OS deployments, until
you get to cloud-y things and cloning VMs and whatnot.  But even in
cloud/vm areas, you still may want to Kickstart at least the 1st
instance, right?

In any case, thanks for having the conversation.

Cheers,
sr.


More information about the freebsd-advocacy mailing list