diff --git a/xCAT-genesis-builder/allowcred.awk b/xCAT-genesis-builder/allowcred.awk
deleted file mode 100755
index 341138d3e..000000000
--- a/xCAT-genesis-builder/allowcred.awk
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/usr/bin/awk -f
-BEGIN {
- listener = "/inet/tcp/300/0/0"
- quit = "no"
-
-
- while (match(quit,"no")) {
- while ((listener |& getline) > 0) {
- if (match($0,"CREDOKBYYOU?")) {
- print "CREDOKBYME" |& listener
- }
- }
- close(listener)
- }
-}
diff --git a/xCAT-genesis-builder/bmcsetup b/xCAT-genesis-builder/bmcsetup
deleted file mode 100755
index cc293d3a5..000000000
--- a/xCAT-genesis-builder/bmcsetup
+++ /dev/null
@@ -1,348 +0,0 @@
-# IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html
-#
-# Raw commands to set BMCs to defaults
-# dx320
-# 0x2e 0x10 0x4d 0x4f 0x00 0xff
-#
-# dx340
-# 0x30 0x13 0xff 0x00 0x00 0x00
-#
-# dx360/x3450
-# 0x30 0x02 0x43 0x4c 0x52 0xaa
-# 0x08 0x00 0x49 0x4e 0x54 0x45 0x4c
-# 0x08 0x04
-#
-allowcred.awk &
-CREDPID=$!
-sleep 5
-modprobe ipmi_si
-modprobe ipmi_devintf
-IPCFGMETHOD=static
-while [ -z "$BMCIP" -a $IPCFGMETHOD="static" ]; do
- while ! getipmi
- do
- echo "Retrying retrieval of IPMI settings from server"
- done
- TIMEOUT=15
- BMCIP=`grep bmcip /tmp/ipmicfg.xml |awk -F\> '{print $2}'|awk -F\< '{print $1}'`
- BMCVLAN=`grep taggedvlan /tmp/ipmicfg.xml |awk -F\> '{print $2}'|awk -F\< '{print $1}'`
- if [ -z "$BMCVLAN" ]; then BMCVLAN=off; fi
- BMCGW=`grep gateway /tmp/ipmicfg.xml |awk -F\> '{print $2}'|awk -F\< '{print $1}'`
- BMCNM=`grep netmask /tmp/ipmicfg.xml |awk -F\> '{print $2}'|awk -F\< '{print $1}'`
- BMCUS=`grep username /tmp/ipmicfg.xml |awk -F\> '{print $2}'|awk -F\< '{print $1}'`
- BMCPW=`grep password /tmp/ipmicfg.xml |awk -F\> '{print $2}'|awk -F\< '{print $1}'`
- IPCFGMETHOD=`grep ipcfgmethod /tmp/ipmicfg.xml|awk -F\> '{print $2}'|awk -F\< '{print $1}'`
- if [ -z "$IPCFGMETHOD" ]; then
- IPCFGMETHOD="static"
- fi
- if [ -z "$BMCIP" -a $IPCFGMETHOD="static" ]; then
- echo "FAILED TO RETRIEVE SETTINGS, RETRYING in 15 seconds"
- sleep 15
- fi
-done
-kill $CREDPID
-NUMBMCS=`grep bmcip /tmp/ipmicfg.xml |awk -F\> '{print $2}'|awk -F\< '{print $1}'|wc -l`
-IPMIVER=`ipmitool mc info|grep ^IPMI|awk '{print $4}'`
-IPMIMFG=`ipmitool mc info|grep "^Manufacturer ID"|awk '{print $4}'`
-if [ "$IPMIMFG" == 2 ]; then #IBM
- XPROD=`ipmitool mc info|grep "^Product ID"|awk '{print $4}'`
- if [ "$XPROD" == "220" ]; then
- LOCKEDUSERS=1
- BMCPORT=`grep bmcport /tmp/ipmicfg.xml |awk -F\> '{print $2}'|awk -F\< '{print $1}'`
- if [ ! -z "$BMCPORT" ]; then
- let idev=NUMBMCS-1
- for p in $BMCPORT; do
- ipmitool -d $idev raw 0xc 1 1 0xc0 $p > /dev/null
- ipmitool -d $idev raw 0x04 0x12 0x09 0x01 0x18 0x${p}1 0x00 > /dev/null
- let idev=idev-1
- done
- fi
- elif [ "$XPROD" == "291" ]; then
- LOCKEDUSERS=1
- else
- IBMFAM=`ipmitool raw 0x3a 0x50 |head -n 1| awk '{print $1 $2 $3 $4}'`
- if [ "$IBMFAM" == "59554f4f" ]; then
- BMCPORT=`grep bmcport /tmp/ipmicfg.xml |awk -F\> '{print $2}'|awk -F\< '{print $1}'`
- if [ ! -z "$BMCPORT" ]; then
- let idev=NUMBMCS-1
- for p in $BMCPORT; do
- ipmitool -d $idev raw 0xc 1 1 0xc0 $BMCPORT > /dev/null
- let idev=idev-1
- done
- fi
- fi
- fi
-elif [ "$IPMIMFG" == 20301 ] ; then
- XPROD=`ipmitool mc info|grep "^Product ID"|awk '{print $4}'`
- IBMVPDV=`ipmitool raw 0x3a 0xb 2 0 16 1`
- if [ $IBMVPDV -eq 2 ]; then
- ISITE=1;
- fi
- LOCKEDUSERS=1
- BMCPORT=`grep bmcport /tmp/ipmicfg.xml |awk -F\> '{print $2}'|awk -F\< '{print $1}'`
- if [ ! -z "$BMCPORT" ]; then
- let idev=NUMBMCS-1
- for p in $BMCPORT; do
- ipmitool -d $idev raw 0xc 1 1 0xc0 $BMCPORT > /dev/null
- NEWPORT=`ipmitool -d $idev raw 0xc 2 1 0xc0 0 0|awk '{print $2}'`
- sleep 10
-
- let idev=idev-1
- done
- fi
-fi
-echo -n "Auto detecting LAN channel..."
-
-for LANCHAN in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16; do
- if ipmitool channel info $LANCHAN 2> /dev/null | grep 802.3 > /dev/null 2>&1 && ipmitool raw 0xc 2 $LANCHAN 5 0 0 > /dev/null 2>&1;
- then break;
- fi;
- echo -n "."
-done
-echo "Detected LAN channel $LANCHAN"
-
-let idev=NUMBMCS
-if [ $IPCFGMETHOD="static" ]; then
- while [ $idev -gt 0 ]; do
- let idev=idev-1
- TRIES=0
- while ! ipmitool -d $idev lan set $LANCHAN ipsrc static; do
- sleep 1
- let TRIES=TRIES+1
- if [ $TRIES -gt $TIMEOUT ]; then break; fi
- done
- done
- let idev=NUMBMCS-1
- for b in $BMCIP; do
- TRIES=0
- while ! ipmitool -d $idev lan set $LANCHAN ipaddr $b; do
- sleep 1
- let TRIES=TRIES+1
- if [ $TRIES -gt $TIMEOUT ]; then break; fi
- done
- let idev=idev-1
- done
- let idev=NUMBMCS-1
- for m in $BMCNM; do
- TRIES=0
- while ! ipmitool -d $idev lan set $LANCHAN netmask $m; do
- sleep 1
- let TRIES=TRIES+1
- if [ $TRIES -gt $TIMEOUT ]; then break; fi
- done
- let idev=idev-1
- done
- TRIES=0
- if [ ! -z "$BMCGW" ]; then
- let idev=NUMBMCS-1
- for g in $BMCGW; do
- TRIES=0
- while ! ipmitool -d $idev lan set $LANCHAN defgw ipaddr $g; do
- sleep 1
- let TRIES=TRIES+1
- if [ $TRIES -gt $TIMEOUT ]; then break; fi
- done
- let idev=idev-1
- done
- TRIES=0
- fi
-else
- let idev=NUMBMCS
- while [ $idev -gt 0 ]; do
- let idev=idev-1
- TRIES=0
- while ! ipmitool -d $idev lan set $LANCHAN ipsrc $IPCFGMETHOD; do
- sleep 1
- let TRIES=TRIES+1
- if [ $TRIES -gt $TIMEOUT ]; then break; fi
- done
- done
-fi
-
-let idev=NUMBMCS
-while [ $idev -gt 0 ]; do
- let idev=idev-1
- TRIES=0
- ipmitool -d $idev lan set $LANCHAN vlan id $BMCVLAN
-done
-
-let idev=NUMBMCS-1
-for bmcu in $BMCUS; do
- if [ "$bmcu" = "" ]; then continue; fi
-DISABLEUSERS="1 2 3 4"
-if [ ! -z "$LOCKEDUSERS" ]; then
- USERSLOT=`ipmitool -d $idev user list $LANCHAN |grep -v ^ID|awk '{print $1 " " $2}'|grep " $BMCUS"|awk '{print $1}'`
- if [ -z "$USERSLOT" ]; then
- USERSLOT=4
- fi
-else
- USERSLOT=2
-fi
-if [ "$ISITE" = 1 ]; then
- while ! remoteimmsetup
- do
- echo "Waiting for xCAT remote configuration of service processor via CMM.."
- done
-fi
-CURRENTUSER=`ipmitool -d $idev user list $LANCHAN|grep ^$USERSLOT|awk '{print $2}'`
-DISABLEUSERS=`echo 1 2 3 4|sed -e s/$USERSLOT//`
-for user in $DISABLEUSERS; do
- while ! ipmitool -d $idev user disable $user; do
- sleep 1
- let TRIES=TRIES+1
- if [ $TRIES -gt $TIMEOUT ]; then break; fi
- done
- TRIES=0
-done
-TRIES=0
-while ! ipmitool -d $idev user enable $USERSLOT; do
- sleep 1
- let TRIES=TRIES+1
- if [ $TRIES -gt $TIMEOUT ]; then break; fi
-done
-TRIES=0
-# Last param in ipmitool user priv is the channel to set it on.
-# Penguin boxes are all channel 2
-CURRPRIV=`ipmitool -d $idev user list 1|grep ^$USERSLOT|awk '{print $6}'`
-if [ "$CURRPRIV" != "ADMINISTRATOR" ]; then
- while ! ipmitool -d $idev user priv $USERSLOT 4 $LANCHAN; do
- sleep 1
- let TRIES=TRIES+1
- if [ $TRIES -gt $TIMEOUT ]; then break; fi
- done
- TRIES=0
-fi
-TRIES=0
-while ! ipmitool -d $idev channel setaccess $LANCHAN $USERSLOT link=on; do
- sleep 1
- let TRIES=TRIES+1
- if [ $TRIES -gt $TIMEOUT ]; then break; fi
-done
-TRIES=0
-if [ "$CURRENTUSER" != "$bmcu" ]; then
- while ! ipmitool -d $idev user set name $USERSLOT $bmcu; do
- sleep 1
- let TRIES=TRIES+1
- if [ $TRIES -gt $TIMEOUT ]; then break; fi
- done
-fi
-let idev=idev-1
-done
-let idev=NUMBMCS-1
-for bmcp in $BMCPW; do
- if [ "$bmcp" = "" ]; then continue; fi
-TRIES=0
-while ! ipmitool -d $idev user set password $USERSLOT $bmcp; do
- sleep 1
- let TRIES=TRIES+1
- if [ $TRIES -gt $TIMEOUT ]; then break; fi
-done
-TRIES=0
-echo "Set up following user table: "
-ipmitool -d $idev user list $LANCHAN
-let idev=idev-1
-done
-
-let idev=NUMBMCS
-while [ $idev -gt 0 ]; do
-let idev=idev-1
-
-
-echo -n "Enabling Channel $LANCHAN: "
-while ! ipmitool -d $idev raw 0x6 0x40 $LANCHAN 0x42 0x44 > /dev/null; do
- sleep 1
- let TRIES=TRIES+1
- if [ $TRIES -gt $TIMEOUT ]; then break; fi
-done
-TRIES=0
-while ! ipmitool -d $idev raw 0x6 0x40 $LANCHAN 0x82 0x84 > /dev/null; do
- sleep 1
- let TRIES=TRIES+1
- if [ $TRIES -gt $TIMEOUT ]; then break; fi
-done
-if [ $TRIES -gt $TIMEOUT ]; then echo "ERROR"; else echo "OK"; fi
-TRIES=0
-
-echo -n "Enabling ARP responses: "
-while ! ipmitool -d $idev lan set $LANCHAN arp respond on > /dev/null; do
- sleep 1
- let TRIES=TRIES+1
- echo -n .
- if [ $TRIES -gt $TIMEOUT ]; then break; fi
-done
-if [ $TRIES -gt $TIMEOUT ]; then echo "ERROR"; else echo "OK"; fi
-TRIES=0
-
-echo -n "Enabling IPMI v 1.5 MD5 LAN access:"
-while ! ipmitool -d $idev lan set $LANCHAN auth admin md5 > /dev/null; do
- sleep 1
- let TRIES=TRIES+1
- if [ $TRIES -gt $TIMEOUT ]; then break; fi
-done
-if [ $TRIES -gt $TIMEOUT ]; then echo "ERROR"; else echo "OK"; fi
-TRIES=0
-if [ ! "$IPMIVER" == "1.5" ]; then
- echo -n "Enabling IPMI v 2.0 LAN access: "
- #two goals here, make sure cipher suite 0 does not work as it is insecure
- #mae sure cipher suite 3 does work because we will use it
- #leave every thing else alone.
- ACCESS=`ipmitool raw 0xc 2 1 24 0 0 `
- NEWACCESS=""
- i=0
- for elem in $ACCESS; do
- if [ $i = 2 ]; then
- NEWACCESS=`printf "$NEWACCESS 0x%02x" $((0x$elem&0xf0))`
- elif [ $i = 3 ]; then
- NEWACCESS=`printf "$NEWACCESS 0x%02x" $((0x$elem|0x44))`
- elif [ $i != 0 ]; then
- NEWACCESS="$NEWACCESS 0x$elem"
- fi
- i=$((i+1))
- done
- if ipmitool raw 0xc 1 1 24 $NEWACCESS > /dev/null; then
- echo OK
- else
- echo ERROR
- fi
-
-
- TRIES=0
-
- echo -n "Enabling SOL for channel $LANCHAN:"
- while ! ipmitool -d $idev raw 0xc 0x21 $LANCHAN 0x1 0x1 > /dev/null; do
- sleep 1
- let TRIES=TRIES+1
- if [ $TRIES -gt $TIMEOUT ]; then break; fi
- done
- if [ $TRIES -gt $TIMEOUT ]; then echo "ERROR"; else echo "OK"; fi
- TRIES=0
-
- echo -n "Enabling SOL for $BMCUS:"
- while ! ipmitool -d $idev raw 6 0x4c $LANCHAN $USERSLOT 2 0 0 0 > /dev/null; do
- sleep 1
- let TRIES=TRIES+1
- if [ $TRIES -gt $TIMEOUT ]; then break; fi
- done
- if [ $TRIES -gt $TIMEOUT ]; then echo "ERROR"; else echo "OK"; fi
- echo -n "Putting SOL on channel $LANCHAN:"
- while ! OUTPUT=`ipmitool -d $idev raw 0xc 0x21 $LANCHAN 7 $LANCHAN 2>&1 > /dev/null`; do
- if echo $OUTPUT|grep "Unknown (0x80)" > /dev/null; then
- echo "Not Needed"
- break
- fi
- sleep 1
- let TRIES=TRIES+1
- if [ $TRIES -gt $TIMEOUT ]; then break; fi
- done
- if [ $TRIES -gt $TIMEOUT ]; then echo "ERROR"; else echo "OK"; fi
-fi
-
-#frume.awk
-
-echo "Lighting Identify Light"
-while :
- do ipmitool -d $idev raw 0 4 10 > /dev/null
- sleep 7
-done &
-done
-
diff --git a/xCAT-genesis-builder/dodiscovery b/xCAT-genesis-builder/dodiscovery
deleted file mode 100755
index c0e18b8c0..000000000
--- a/xCAT-genesis-builder/dodiscovery
+++ /dev/null
@@ -1,127 +0,0 @@
-#!/bin/sh
-minixcatd.awk &
-PUBKEY=`openssl rsa -in /etc/xcat/privkey.pem -pubout 2> /dev/null|grep -v "PUBLIC KEY"`
-PUBKEY=`echo $PUBKEY|sed -e 's/ //g'`
-export PUBKEY
-
-echo "Beginning node discovery process"
-waitforlink=100
-while [ ! -z "$NICSTOBRINGUP" -a $waitforlink -gt 0 ]; do
- NICSTOBRINGUP=`ip link|grep mtu|grep -v LOOPBACK|grep -v usb|grep -v ,LOWER_UP|awk -F: '{print $2}'`
- waitforlink=$((waitforlink - 1))
- sleep 0.1
- if [ $waitforlink = 1 ]; then
- echo "No link detected on $NICSTOBRINGUP"
- fi
-done
-NICSGETTINGADDR=`ip link|grep mtu|grep -v LOOPBACK|grep -v usb|grep ,LOWER_UP|awk -F: '{print $2}'`
-timewaiting=0
-echo "Waiting for nics to get addresses"
-while [ ! -z "$NICSGETTINGADDR" -a $timewaiting != 700 ]; do
- NEWNICSGETTINGADDR=""
- for nic in $NICSGETTINGADDR; do
- if ! ip addr show dev $nic |grep -v inet6|grep inet >/dev/null; then
- NEWNICSGETTINGADDR="$NEWNICSGETTINGADDR $nic"
- else
- echo -n "$nic|"
- ip addr show dev $nic |grep -v inet6|grep inet|sed -e s/\\/.*//|awk '{print $2}'
- fi
- done
- sleep 0.1
- timewaiting=$((timewaiting+1))
- if [ $timewaiting = 699 ]; then
- echo "No DHCP answer for $nic, ignoring interface"
- fi
- NICSGETTINGADDR=$NEWNICSGETTINGADDR
-done
-if [ $timewaiting != 700 -a $timewaiting -gt 450 ]; then
- echo "Got an address, but it took inordinately long, you may want to check spanning tree configuration"
-fi
-echo "Network configuration complete, commencing transmit of discovery packets"
-XCATPORT=3001
-export XCATPORT
-for parm in `cat /proc/cmdline`; do
- key=`echo $parm|awk -F= '{print $1}'`
- if [ "$key" = "xcatd" ]; then
- XCATMASTER=`echo $parm|awk -F= '{print $2}'|awk -F: '{print $1}'`
- XCATPORT=`echo $parm|awk -F= '{print $2}'|awk -F: '{print $2}'`
- fi
-done
-
-
-#time to make our packet...
-MTM=unknown
-SERIAL=unknown
-ARCH=unknown
-ARCH=`uname -m` #32-bit only is old news
-if [ -r /sys/devices/virtual/dmi/id/product_name ]; then #x86
- PRODNAME=`cat /sys/devices/virtual/dmi/id/product_name`
- IAMAVM=0
- if [ "$PRODNAME" = "KVM" ]; then
- IAMAVM=1
- MTM=KVM
- elif [ "$PRODNAME" = "VMware Virtual Platform" ]; then
- IAMAVM=1
- MTM=VMware
- else
- MTM=`cat /sys/devices/virtual/dmi/id/product_name|awk -F'[' '{print $2}'|awk -F']' '{print $1}'`
- SERIAL=`cat /sys/devices/virtual/dmi/id/product_serial`
- fi
-elif [ -r /proc/device-tree/model ]; then #POWER
- MTM=`cat /proc/device-tree/model |awk -F, '{print $2}'`
-fi
-CPUCOUNT=`cat /proc/cpuinfo |grep "model name"|wc -l`
-MEMORY=`cat /proc/meminfo |grep MemTotal|awk '{print $2}'`
-UUID=`sed -e 's/\(..\)\(..\)\(..\)\(..\)-\(..\)\(..\)-\(..\)\(..\)/\4\3\2\1-\6\5-\8\7/' /sys/devices/virtual/dmi/id/product_uuid`
-grep "model name" /proc/cpuinfo | while read line; do #to avoid pulling in tail, we do a goofy thing
- echo $line > /tmp/cpumod
-done
-CPUTYPE=`cat /tmp/cpumod|awk -F':' '{print $2}'|sed -e 's/^ //'`
-echo '' > /tmp/discopacket
-echo "findme" >> /tmp/discopacket
-echo "$ARCH" >> /tmp/discopacket
-if [ "$IAMAVM" = 1 ]; then
- echo "virtual" >> /tmp/discopacket
-fi
-echo "$CPUCOUNT" >> /tmp/discopacket
-echo "$CPUTYPE" >> /tmp/discopacket
-echo "$MEMORY" >> /tmp/discopacket
-echo "$UUID" >> /tmp/discopacket
-if [ "$MTM" != "unknown" ]; then
- echo "$MTM" >> /tmp/discopacket
-fi
-if [ "$SERIAL" != "unknown" ]; then
- echo "$SERIAL" >> /tmp/discopacket
-fi
-for dev in `ip link|grep -B1 ether|grep UP|awk '{print $2}'|sed -e s/://`; do
- DRIVER=`grep DRIVER /sys/class/net/$dev/device/uevent|awk -F= '{print $2}'`
- ADDRESS=`ip address show dev $dev|grep "inet "|grep global|awk '{print $2}'`
- MAC=`ip link show dev $dev|grep ether|awk '{print $2}'| tr /a-f/ /A-F/`
- echo "$DRIVER|$dev|$MAC|$ADDRESS" >> /tmp/discopacket
-done
-echo "$PUBKEY" >> /tmp/discopacket #this is not secure to use by itself, switch sourced pubkey for security
-echo "" >> /tmp/discopacket
-echo "" >> /tmp/discopacket
-echo "" >> /tmp/discopacket
-openssl dgst -sha512 -out /tmp/discopacket.sha512 -sign /etc/xcat/privkey.pem /tmp/discopacket
-openssl enc -e -a -in /tmp/discopacket.sha512 > /tmp/discopacket.b64sig
-cat /tmp/discopacket |while read line; do
- if [ "$line" = "" ]; then
- cat /tmp/discopacket.b64sig >> /tmp/discopacket.new
- fi
- echo $line >> /tmp/discopacket.new
-done
-mv /tmp/discopacket.new /tmp/discopacket
-
-
-while [ ! -r /restart ]; do
- if [ ! -z "$XCATMASTER" ]; then
- (cat /tmp/discopacket | udpcat.awk $XCATMASTER $XCATPORT ) &
- fi
- for dhcps in `grep dhcp-server /var/lib/dhclient/dhclient.leases|awk '{print $4}'|sed -s 's/;//'`; do
- (cat /tmp/discopacket | udpcat.awk $dhcps $XCATPORT ) &
- done
- #cat /tmp/discopacket
- sleep 5
-done
-/bin/restart
diff --git a/xCAT-genesis-builder/doxcat b/xCAT-genesis-builder/doxcat
deleted file mode 100755
index 9f682a20d..000000000
--- a/xCAT-genesis-builder/doxcat
+++ /dev/null
@@ -1,173 +0,0 @@
-if [ ! -z "$BOOTIF" ]; then
- BOOTIF=`echo $BOOTIF|sed -e s/01-// -e s/-/:/g`
- echo -n "Waiting for device with address $BOOTIF to appear.."
- gripeiter=6000
- while [ -z "$bootnic" ]; do
- bootnic=`ip link show|grep -B1 $BOOTIF|grep mtu|awk '{print $2}'|sed -e 's/:$//'`
- sleep 0.1
- if [ $gripeiter = 0 ]; then
- echo "ERROR"
- echo "Unable to find boot device (maybe the nbroot is missing the driver for your nic?)"
- while :; do sleep 365d; done
- fi
- gripeiter=$((gripeiter-1))
- done
-fi
-echo "Done"
-if [ -z "$bootnic" ]; then
- echo "ERROR: BOOTIF missing, can't detect boot nic"
-fi
-
-if [ -r /sys/devices/virtual/dmi/id/product_uuid ]; then
- duid='default-duid "\\000\\004';
- #product_uuid in sysfs fails to cope with endianness of SMBIOS 2.6, unconditionnaly swap. Technically leads to incorrect DUID in 'older' systems but matches MS behavior
- for i in `sed -e 's/\(..\)\(..\)\(..\)\(..\)-\(..\)\(..\)-\(..\)\(..\)/\4\3\2\1-\6\5-\8\7/;s/-//g;s/\(..\)/\1 /g' /sys/devices/virtual/dmi/id/product_uuid`; do
- octnum="\\"`printf "\\%03o" 0x$i`
- duid=$duid$octnum
- done
- duid=$duid'";'
- echo $duid > /var/lib/dhclient/dhclient6.leases
-fi
-rpcbind
-rpc.statd
-ssh-keygen -q -t rsa -f /etc/ssh/ssh_host_rsa_key -C '' -N ''
-ssh-keygen -q -t dsa -f /etc/ssh/ssh_host_dsa_key -C '' -N ''
-echo 'Protocol 2' >> /etc/ssh/sshd_config
-/usr/sbin/sshd
-mkdir -p /etc/xcat
-mkdir -p /etc/pki/tls
-echo "[ req ]
-distinguished_name = nodedn
-
-[ nodedn ]" > /etc/pki/tls/openssl.cnf
-echo -n "Generating private key..."
-openssl genrsa -out /etc/xcat/privkey.pem 1024 >& /dev/null
-echo "Done"
-PUBKEY=`openssl rsa -in /etc/xcat/privkey.pem -pubout 2> /dev/null|grep -v "PUBLIC KEY"`
-PUBKEY=`echo $PUBKEY|sed -e 's/ //g'`
-export PUBKEY
-/sbin/rsyslogd -c4
-mkdir -p /var/lib/lldpad
-echo 'lldp :' >> /var/lib/lldpad/lldpad.conf
-echo '{' >> /var/lib/lldpad/lldpad.conf
-for iface in `ip link |grep -v '^ '|awk '{print $2}'|sed -e 's/:$//'|grep -v lo`; do
-echo "$iface :" >> /var/lib/lldpad/lldpad.conf
-echo "{" >> /var/lib/lldpad/lldpad.conf
- echo "tlvid00000006 :" >> /var/lib/lldpad/lldpad.conf
- echo "{" >> /var/lib/lldpad/lldpad.conf
- echo info = '"'$PUBKEY'";' >> /var/lib/lldpad/lldpad.conf
- echo 'enableTx = true;' >> /var/lib/lldpad/lldpad.conf
- echo '};' >> /var/lib/lldpad/lldpad.conf
- echo 'adminStatus = 3;' >> /var/lib/lldpad/lldpad.conf
-echo '};' >> /var/lib/lldpad/lldpad.conf
-done
-echo '};' >> /var/lib/lldpad/lldpad.conf
-lldpad -d
-dhclient -cf /etc/dhclient.conf -pf /var/run/dhclient.$bootnic.pid $bootnic &
-#we'll kick of IPv6 and IPv4 on all nics, but not wait for them to come up unless doing discovery, to reduce
-#chances that we'll perform a partial discovery
-#in other scenarios where downed non-bootnics cause issues, will rely on retries to fix things up
-dhclient -6 -pf /var/run/dhclient6.$bootnic.pid $bootnic -lf /var/lib/dhclient/dhclient6.leases &
-NICSTOBRINGUP=`ip link|grep mtu|grep -v LOOPBACK|grep -v $bootnic|grep -v usb|grep -v ,UP|awk -F: '{print $2}'`
-export NICSTOBRINGUP
-for nic in $NICSTOBRINGUP; do
- dhclient -cf /etc/dhclient.conf -pf /var/run/dhclient.$nic.pid $nic &
- dhclient -cf /etc/dhclient.conf -6 -pf /var/run/dhclient6.$nic.pid -lf var/lib/dhclient/dhclient6.leases $nic &
-done
-openssl genrsa -out /etc/xcat/certkey.pem 4096 > /dev/null 2>&1 &
-
-
-
-
-gripeiter=101
-echo -n "Acquiring network addresses.."
-while ! ip addr show dev $bootnic|grep -v 'scope link'|grep -v 'dynamic'|grep -v inet6|grep inet > /dev/null; do
- sleep 0.1
- if [ $gripeiter = 1 ]; then
- echo
- echo "It seems to be taking a while to acquire an IPv4 address, you may want to check spanning tree..."
- fi
- gripeiter=$((gripeiter-1))
-done
-echo -n "Acquired IPv4 address on $bootnic: "
-ip addr show dev $bootnic|grep -v 'scope link'|grep -v 'dynamic'|grep -v inet6|grep inet|awk '{print $2}'
-ntpd -g -x
-(while ! ntpq -c "rv 0 state"|grep 'state=4' > /dev/null; do sleep 1; done; hwclock --systohc) &
-if dmidecode|grep IPMI > /dev/null; then
- modprobe ipmi_si
- modprobe ipmi_devintf
-fi
-XCATPORT=3001
-export XCATPORT
-for parm in `cat /proc/cmdline`; do
- key=`echo $parm|awk -F= '{print $1}'`
- if [ "$key" = "xcatd" ]; then
- XCATMASTER=`echo $parm|awk -F= '{print $2}'|awk -F: '{print $1}'`
- XCATPORT=`echo $parm|awk -F= '{print $2}'|awk -F: '{print $2}'`
- fi
-done
-if [ "$destiny" != "discover" ]; then #we aren't discoverying, we probably can and should get a cert
- /bin/getcert $XCATMASTER:$XCATPORT
-fi
-while :; do
- if [ -z "$destiny" ]; then
- destiny=`getdestiny $XCATMASTER:$XCATPORT`
- fi
- destparameter=`echo $destiny|awk -F= '{print $2}'`
- destiny=`echo $destiny|awk -F= '{print $1}'`
- dest=`echo $destiny|awk '{print $1}'` #could probably use bash but oh well
- if [ "$dest" = "discover" ]; then #skip a query to xCAT when /proc/cmdline will do
- /bin/dodiscovery
- /bin/getcert $XCATMASTER:$XCATPORT
- destiny=''
- dest=''
- elif [ "$dest" = shell ]; then
- echo "Dropping to debug shell, exit to check for further action"
- destiny=''
- dest=''
- /bin/bash
- elif [ "$dest" = runcmd ]; then
- destiny=`/bin/nextdestiny $XCATMASTER:$XCATPORT`
- dest=`echo $destiny|awk -F= '{print $1}'`
- $destparameter
- elif [ "$dest" = runimage ]; then
- destiny=`/bin/nextdestiny $XCATMASTER:$XCATPORT`
- dest=`echo $destiny|awk -F= '{print $1}'`
- mkdir /tmp/`basename $destparameter`
- cd /tmp/`basename $destparameter`
- ERROR=`wget $destparameter 2>&1`
- while [ $? == 1 ] && echo $ERROR|grep -v 416; do
- sleep 10
- ERROR=`wget -c $destparameter 2>&1`
- done
- tar xvf `basename $destparameter`
- ./runme.sh
- cd -
- elif [ "$dest" = "reboot" -o "$dest" = "boot" ]; then
- /bin/nextdestiny $XCATMASTER:$XCATPORT
- reboot -f
- elif [ "$dest" = "install" -o "$dest" = "netboot" ]; then
- reboot -f
- elif [ "$dest" = standby ]; then
- destiny=''
- dest=''
- delay=$((30+$RANDOM%270))
- while [ $delay -gt 0 ]; do
- echo -en "Received request to retry in a bit, will call xCAT back in $delay seconds \r"
- delay=$((delay-1))
- sleep 1
- done
- echo "Retrying ";
- else
- echo "Unrecognized directive $dest"
- destiny=''
- dest=''
- delay=$((30+$RANDOM%270))
- while [ $delay -gt 0 ]; do
- echo -en "Will retry in $delay seconds \r"
- delay=$((delay-1))
- sleep 1
- done
-
- fi
-done
diff --git a/xCAT-genesis-builder/getcert b/xCAT-genesis-builder/getcert
deleted file mode 100755
index f00ffc5b9..000000000
--- a/xCAT-genesis-builder/getcert
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/bin/bash
-allowcred.awk &
-CREDPID=$!
-if [ -z "$XCATDEST" ]; then
- XCATDEST=$1
-fi
-#retry in case certkey.pem is not right, yet
-while ! openssl req -new -key /etc/xcat/certkey.pem -out /tmp/tls.csr -subj "/CN=`hostname`" >& /dev/null; do
- sleep 1
-done
-echo "
-getcredentials
-x509cert
-300
-" > /tmp/certreq.xml
-cat /tmp/tls.csr >> /tmp/certreq.xml
-echo "
-
-
-" >> /tmp/certreq.xml
-openssl dgst -sha512 -out /tmp/certreq.sha512 -sign /etc/xcat/privkey.pem /tmp/certreq.xml #chain off the switch published key
-openssl enc -e -a -in /tmp/certreq.sha512 > /tmp/certreq.b64sig
-cat /tmp/certreq.xml |while read line; do
- if [ "$line" = "" ]; then
- cat /tmp/certreq.b64sig >> /tmp/certreq.xml.new
- fi
- echo $line >> /tmp/certreq.xml.new
-done
-mv /tmp/certreq.xml.new /tmp/certreq.xml
-rm /tmp/certreq.b64sig /tmp/certreq.sha512
-cat /tmp/certreq.xml | openssl s_client -connect $XCATDEST -quiet 2> /dev/null > /tmp/certresp.xml
-if grep 'BEGIN CERTIFICATE' /tmp/certresp.xml > /dev/null; then
- awk '/BEGIN CERTIFICATE/,/END CERTIFICATE/' < /tmp/certresp.xml > /etc/xcat/cert.pem
- #stop transmitting sysDesc, allowing the public key to age out of validity
- for iface in `grep '^ e' /var/lib/lldpad/lldpad.conf|awk '{print $1}' `; do
- lldptool -T -i $iface -V sysDesc enableTx=no >& /dev/null
- done
-fi
-rm /tmp/certreq.xml
-rm /tmp/certresp.xml
-kill $CREDPID
diff --git a/xCAT-genesis-builder/getdestiny b/xCAT-genesis-builder/getdestiny
deleted file mode 100755
index 15cfc1baa..000000000
--- a/xCAT-genesis-builder/getdestiny
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/bash
-if [ -z "$XCATDEST" ]; then
- XCATDEST=$1
-fi
-echo "
-getdestiny
-300
-" > /tmp/destreq.xml
-if [ -f /tmp/destiny.xml ]; then rm /tmp/destiny.xml; fi
-while [ ! -f /tmp/destiny.xml ] || grep error /tmp/destiny.xml; do
- if [ -f /tmp/destiny.xml ]; then
- timer=60
- while [ $timer -gt 0 ]; do
- echo -en "Retrying in $timer seconds \r" >&2
- sleep 1
- timer=$(($timer-1));
- done
- fi
- echo " " >&2
- if [ -f /etc/xcat/cert.pem -a -f /etc/xcat/certkey.pem ]; then #use client cert if available
- cat /tmp/destreq.xml | openssl s_client -key /etc/xcat/certkey.pem -cert /etc/xcat/cert.pem -connect $XCATDEST -quiet 2> /dev/null > /tmp/destiny.xml
- else
- cat /tmp/destreq.xml | openssl s_client -connect $XCATDEST -quiet 2> /dev/null > /tmp/destiny.xml
- fi
-done
-rm /tmp/destreq.xml
-DESTINY=`grep '' /tmp/destiny.xml | awk -F'>' '{print $2}'|awk -F'<' '{print $1}'`
-rm /tmp/destiny.xml
-echo $DESTINY
-
diff --git a/xCAT-genesis-builder/getipmi b/xCAT-genesis-builder/getipmi
deleted file mode 100755
index 5e9af2590..000000000
--- a/xCAT-genesis-builder/getipmi
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/bin/bash
-allowcred.awk &
-CREDPID=$!
-if [ -z "$XCATDEST" ]; then
- XCATDEST=$1
-fi
-if [ -z "$XCATDEST" ]; then
- for parm in `cat /proc/cmdline` ; do
- if echo $parm |grep xcatd= > /dev/null; then
- XCATDEST=`echo $parm |awk -F= '{print $2}'`
- fi
- done
-fi
-for LANCHAN in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16; do
- if ipmitool channel info $LANCHAN 2> /dev/null | grep 802.3 > /dev/null 2>&1 && ipmitool raw 0xc 2 $LANCHAN 5 0 0 > /dev/null 2>&1;
- then break;
- fi;
-done
-BMCMAC=`ipmitool lan print $LANCHAN|grep ^MAC|awk '{print $4}'` #bmcconfig may opt to use DHCP, if so we need to feed up the mac address
-#TODO: need a way to get the DUID the service processor may use, perhaps reserve that for 'ibmsetup' since spec doesn't touch ipv6?
-
-echo "
-getbmcconfig
-300
-$BMCMAC
-" > /tmp/bmcreq.xml
-rm /tmp/ipmicfg.xml
-while [ ! -f /tmp/ipmicfg.xml ] || grep error /tmp/ipmicfg.xml; do
- if [ -f /tmp/ipmicfg.xml ]; then
- timer=60
- while [ $timer -gt 0 ]; do
- sleep 1
- echo -en "Retrying in $timer seconds \r"
- timer=$(($timer-1));
- done
- fi
- echo -en " \r";
-
- if [ -f /etc/xcat/cert.pem -a -f /etc/xcat/certkey.pem ]; then #use client cert if available
- cat /tmp/bmcreq.xml | openssl s_client -key /etc/xcat/certkey.pem -cert /etc/xcat/cert.pem -connect $XCATDEST -quiet 2> /dev/null > /tmp/ipmicfg.xml
- else
- cat /tmp/bmcreq.xml | openssl s_client -connect $XCATDEST -quiet 2> /dev/null > /tmp/ipmicfg.xml
- fi
-done
-rm /tmp/bmcreq.xml
-kill $CREDPID
diff --git a/xCAT-genesis-builder/install b/xCAT-genesis-builder/install
index a3a49a9d5..e6d54b223 100755
--- a/xCAT-genesis-builder/install
+++ b/xCAT-genesis-builder/install
@@ -9,7 +9,7 @@ dracut_install efibootmgr
#dracut_install libvirtd /usr/share/libvirt/cpu_map.xml /usr/bin/qemu-img /usr/libexec/qemu-kvm
dracut_install mkswap df brctl vconfig ifenslave ssh-keygen scp clear dhclient lldpad
dracut_install lldptool /lib64/libnss_dns-2.12.so /lib64/libnss_dns.so.2
-dracut_install poweroff ntpq ntpd hwclock date /usr/share/terminfo/x/xterm /etc/nsswitch.conf /etc/services
+dracut_install poweroff ntpq ntpd hwclock date /usr/share/terminfo/x/xterm /usr/share/terminfo/s/screen /etc/nsswitch.conf /etc/services
dracut_install /sbin/rsyslogd /etc/protocols umount /bin/rpm /usr/lib/rpm/rpmrc
dracut_install chmod /lib/libc.so.6 /lib/ld-linux.so.2 /lib/libdl.so.2 /lib/libm.so.6 /sbin/route /sbin/ifconfig /usr/bin/head /etc/redhat-release ping tr lsusb /usr/share/hwdata/usb.ids #ibm fw wrapper requirements
dracut_install dmidecode /usr/lib64/libstdc++.so.6 #uxspi prereqs, but will use dmidecode to improve decision on loading ipmi_si
@@ -591,18 +591,7 @@ dracut_install /usr/share/zoneinfo/posix/Chile/EasterIsland
dracut_install /usr/share/zoneinfo/posix/Chile/Continental
dracut_install /usr/share/zoneinfo/posix/Factory
inst "$moddir/xcatroot" "/sbin/xcatroot"
-inst "$moddir/dodiscovery" "/bin/dodiscovery"
-inst "$moddir/udpcat.awk" "/bin/udpcat.awk"
-inst "$moddir/minixcatd.awk" "/bin/minixcatd.awk"
-inst "$moddir/bmcsetup" "/bin/bmcsetup"
-inst "$moddir/allowcred.awk" "/bin/allowcred.awk"
-inst "$moddir/getipmi" "/bin/getipmi"
-inst "$moddir/remoteimmsetup" "/bin/remoteimmsetup"
-inst "$moddir/getdestiny" "/bin/getdestiny"
inst "$moddir/restart" "/bin/restart"
-inst "$moddir/doxcat" "/bin/doxcat"
-inst "$moddir/nextdestiny" "/bin/nextdestiny"
-inst "$moddir/getcert" "/bin/getcert"
inst "$moddir/dhclient.conf" "/etc/dhclient.conf"
inst "$moddir/dhclient-script" "/sbin/dhclient-script"
inst "$moddir/rsyslog.conf" "/etc/rsyslog.conf"
diff --git a/xCAT-genesis-builder/minixcatd.awk b/xCAT-genesis-builder/minixcatd.awk
deleted file mode 100755
index 5f71623a2..000000000
--- a/xCAT-genesis-builder/minixcatd.awk
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/awk -f
-# IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html
-BEGIN {
- port = 3001
- listener = "/inet/tcp/" port "/0/0"
- quit = "no"
- while (match(quit,"no")) {
- while (match(quit,"no") && (listener |& getline) > 0) {
- if (match($0,"restart")) {
- print "restarting bootstrap process" |& listener
- quit="yes"
- system("echo \"" $0 "\" > /restart")
- close(listener)
- }
- }
- close(listener)
- }
-}
diff --git a/xCAT-genesis-builder/nextdestiny b/xCAT-genesis-builder/nextdestiny
deleted file mode 100755
index 193c811ef..000000000
--- a/xCAT-genesis-builder/nextdestiny
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/bash
-if [ -z "$XCATDEST" ]; then
- XCATDEST=$1
-fi
-echo "
-nextdestiny
-300
-" > /tmp/destreq.xml
-if [ -f /tmp/destiny.xml ]; then rm /tmp/destiny.xml; fi
-while [ ! -f /tmp/destiny.xml ] || grep error /tmp/destiny.xml; do
- if [ -f /tmp/destiny.xml ]; then
- timer=60
- while [ $timer -gt 0 ]; do
- echo -en "Retrying in $timer seconds \r" >&2
- sleep 1
- timer=$(($timer-1));
- done
- fi
- echo " " >&2;
- if [ -f /etc/xcat/cert.pem -a -f /etc/xcat/certkey.pem ]; then #use client cert if available
- cat /tmp/destreq.xml | openssl s_client -key /etc/xcat/certkey.pem -cert /etc/xcat/cert.pem -connect $XCATDEST -quiet 2> /dev/null > /tmp/destiny.xml
- else
- cat /tmp/destreq.xml | openssl s_client -connect $XCATDEST -quiet 2> /dev/null > /tmp/destiny.xml
- fi
-done
-rm /tmp/destreq.xml
-DESTINY=`grep destiny /tmp/destiny.xml | awk -F'>' '{print $2}'|awk -F'<' '{print $1}'`
-rm /tmp/destiny.xml
-echo $DESTINY
diff --git a/xCAT-genesis-builder/remoteimmsetup b/xCAT-genesis-builder/remoteimmsetup
deleted file mode 100755
index 1b3c2d1f4..000000000
--- a/xCAT-genesis-builder/remoteimmsetup
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/bash
-CREDPID=$!
-if [ -z "$XCATDEST" ]; then
- XCATDEST=$1
-fi
-if [ -z "$XCATDEST" ]; then
- for parm in `cat /proc/cmdline` ; do
- if echo $parm |grep xcatd= > /dev/null; then
- XCATDEST=`echo $parm |awk -F= '{print $2}'`
- fi
- done
-fi
-for LANCHAN in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16; do
- if ipmitool channel info $LANCHAN 2> /dev/null | grep 802.3 > /dev/null 2>&1 && ipmitool raw 0xc 2 $LANCHAN 5 0 0 > /dev/null 2>&1;
- then break;
- fi;
-done
-BMCMAC=`ipmitool lan print $LANCHAN|grep ^MAC|awk '{print $4}'` #bmcconfig may opt to use DHCP, if so we need to feed up the mac address
-#TODO: need a way to get the DUID the service processor may use, perhaps reserve that for 'ibmsetup' since spec doesn't touch ipv6?
-
-echo "
-remoteimmsetup
-$BMCMAC
-" > /tmp/bmcreq.xml
-rm /tmp/remsetup.xml
-while [ ! -f /tmp/remsetup.xml ] || grep error /tmp/ipmicfg.xml; do
- if [ -f /tmp/remsetup.xml ]; then
- timer=60
- while [ $timer -gt 0 ]; do
- sleep 1
- echo -en "Retrying in $timer seconds \r"
- timer=$(($timer-1));
- done
- fi
- echo -en " \r";
-
- if [ -f /etc/xcat/cert.pem -a -f /etc/xcat/certkey.pem ]; then #use client cert if available
- cat /tmp/bmcreq.xml | openssl s_client -key /etc/xcat/certkey.pem -cert /etc/xcat/cert.pem -connect $XCATDEST -quiet 2> /dev/null > /tmp/ipmicfg.xml
- else
- cat /tmp/bmcreq.xml | openssl s_client -connect $XCATDEST -quiet 2> /dev/null > /tmp/ipmicfg.xml
- fi
-done
-rm /tmp/bmcreq.xml
diff --git a/xCAT-genesis-builder/udpcat.awk b/xCAT-genesis-builder/udpcat.awk
deleted file mode 100755
index 6a3c2c166..000000000
--- a/xCAT-genesis-builder/udpcat.awk
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/usr/bin/awk -f
-# IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html
-BEGIN {
- xcatdport = ARGV[2]
- xcatdhost = ARGV[1]
- delete ARGV[1]
- delete ARGV[2]
- RS=""
-}
-END {
- print $0 |& "/inet/udp/301/"xcatdhost"/"xcatdport
-}
diff --git a/xCAT-genesis-builder/xCAT-genesis.spec b/xCAT-genesis-builder/xCAT-genesis.spec
index 376e506b8..6187e76e9 100644
--- a/xCAT-genesis-builder/xCAT-genesis.spec
+++ b/xCAT-genesis-builder/xCAT-genesis.spec
@@ -1,4 +1,4 @@
-%define version 2.7.3
+%define version 2.8
%ifarch i386 i586 i686 x86
%define tarch x86
%endif
@@ -9,7 +9,7 @@
%define tarch ppc64
%endif
BuildArch: noarch
-%define name xCAT-genesis-%{tarch}
+%define name xCAT-genesis-base-%{tarch}
%define __spec_install_post :
%define debug_package %{nil}
%define __prelink_undo_cmd %{nil}
@@ -28,13 +28,14 @@ License: Various (see individual packages for details)
Vendor: IBM Corp.
Summary: xCAT Genesis netboot image
URL: http://xcat.org
-Source1: xCAT-genesis-%{tarch}.tar.bz2
+Source1: xCAT-genesis-base-%{tarch}.tar.bz2
Buildroot: %{_localstatedir}/tmp/xCAT-genesis
Packager: IBM Corp.
%Description
xCAT genesis (Genesis Enhanced Netboot Environment for System Information and Servicing) is a small, embedded-like environment for xCAT's use in discovery and management actions when interaction with an OS is infeasible.
+This package comprises the base platform with most of the xCAT specific behavior left to xCAT-genesis-scripts package.
%Prep