org.osbuild.sysconfig
Configure sysconfig files
The sysconfig directory contains a variety of system configuration files. The values found in each of the configuration files may need to be specified before first boot. Currently, only the kernel and network configs can be modified. Kernel supports the params:
- update_default(UPDATEDEFAULT) of type boolean
- default_kernel(DEFAULTKERNEL) of type string Network supports the params:
- networking(NETWORKING) of type boolean
- no_zero_conf(NOZEROCONF) of type boolean Network-scripts supports the params:
- ifcfg - this parameter allows creation of 'ifcfg-*' files under
'network-scripts' subdirectory. 'ifcfg' type is object (dictionary) with
all of its keys specifying the interface name and resulting in creation
of configuration files with the same name and prefix 'ifcfg-'.
- Network interface name constraints are:
- maximum length of IFNAMSIZ (including the terminating null byte)
- name accepted by dev_valid_name() function from kernel net/core/dev.c
- Currently supported subset of configuration options in ifcfg files is:
- bootproto(BOOTPROTO) of type string with allowed values:
- none
- bootp
- dhcp
- static
- ibft
- autoip
- shared
- device(DEVICE) of type string
- ipv6init(IPV6INIT) of type boolean
- onboot(ONBOOT) of type boolean
- peerdns(PEERDNS) of type boolean
- type(TYPE) of type string with allowed values:
- Ethernet
- Wireless
- InfiniBand
- Bridge
- Bond
- Vlan
- userctl(USERCTL) of type boolean This stage will overwrite existing files.
- bootproto(BOOTPROTO) of type string with allowed values:
- Network interface name constraints are:
Schema 1
{
"additionalProperties": false,
"properties": {
"kernel": {
"additionalProperties": false,
"type": "object",
"description": "sysconfig kernel options",
"properties": {
"update_default": {
"type": "boolean",
"description": "This option makes a newly installed kernel as the default in the boot entry selection."
},
"default_kernel": {
"type": "string",
"description": "This option specifies what package type will be used as the default."
}
}
},
"network": {
"additionalProperties": false,
"type": "object",
"description": "sysconfig network options",
"properties": {
"networking": {
"type": "boolean",
"description": "Enables or disables networking"
},
"no_zero_conf": {
"type": "boolean",
"description": "Disables the zero configuration network suite"
}
}
},
"network-scripts": {
"additionalProperties": false,
"type": "object",
"description": "sysconfig network-scripts options",
"properties": {
"ifcfg": {
"additionalProperties": false,
"type": "object",
"description": "Keys are interface names, values are objects containing interface configuration.",
"patternProperties": {
"^[^/:.\\s]{1,2}[^/:\\s]{0,13}$": {
"additionalProperties": false,
"type": "object",
"properties": {
"bootproto": {
"type": "string",
"enum": [
"none",
"bootp",
"dhcp",
"static",
"ibft",
"autoip",
"shared"
],
"description": "Method used for IPv4 protocol configuration."
},
"device": {
"type": "string",
"description": "Interface name of the device."
},
"ipv6init": {
"type": "boolean",
"description": "Whether to initialize this device for IPv6 addressing."
},
"onboot": {
"type": "boolean",
"description": "Whether the connection should be autoconnected."
},
"peerdns": {
"type": "boolean",
"description": "Whether to modify /etc/resolv.conf."
},
"type": {
"type": "string",
"enum": [
"Ethernet",
"Wireless",
"InfiniBand",
"Bridge",
"Bond",
"Vlan"
],
"description": "Base type of the connection."
},
"userctl": {
"type": "boolean",
"description": "Whether non-root users are allowed to control the device."
}
}
}
}
}
}
},
"livesys": {
"additionalProperties": false,
"type": "object",
"required": [
"session"
],
"properties": {
"session": {
"type": "string",
"description": "Livesys session to use"
}
}
},
"desktop": {
"additionalProperties": false,
"type": "object",
"anyOf": [
{
"required": [
"preferred"
]
},
{
"required": [
"displaymanager"
]
}
],
"properties": {
"preferred": {
"type": "string",
"description": "Preferred desktop to use."
},
"displaymanager": {
"type": "string",
"description": "Displaymanager to use."
}
}
}
}
}
Schema 2
{}