#!/bin/bash source ../functions/main DHCP_USED="no" cat > /etc/sysconfig/network/ifconfig.lo << "EOF" ONBOOT="yes" BOOTPROTO="static" IPADDR="127.0.0.1" NETMASK_LENGTH=8 IFSCOPE="scope host" EOF LOOP_INDEX="0" for nic_device in ${INTERFACES}; do file="/etc/sysconfig/network/ifconfig.${nic_device}" echo "ONBOOT=\"yes\"" > ${file} echo "BOOTPROTO=\"${BOOTPROTO[${LOOP_INDEX}]}\"" >> ${file} if [ "x${BOOTPROTO[${LOOP_INDEX}]}" = "xdhcp" -o \ "x${BOOTPROTO[${LOOP_INDEX}]}" = "xwifi" ]; then DHCP_USED="yes" fi if [ -n "${IP_ADDRESS[${LOOP_INDEX}]}" ]; then echo "IPADDR=\"${IP_ADDRESS[${LOOP_INDEX}]}\"" >> ${file} fi if [ -n "${NETMASK_LENGTH[${LOOP_INDEX}]}" ]; then echo "NETMASK_LENGTH=\"${NETMASK_LENGTH[${LOOP_INDEX}]}\"" >> ${file} fi if [ -n "${GATEWAY[${LOOP_INDEX}]}" ]; then echo "GATEWAY=\"${GATEWAY[${LOOP_INDEX}]}\"" >> ${file} fi LOOP_INDEX=$((${LOOP_INDEX} + 1)) done # Create template cat > /etc/sysconfig/network/ifconfig.template << EOF # yes or no ONBOOT="yes" # static, dhcp or wifi # When using static, you can still configure your DHCP server to reserve a # static address (IPADDR). # When using static address, don't forget to manually edit /etc/resolv.conf. BOOTPROTO="static" # Only needed if BOOTPROTO=static IPADDR="192.168.1.2" # Only needed if BOOTPROTO=static, normally 24 for 192.168.x.x LAN NETMASK_LENGTH="24" # Only needed if BOOTPROTO=static. GATEWAY="192.168.1.1" EOF # "/etc/resolv.conf" file if [ "x${DHCP_USED}" = "xno" ]; then if [ -f /etc/resolv.conf ]; then rm -f /etc/resolv.conf fi touch /etc/resolv.conf for i in $(seq 0 $((${#NAMESERVER[@]} - 1))); do echo "nameserver ${NAMESERVER[i]}" >> /etc/resolv.conf done chmod 644 /etc/resolv.conf fi # "/etc/sysconfig/network/network-parameters" file creation echo "#!/bin/sh" > /etc/sysconfig/network/network-parameters echo "" >> /etc/sysconfig/network/network-parameters echo "# Run network script in the background, to speed-up boot time." >> \ /etc/sysconfig/network/network-parameters echo "BACKGROUND_START=no" >> /etc/sysconfig/network/network-parameters echo "" >> /etc/sysconfig/network/network-parameters echo "DOMAINNAME=\"${DOMAIN}\"" >> /etc/sysconfig/network/network-parameters echo "INTERFACES=\"lo ${INTERFACES}\"" >> /etc/sysconfig/network/network-parameters cat >> /etc/sysconfig/network/network-parameters << EOF # Signal to other scripts that all network interfaces have been started # (especially usefull to prevent mountnetfs bootscript to block forever) NETWORKING_UP_FILE=/var/run/networking-up # On which network interface(s) to activate the DHCP server. # Leave empty or comment the line to disable the DHCP server. #DHCP_SERVER_IF="eth0" # Set to "yes" to enable the NFS server: NFS_SERVER_ENA="no" # Set to "yes" to enable the SSH server: SSH_SERVER_ENA="no" # Set to "yes" to enable the DNS server: DNS_SERVER_ENA="no" # Set FIREWALL_ENA to "yes" to enable the firewall: FIREWALL_ENA="no" # Set FIREWALL_WWW to the ethernet interface connected to the outside world (internet): FIREWALL_WWW="eth0" # Set FIREWALL_LAN to the ethernet interface connected to the internal LAN: FIREWALL_LAN="eth1" EOF # Keyboard settings cat > /etc/sysconfig/keyboard << "EOF" # Keyboard language: us, cf, fr, etc. KEYBOARD=us EOF # Replacing 'KEYBOARD=us' entry with appropriate keyboard layout specified by user in sysinfos if [ "x${KEYBOARD}" != "x" ]; then sed -i s/KEYBOARD=us/KEYBOARD=${KEYBOARD}/ /etc/sysconfig/keyboard fi # Removing /tools from the PATH environment variable during boot for bootscripts: sed -i -e "s!^\(export PATH=\).*tools.*!\1/bin:/usr/bin:/sbin:/usr/sbin!" /etc/rc.d/init.d/functions # Copying boot scripts STAGE2_BOOTSCRIPTS="ifdown ifup keyboard mountnetfs network syslogd klogd" for bootscript in ${STAGE2_BOOTSCRIPTS}; do install -v -m755 bootscripts/${bootscript} /etc/rc.d/init.d done # Necessary because bootscript_add_* scripts use ${LFS} when # writing/modifyng files export LFS= # rcsysinit.d bootscript_add_rcsysinit syslogd 50 93 bootscript_add_rcsysinit klogd 51 92 bootscript_add_rcsysinit keyboard 55 00 # rc3.d bootscript_add_rc3 network 05 80 bootscript_add_rc3 mountnetfs 30 10 chown -R root:root /etc/rc.d /etc/sysconfig exit $?