Scripting sysinstall(8) to create & use multiple slices on a
disk?
John Baldwin
jhb at freebsd.org
Fri Mar 5 13:43:48 UTC 2010
On Thursday 04 March 2010 4:33:29 pm David Wolfskill wrote:
> For reasons that may well be idiosyncratic, I like to set up FreeBSD
> machines to have at least 2 bootable slices -- e.g., one can act as a
> fallback if an attempted software upgrade proves to have been ill-timed.
>
> In the past, I've done this manually; while a bit tedious & fairly
> "target-rich" with opportunities for human error, it's something that is
> typically done infrequently (i.e., once) in the life of a machine (or at
> least its boot drive).
>
> At work, the IT folks use a scripted sysinstall(8) to set machines up;
> to increase the probability that I'll be able to get 3 "special"
> machines set up the way I want, I'm trying to set up a sysinstall config
> file to make this as painless as possible.
>
> I managed to get a copy of the config script IT uses, so I had a
> starting-point ... but they were setting the machines up with
>
> partition=exclusive
>
> which doesn't seem like a good choice for what I'm doing. :-}
>
>
> After my first attempt failed, I poked around on the Net & found
> <http://www.nntpnews.net/f2458/what-proper-install-cfg-configuring-multiple-
slices-4387807/>,
> (dated 18-11-08, 10:40 PM ), in which Peter Steele describes something
> similar to what I was about to try next, and writes:
>
> | My intent here is to create three slices-one 6GB in size, another 1GB in
> | size, and the third sized to consume the remaining free space. When I
> | run this through sysinstall, it complains that it can't find the space
> | for the partitions. It even complains that it can't find any free space.
> | Because the slices don't get created, the subsequent label assignments
> | fail as well. What is the proper commands for creating multiple slices
> | in install.cfg?
>
> In a foillowup, he writes:
>
> | After a lot of experimenting, my impression is that sysinstall simply
> | doesn't support multiple slice installations. It works to a point, but I
> | get some unexpected errors, e.g.
> |
> | Unable to make device node for /dev/ad0s1a in /dev
>
> which doesn't seem very encouraging.
>
>
> Would someone please either confirm the limitation or provide a
> suitable excerpt from a sysinstall config script to demonstrate
> that it is actually possible? (Or show me where it's spelled out in the
> man page....)
>
> (I'm using 7.x sysinstall, if that matters.)
If you are doing a fully scripted install you may be better off just using a
dedicated shell script to format your disks and mount them and then use the
various *-install.sh scripts from the release distributions to install the
code. You could still do this via sysinstall by sticking your shell script in
/stand in the MFS root and having your sysinstall script just run that script.
You might want to build a custom mfsroot to add some more useful tools though.
I really think sysinstall needs to support a disk "backdoor" whereby the user
can either manually partition disks and then mount them at /mnt (or have a
script do it), and tell sysinstall to just skip the disk stuff and assume /mnt
is mounted.
--
John Baldwin
More information about the freebsd-hackers
mailing list