Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 14 May 2006 11:30:04 +1000
From:      Paul Koch <paul.koch@statseeker.com>
To:        freebsd-stable@freebsd.org
Subject:   Re: Can't select/install kernels in custom install.cfg - 6.1RC2
Message-ID:  <200605141130.04582.paul.koch@statseeker.com>
In-Reply-To: <200605051733.27568.paul.koch@statseeker.com>
References:  <200605051733.27568.paul.koch@statseeker.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 5 May 2006 05:33 pm, Paul Koch wrote:
> Hi,
>
> I have just upgraded some of our product build machines to 6.1RC2 and
> I am having a few problems getting a custom install.cfg to work with
> the way sysinstall now selects/installs kernels.  I am trying to
> select a custom distribution set using something like the following:
>
>  dists=base kernels
>  distKernel=GENERIC SMP
>  distSetCustom
>
> base gets installed fine but no kernels ever get installed.  If I set
> any of the standard distribution sets (eg. distSetMinimal, or
> distSetEverything), then one or both of GENERIC/SMP kernels get
> installed.
>
> I am a bit lost. Did some googling, but couldn't fine anything
> relevent.
>
> 	Paul.

Managed to work this out by reading sysinstall code.  It is quite 
simple, but not so obvious from the manual page.  There appears to be 
two methods of selecting which dists to install:

1. Setting the distributions "by name" using something like:

 ...
 dists=base lib32 GENERIC SMP
 distSetCustom
 ...
 installCommit

The kernels have now been separated from "base", into their own dist, 
but you don't specify "dists=base kernels", instead you have to specify 
the subdistribution names.  Each of the dists values are looked up and 
the appropriate bit set for the variables below.


2. Setting the distributions by setting several bit field environment 
variables:

 ...
 distMain=8193
 distSRC=0
 distX11=0
 diskKernel=3
 ...
 installCommit

The above variables are bit fields as per sysinstall/dist.h, but must be 
converted to decimal because they are read using atoi(3).

Both methods work fine, but you can't select "all" within 
subdistribution using method 1 without putting every subdistribution 
name in (eg. for src - sbase scontrib scrypt ...), where as in method 2 
you can just turn all bits on (eg. 0xFFFFF, but in decimal). 

Best to refer to dist.h.

	Paul.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200605141130.04582.paul.koch>