Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Feb 2015 18:05:55 -0500
From:      Rick Miller <vmiller@hostileadmin.com>
To:        Felipe Agnelli Barbosa <no.molas@gmail.com>
Cc:        FreeBSD Questions <freebsd-questions@freebsd.org>
Subject:   Re: Automatic Installation
Message-ID:  <CAHzLAVH6%2BZMHR_wQtBhnySAhevYqS7jvQJ0=fuCeQMfN3scKWg@mail.gmail.com>
In-Reply-To: <CAD7yO6zfr6s8A4ZyubLFdR5en-UTcF0_qZbTRwgNyOc9adBdMg@mail.gmail.com>
References:  <CAD7yO6zfr6s8A4ZyubLFdR5en-UTcF0_qZbTRwgNyOc9adBdMg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Feb 12, 2015 at 12:46 PM, Felipe Agnelli Barbosa <no.molas@gmail.com
> wrote:

> Hi guys,
>
> I'm finding a way to automate the installation from the FreeBSD server,
> with PXE.
>  I saw some examples like with PXE/TFTP, dhcp, nfs and sysinstall, another
> examples with Cobbler(but until version 9.0[0]).
>
>  So, what i would to know is your experience about it and what you guys
> think the best way to automate the process of installation from FreeBSD.
>  Maybe I will join the Puppet or Chef in that process.


At a high level, there's no difference between a PXE auto install between
8.x and 10.x.  DHCP, TFTP, and network accessible media are all that are
needed.  The differences are in the low level implementations and tools.  A
FreeBSD PXE Workflow diagram[1] (see references) illustrates the overall
flow.  The diagram specifically refers to an 8.x implementation, but also
applies to 10.x just with different tools.

I've implemented this with, both, FreeBSD 8.x and 10.x, but skipped 9.x for
various reasons.  My blog[2] has a number of posts[3] related to auto
installing FreeBSD that are written specifically for 8.x, but some of the
content is still relevant for 10.x.  Time has been the biggest reason
nothing has been posted about my experiences with 10.x.

Cobbler was the platform used and, IIRC, the only real change necessary for
10.x was to update the distro signatures.  The patch was not submitted back
due to time pressure and the implementation was sub-optimal.  Time pressure
has also prevented retrofitting.

8.x was implemented using a customized bootonly ISO to fire up an automated
sysinstall, but 10.x introduced bsdinstall and a bug[4] that prevented the
bootonly ISO from working.  So, the 10.x implementation used a customized
mfsBSD[5] image implementing automated bsdinstall.  The installerconfig
implemented here is custom and written in such a manner that it bypasses
bsdinstall's main functions, but this is not required.  It was implemented
this way to leverage features of Cobbler that enabled more dynamic control
of installations via Cobbler.  The bsdinstall man page[6] covers scripting
an install.

Cobbler provides management of DHCP and hosts the iPXE, mfsBSD, and
installation media.  iPXE is transferred via TFTP and retrieves mfsBSD over
HTTP which, in turn, runs bsdinstall and installs a binary distribution
fetched via HTTP from Cobbler.  The DHCP server responds with a filename
for the client to download.

[1] http://hostileadmin.com/images/FreeBSD_PXE_Install_Workflow.gif
[2] http://blog.hostileadmin.com/
[3] http://blog.hostileadmin.com/?s=cobbler
[4] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=190939
[5] http://mfsbsd.vx.sk
[6] https://www.freebsd.org/cgi/man.cgi?query=bsdinstall

HTH

-- 
Take care
Rick Miller



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHzLAVH6%2BZMHR_wQtBhnySAhevYqS7jvQJ0=fuCeQMfN3scKWg>