Scripting sysinstall(8) to create & use multiple slices on a disk?

Josh Paetzel jpaetzel at
Sat Mar 6 13:45:59 UTC 2010

On Saturday 06 March 2010 02:41:30 Garrett Cooper wrote:

> (Attempts to avoid shoe flying in his direction from randi@ :/),
> FWIW, sysinstall(8) is a good starter tool and it has a lot of the
> information that you need in order to complete an install (especially
> if you're doing it from scratch), but the amount of effort for using
> sysinstall(8)'s install.cfg, etc has the greater potential to change
> in the future when compared with a shell scripted method which is less
> likely to change; granted gpart vs fdisk is in transition, but the
> number of steps and the simplicity required to get everything up and
> going is trivial, and I did so in < 100 lines of bourne shell.
> I'd be happy to share my custom script if desired as well to provide
> you a general idea of what could be done to solve your problem.
> Cheers,
> -Garrett

One of my main issues with using sysinstall comes from an intersection of it's 
lack of documentation, and the way it can arbitrarily change over time.  For 
instance, this week I was working on an install for a number of machines that 
had to be imaged with an early 7.x version of FreeBSD, and were specified to 
be installed with "distSet${OBFUSICATED}"  In order to determine what 
distSet${OBFUSICATED} installs on 7.${EARLY} involves either installing a 
system via sysinstall and noting what it installs, or reading the source code.  
Where this becomes an issue is sysinstall changes over time, 
distSet${OBFUSICATED} is not necessarily the same between 7.${EARLY} and say 
8.0.  Since there is no documentation you either end up tracking the changes 
to sysinstall, or sorting it out at upgrade time.

I'd also like to mention John saying you can build a custom mfsroot to use 
additional tools during install...I go a different tack on this.  I'm a huge 
fan of python, and like to use it for installers.  Rather than build a custom 
mfsroot with python what I prefer to do is build a chroot that the target 
machine boots diskless off.  Then I chroot into that directory and install 
whatever tools I want using ports/packages.  I find that getting FreeBSD to 
boot diskless is so easy that I've had it accidentally happen more than once 
when I wanted something else to happen.  Installing ports in a chroot is also 
pretty trivial.  Building a custom mfsroot has a bit of a learning curve with 
a fairly expensive trial and error penalty.

At any rate.  There are a lot of compelling reasons to not use sysinstall for 
automated installs.  And while there are compelling reasons to use sysinstall 
for this task, most of them involve things like "I'm a masochist." or "It was 
there so I thought I'd use it."


Josh Paetzel
FreeBSD -- The power to serve
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: This is a digitally signed message part.
Url :

More information about the freebsd-hackers mailing list