|
<%#
|
|
kind: snippet
|
|
name: preseed_kernel_options
|
|
model: ProvisioningTemplate
|
|
snippet: true
|
|
description: options for the kernel / preseed startup initialization
|
|
-%>
|
|
<%
|
|
is_debian = @host.operatingsystem.name == 'Debian'
|
|
hostname = @host.name
|
|
domain = @host.domain
|
|
iface = @host.provision_interface
|
|
mac = @host.provision_interface.mac
|
|
subnet4 = iface.subnet
|
|
subnet6 = iface.subnet6
|
|
options = []
|
|
|
|
if host_param('blacklist')
|
|
options << host_param('blacklist').split(',').collect{|x| "#{x.strip}.blacklist=yes"}.join(' ')
|
|
end
|
|
|
|
if mac
|
|
# hardware type is always 01 (ethernet) unless specified otherwise
|
|
if @ipxe_net
|
|
options << "BOOTIF=01-${netX/mac:hexhyp}"
|
|
else
|
|
options << "BOOTIF=#{host_param("hardware_type", "01")}-#{mac.gsub(':', '-')}"
|
|
end
|
|
end
|
|
|
|
if is_debian
|
|
options << "auto=true"
|
|
else
|
|
options << 'console-setup/ask_detect=false console-setup/layout=USA console-setup/variant=USA keyboard-configuration/layoutcode=us localechooser/translation/warn-light=true localechooser/translation/warn-severe=true'
|
|
end
|
|
|
|
if @host.provision_interface.vlanid.present?
|
|
options << "netcfg/use_vlan=true netcfg/vlan_id=#{@host.provision_interface.vlanid}"
|
|
end
|
|
|
|
if subnet4 && subnet4.dhcp_boot_mode?
|
|
options << 'netcfg/disable_dhcp=false'
|
|
elsif subnet4 && !subnet4.dhcp_boot_mode?
|
|
if @ipxe_net
|
|
options << 'netcfg/disable_dhcp=true netcfg/get_ipaddress=${netX/ip} netcfg/get_netmask=${netX/netmask} netcfg/get_gateway=${netX/gateway} netcfg/get_nameservers=${dns} netcfg/confirm_static=true'
|
|
else
|
|
dns_servers = subnet4.dns_servers.join(' ')
|
|
options << "netcfg/disable_dhcp=true netcfg/get_ipaddress=#{iface.ip} netcfg/get_netmask=#{subnet4.mask} netcfg/get_gateway=#{subnet4.gateway} netcfg/get_nameservers=\"#{dns_servers}\" netcfg/confirm_static=true"
|
|
end
|
|
elsif subnet6 && subnet6.dhcp_boot_mode?
|
|
options << 'netcfg/disable_dhcp=false'
|
|
elsif subnet6 && !subnet6.dhcp_boot_mode?
|
|
if @ipxe_net
|
|
options << 'netcfg/disable_dhcp=true netcfg/get_ipaddress=${netX/ip} netcfg/get_netmask=${netX/netmask} netcfg/get_gateway=${netX/gateway} netcfg/get_nameservers=${dns} netcfg/confirm_static=true'
|
|
else
|
|
dns_servers = subnet6.dns_servers.join(' ')
|
|
options << "netcfg/disable_dhcp=true netcfg/get_ipaddress=#{iface.ip6} netcfg/get_netmask=#{subnet6.mask} netcfg/get_gateway=#{subnet6.gateway} netcfg/get_nameservers=\"#{dns_servers}\" netcfg/confirm_static=true"
|
|
end
|
|
end
|
|
|
|
if host_param('pxe_kernel_options')
|
|
options << host_param('pxe_kernel_options')
|
|
end
|
|
|
|
options << "locale=#{host_param('lang') || 'en_US'}"
|
|
options << "hostname=#{hostname}"
|
|
options << "domain=#{domain}"
|
|
%>
|
|
<%# do not add newline after the next line %>
|
|
<%= options.join(' ') -%>
|