X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=stage2%2Fcis-bootscripts;h=50717e61c4ca12d3faee6f45710694c3d504ec3c;hb=3605ab38ca7604b1fe43c3bce5e4963730a85d39;hp=a9c849c491b85fa48d58018914eab087fc1c4ba4;hpb=16cc35ba4890382ee9368a176e4f5a7fa773b7a6;p=hvlinux.git diff --git a/stage2/cis-bootscripts b/stage2/cis-bootscripts index a9c849c..50717e6 100755 --- a/stage2/cis-bootscripts +++ b/stage2/cis-bootscripts @@ -1,4 +1,5 @@ -#!/bin/sh +#!/bin/bash +set -o errexit # Reading system configuration informations, functions and package versions. source ../sysinfos @@ -7,8 +8,7 @@ source ../packages-list DHCP_USED="no" -# "/etc/sysconfig/network/ifconfig.lo" file creation -cat > /etc/sysconfig/network/ifconfig.lo << "EOF" && +cat > /etc/sysconfig/network/ifconfig.lo << "EOF" ONBOOT="yes" BOOTPROTO="static" IPADDR="127.0.0.1" @@ -19,14 +19,13 @@ 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} && - echo "IPADDR=\"${IP_ADDRESS[${LOOP_INDEX}]}\"" >> ${file} && - echo "PREFIX_LENGTH=\"${PREFIX_LENGTH[${LOOP_INDEX}]}\"" >> ${file} && - echo "IFSCOPE=\"\"" >> ${file} && - evaluate_retval - - if [ x${BOOTPROTO[${LOOP_INDEX}]} == "xdhcp" ]; then + echo "ONBOOT=\"yes\"" > ${file} + echo "BOOTPROTO=\"${BOOTPROTO[${LOOP_INDEX}]}\"" >> ${file} + echo "IPADDR=\"${IP_ADDRESS[${LOOP_INDEX}]}\"" >> ${file} + echo "PREFIX_LENGTH=\"${PREFIX_LENGTH[${LOOP_INDEX}]}\"" >> ${file} + echo "IFSCOPE=\"\"" >> ${file} + + if [ "x${BOOTPROTO[${LOOP_INDEX}]}" = "xdhcp" ]; then GATEWAY="" DHCP_USED="yes" fi @@ -34,15 +33,26 @@ for nic_device in ${INTERFACES}; do LOOP_INDEX=$((${LOOP_INDEX} + 1)) done +# "/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 "DOMAINNAME=\"${DOMAIN}\"" >> /etc/sysconfig/network/network-parameters && -echo "DEFAULT_HOSTNAME=\"${MACHINE_NAME}.${DOMAIN}\"" >> /etc/sysconfig/network/network-parameters && -echo "INTERFACES_UP=\"lo ${INTERFACES}\"" >> /etc/sysconfig/network/network-parameters && -echo "INTERFACES_DN=\"${INTERFACES} lo\"" >> /etc/sysconfig/network/network-parameters && -echo "GATEWAY=\"${GATEWAY}\"" >> /etc/sysconfig/network/network-parameters && +echo "#!/bin/sh" > /etc/sysconfig/network/network-parameters +echo "DOMAINNAME=\"${DOMAIN}\"" >> /etc/sysconfig/network/network-parameters +echo "INTERFACES_UP=\"lo ${INTERFACES}\"" >> /etc/sysconfig/network/network-parameters +echo "INTERFACES_DN=\"${INTERFACES} lo\"" >> /etc/sysconfig/network/network-parameters +echo "GATEWAY=\"${GATEWAY}\"" >> /etc/sysconfig/network/network-parameters -cat >> /etc/sysconfig/network/network-parameters << EOF && +cat >> /etc/sysconfig/network/network-parameters << EOF # On which network interface(s) to activate the DHCP server. # Leave empty or comment the line to disable the DHCP server. @@ -53,100 +63,44 @@ NFS_SERVER_ENA="no" # Set FIREWALL_ENA to "yes" to enable the firewall: FIREWALL_ENA="no" -# Set FIREWALL_LAN to the ethernet interface connected to the internal LAN: -FIREWALL_LAN="eth0" # Set FIREWALL_WWW to the ethernet interface connected to the outside world (internet): -FIREWALL_WWW="eth1" -EOF - -# "/etc/resolv.conf" file -if [ x${DHCP_USED} == "xno" ]; then - if [ -f /etc/resolv.conf ]; then - rm -f /etc/resolv.conf || exit 1 - fi - touch /etc/resolv.conf && - for i in $(seq 0 $((${#NAMESERVER[@]} - 1))); do - echo "nameserver ${NAMESERVER[i]}" >> /etc/resolv.conf || exit 1 - done - chmod 644 /etc/resolv.conf - evaluate_retval -fi - -# /etc/hosts file -echo "127.0.0.1 localhost.localdomain localhost" > /etc/hosts -evaluate_retval -if [ x${DHCP_USED} == "xno" ]; then - echo "${IP_ADDRESS[0]} ${MACHINE_NAME}.${DOMAIN} ${MACHINE_NAME}" >> /etc/hosts || exit 1 -fi -chmod 644 /etc/hosts && - -# Clock settings -cat > /etc/sysconfig/clock << "EOF" && -UTC=1 +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" && +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 || exit 1 + 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="functions rc checkfs dhcp halt ifdown ifup initlog keyboard modules mountfs \ - mountkernfs mountnetfs network nfs portmap reboot sendsignals setclock sshd swap sysklogd udev udev_retry" -mkdir -p /etc/rc.d/init.d && +STAGE2_BOOTSCRIPTS="ifdown ifup keyboard mountnetfs network sysklogd" for bootscript in ${STAGE2_BOOTSCRIPTS}; do - cp -a -f bootscripts/${bootscript} /etc/rc.d/init.d || exit 1 -done && - -# Creating runlevels links - -for level in S 0 1 2 3 4 5 6; do - dir=/etc/rc.d/rc${level}.d - if [ -d ${dir} ]; then - # Removing old links - rm -f ${dir}/* || exit 1 - else - # Creating basic directory structure - mkdir -v -p ${dir} || exit 1 - fi -done && - -# rcS.d -bootscript_add_rcS initlog 05 00 && -bootscript_add_rcS mountkernfs 10 00 && -bootscript_add_rcS modules 15 00 && -bootscript_add_rcS udev 20 00 && -bootscript_add_rcS swap 25 94 && -bootscript_add_rcS checkfs 30 00 && -bootscript_add_rcS mountfs 35 95 && -bootscript_add_rcS udev_retry 40 00 && -bootscript_add_rcS sysklogd 45 93 && -bootscript_add_rcS keyboard 50 00 && -bootscript_add_rcS setclock 55 92 && - -# rc0.d -bootscript_add_manual 0 sendsignals 95 00 && -bootscript_add_manual 0 halt 99 00 && + install -m755 bootscripts/${bootscript} /etc/rc.d/init.d +done -# rc3.d -bootscript_add_rc3 network 05 80 && -bootscript_add_rc3 portmap 10 75 && -bootscript_add_rc3 nfs 15 74 && -bootscript_add_rc3 dhcp 20 73 && -bootscript_add_rc3 sshd 25 70 && -bootscript_add_rc3 mountnetfs 30 10 && +# Necessary because bootscript_add_* scripts use ${LFS} when +# writing/modifyng files +export LFS= + +# rcsysinit.d +bootscript_add_rcsysinit sysklogd 50 93 +bootscript_add_rcsysinit keyboard 55 00 -# rc6.d is almost identical to rc0.d -bootscript_add_manual 6 sendsignals 95 00 && -bootscript_add_manual 6 reboot 99 00 && +# rc3.d +bootscript_add_rc3 network 05 80 +bootscript_add_rc3 mountnetfs 30 10 chown -R root:root /etc/rc.d /etc/sysconfig -# Return last error exit $?