Facilitates automation of any Anaconda based
distribution
____. _____ ____ __. _________
| | / _ \ | |/ _| / _____/
| |/ /_\ \| < \_____ \
/\__| / | \ | \ / \
\________\____|__ /____|__ \/_______ /
\/ \/ \/
Just Another Kickstart Script
The options listed below are custom arguments which supercede those provided from the installer.
The options provided here allow for configuration of the grub boot options.
| Option | Type | Default | Description |
|---|---|---|---|
INSTALL |
boolean | false | If specified will skip the safety check regarding installation |
DEBUG |
boolean | false | Used to display reports for each category of %pre & %post script execution |
LANG |
string | en_US.UTF-8 | Correlates to the language options found @ /usr/share/system-config-language/locale-list |
LOCATION |
string | America/Denver | Must be a valid timezone specified by the IANA timezone database |
ROOTPW |
string | NULL | If not specified will prompt user for input |
While the anaconda API does contain networking, the jaks networking options can be used to supplement them which allows for a temporary build environment.
| Option | Type | Default | Description |
|---|---|---|---|
IP |
string | NULL | If specified, this option will set the default IP address of the system and will superceede the default ip option when both are provided. This allows for a possible temporary build environment network configuration. |
NETMASK |
string | NULL | If specified, this option will set the default subnet of the system and will superceede the default netmask option when both are provided. |
GATEWAY |
string | NULL | If specified, this option will set the default route of the system and will superceede the default gateway option when both are provided. |
The JAKS LVM disk configuration is based on a configurable template
variable. It will detect all non-usb & non-network storage devices and
assemble them into the following partition schema.
| Path | Type | Size | Filesystem |
|---|---|---|---|
/boot |
Physical | 500MB | ext4 |
/boot/efi |
Physical | 500MB | vfat |
swap |
LVM | Physical Memory x 2 | swap |
/ |
LVM | See Disk sizing | ext4 |
/export/home |
LVM | See Disk sizing | ext4 |
/var |
LVM | See Disk sizing | ext4 |
/tmp |
LVM | See Disk sizing | ext4 |
/opt |
LVM | See Disk sizing | ext4 |
To accomodate for disks of varying size the following conditionals are used to determine how to assemble the disk(s).
All sizes are represented in bytes
d^n = Number of Physical disks (d=disks, n=number of disks)
m = Physical System Memory
b = 500MB
f = 100GB
pp = 100GB + 40GB + 10GB + 2GB
vp = 40GB + 20GB + 10GB + 20GB
op = 40% + 20% + 10% + 2% (Less than 100GB in size. Allocates by percentages of disk size)
And the decision tree that auto-assembles the disks is shown here. The final result will depend on the size and the number of disk(s) found on the host.
(d^n = 1) ? d0 – (b + m x 1) –
(d0 > f) && (d0 < pp) ? d0 – (pp + d0 (75%))
(d0 = f) && (d0 > pp) ? d0 – (vp + d0(75%))
(d0 < f) ? d0 – (op + d0(75%))
(d^n > 1) ? d0 – (b + m x 1) – (pp + d^n - d0(75%))
Contributions are welcome & appreciated. Refer to the contributing document to help facilitate pull requests.
This software is licensed under the MIT License.
Copyright Jason Gerfen, 2015 - 2017.