summaryrefslogblamecommitdiffstats
path: root/builder/modules.d/slx-network/module-setup.sh
blob: df95bfee556f2ff0af49510b4e6076c42c6cb1b3 (plain) (tree)
























                                                                                               




                                                                                                  
                                                                 

                                                                                                               
                                                                                                     


                                                                        
                                                                      
                                                                        
 
#!/bin/bash
check() {
	[[ $mount_needs ]] && return 1

	if dracut_module_included "network" || dracut_module_included "systemd-networkd" ; then
		derror "This module conflicts with 'network' and 'systemd-networkd'!"
		return 1
	fi
	return 255
}

# called by dracut
depends() {
	echo "busybox kernel-network-modules"
}

# called by dracut
install() {
	# need initqueue to get a clean network start
	dracut_need_initqueue

		# install basic dns libs
	_arch=$(uname -m)
	inst_libdir_file {"tls/$_arch/",tls/,"$_arch/",}"libnss_dns.so.*"

	# stage3 network scripts
	inst "${moddir}/scripts/setup-bootif-network.stage3" "/usr/local/bin/setup-bootif-network"
	inst "${moddir}/scripts/udhcpc-trigger.stage3" "/usr/local/bin/udhcpc-trigger"

	# files for stage4, park them in /opt/openslx
	gcc -o "${initdir}/usr/local/bin/rdns" "${moddir}/rdns.c"
	inst "${moddir}/scripts/setup-bootif-network.stage4" "/opt/openslx/scripts/setup-bootif-network.stage4"
	inst "${moddir}/scripts/udhcpc-trigger.stage4" "/opt/openslx/scripts/udhcpc-trigger.stage4"
	inst "${moddir}/services/udhcpc-bootif.service" "/opt/openslx/services/udhcpc-bootif.service"

	# hooks
	inst_hook cmdline 10 "${moddir}/hooks/parse-ipxe-network-kcl.sh"
	inst_hook pre-pivot 50 "${moddir}/hooks/copy-network-files.sh"
	inst_hook pre-pivot 60 "${moddir}/hooks/activate-bootif-dhcp.sh"
}