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.