#! /bin/sh # # Copyright (C) 2000,2001 by # Bernhard Rosenkraenzer # Oliver Paukstadt # Karsten Hopp # Florian La Roche # Nils Philippsen # Helge Deller # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # debugshell() { echo "You have defined DEBUG, so here is a shell. You can use 'exit'" echo "to go on with the normal installation process." /bin/sh } startinetd() { echo echo "Starting telnetd and sshd to allow login over the network." /sbin/inetd echo "Generating ssh keys, This can take a while..." (cd /etc/ssh echo " Generating host_key" ssh-keygen -q -t rsa1 -f ssh_host_key -C '' -N '' >/dev/null 2>&1 echo " Generating rsa_key" ssh-keygen -q -t rsa -f ssh_host_rsa_key -C '' -N '' >/dev/null 2>&1 echo " Generating dsa_key" ssh-keygen -q -t dsa -f ssh_host_dsa_key -C '' -N '' >/dev/null 2>&1 chmod 600 ssh_host_key ssh_host_rsa_key ssh_host_dsa_key chmod 644 *.pub echo "Done" ) /sbin/sshd while : ; do echo echo "Please connect now to $IPADDR and start 'rhsetup' or start" echo "'rhsetup nointeractive' from this shell." /bin/sh -l done # /sbin/mingetty console --noclear } echo "Starting the S390 initrd to configure networking. Version is 0.24." PATH="/bin:/sbin:/usr/bin:/usr/sbin" export PATH #mount -n -o remount,rw / mount -t proc none /proc mount -t devpts none /dev/pts ifconfig lo 127.0.0.1 netmask 255.0.0.0 route add -host 127.0.0.1 dev lo [ -n "$DEBUG" ] && debugshell # Parse configuration if [ -n "$HOST" ]; then set -- `echo $HOST |sed 's/:/ /g'` HNAME=$1 DEVICE=$2 NETTYPE=`echo $DEVICE |sed -e 's/[0-9].*//'` IPADDR=$3 if [ ":$NETTYPE" = ":iucv" ]; then IUCV="iucv=$4" GATEWAY=$5 MTU=$6 elif [ ":$NETTYPE" = ":ctc" ]; then GATEWAY=$4 MTU=$5 else MTU=$4 fi fi if [ -n "$MTU" ]; then MMTU="mtu $MTU" fi if [ -n "$NETWORK" ]; then set -- `echo $NETWORK | sed 's/:/ /g'` NETWORKIP=$1 NETMASK=$2 BROADCAST=$3 if [ ":$NETTYPE" != ":ctc" ] && [ ":$NETTYPE" != ":iucv" ]; then GATEWAY=$4 fi fi # Check for missing parameters, prompt for them if necessary while [ -z "$HNAME" ]; do echo "Please enter the FQDN of your new virtual machine (e.g. s390.redhat.com):" read HNAME done while [ -z "$DEVICE" ]; do echo "Please enter the network device you intend to use (e.g. ctc0, iucv0, eth0, tr0):" read DEVICE NETTYPE=`echo $DEVICE |sed -e 's/[0-9].*//'` done while [ -z "$IPADDR" ]; do echo "Please enter the IP address of your new virtual machine:" read IPADDR done if [ ":$NETTYPE" = ":eth" ] || [ ":$NETTYPE" = ":tr" ]; then while [ -z "$NETMASK" ]; do echo "Please enter your netmask (e.g. 255.255.255.0):" read NETMASK done while [ -z "$BROADCAST" ]; do echo "Please enter your broadcast address:" read BROADCAST done while [ -z "$NETWORKIP" ]; do echo "Please enter your network address:" read NETWORKIP done while [ -z "$GATEWAY" ]; do echo "Please enter your default gateway:" read GATEWAY done while [ -z "$LCS" ] && [ -z "$QETH" ]; do echo "(1) for OSA-2 with LCS or (2) for OSA-Express with QDIO/QETH" read INF while [ -z "$LCS" ] && [ ":$INF" = ":1" ]; do echo "OSA Device address (e.g. fc20,1 - or \"auto\" (may not work)):" read LCS done while [ -z "$QETH" ] && [ ":$INF" = ":2" ]; do echo "OSA-Express Device address (e.g. 0xf000,0xf001,0xf002 - or \"auto\" (may not work)):" read QETH done done else while [ -z "$GATEWAY" ]; do echo "Enter the IP of your ctc/iucv point-to-point partner:" read GATEWAY done if [ ":$NETTYPE" = ":iucv" ]; then while [ -z "$IUCV" ]; do echo "Enter iucv kernel module options (usually iucv=HOST):" read IUCV done fi fi # configure network-interface if [ ":$NETTYPE" = ":ctc" ]; then insmod ctc $CTC ifconfig $DEVICE $IPADDR $MMTU pointopoint $GATEWAY route add -host $IPADDR dev $DEVICE elif [ ":$NETTYPE" = ":iucv" ]; then insmod netiucv $IUCV ifconfig $DEVICE $IPADDR $MMTU pointopoint $GATEWAY route add -host $IPADDR dev $DEVICE else if [ -z "$QETH" ]; then if [ ":$LCS" = ":auto" ]; then LCS="" else LCS=`echo $LCS | sed -e '/^0x\|^0X/ b; s/^/0x/'` LCS="noauto=1 devno_portno_pairs=$LCS" fi insmod -f /lib/lcs.o $LCS else if [ ":$QETH" = ":auto" ]; then QETH="qeth_options=" else QETH="qeth_options=noauto,$QETH" fi insmod -f /lib/qdio.o insmod -f /lib/qeth.o $QETH fi ifconfig $DEVICE $IPADDR $MMTU netmask $NETMASK broadcast $BROADCAST route add -net $NETWORKIP netmask $NETMASK dev $DEVICE fi route add default gw $GATEWAY dev $DEVICE [ -n "$HNAME" ] && hostname $HNAME # show interfaces and routing table ifconfig -a route -n [ -n "$DEBUG" ] && debugshell echo "Starting portmap." portmap # convert to space-separated lists DNS=`echo $DNS |sed -e 's/:/ /g'` SEARCHDNS=`echo $SEARCHDNS |sed -e 's/:/ /g'` # transfer options into install environment cat > /tmp/install.cfg <