diff --git a/xCAT-genesis-builder/98-mlx.rules b/xCAT-genesis-builder/98-mlx.rules new file mode 100644 index 000000000..6d7ccc953 --- /dev/null +++ b/xCAT-genesis-builder/98-mlx.rules @@ -0,0 +1 @@ +SUBSYSTEM=="pci", ATTRS{subsystem_vendor}=="0x15b3", ATTRS{class}=="0x020000", RUN+="/sbin/loadmlxeth" diff --git a/xCAT-genesis-builder/99-imm.rules b/xCAT-genesis-builder/99-imm.rules new file mode 100644 index 000000000..cbac9801a --- /dev/null +++ b/xCAT-genesis-builder/99-imm.rules @@ -0,0 +1 @@ +SUBSYSTEM=="usb", ATTRS{idVendor}=="04b3", ATTRS{idProduct}=="4010", RUN+="/sbin/setupimmnic" diff --git a/xCAT-genesis-builder/LICENSE.html b/xCAT-genesis-builder/LICENSE.html new file mode 100644 index 000000000..83d0eebb0 --- /dev/null +++ b/xCAT-genesis-builder/LICENSE.html @@ -0,0 +1,326 @@ + + + + + + + +Eclipse Public License - Version 1.0 + + + + + + +
+ +

Eclipse Public License - v 1.0 +

+ +

THE ACCOMPANYING PROGRAM IS PROVIDED UNDER +THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, +REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE +OF THIS AGREEMENT.

+ +

1. DEFINITIONS

+ +

"Contribution" means:

+ +

a) +in the case of the initial Contributor, the initial code and documentation +distributed under this Agreement, and
+b) in the case of each subsequent Contributor:

+ +

i) +changes to the Program, and

+ +

ii) +additions to the Program;

+ +

where +such changes and/or additions to the Program originate from and are distributed +by that particular Contributor. A Contribution 'originates' from a Contributor +if it was added to the Program by such Contributor itself or anyone acting on +such Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in conjunction +with the Program under their own license agreement, and (ii) are not derivative +works of the Program.

+ +

"Contributor" means any person or +entity that distributes the Program.

+ +

"Licensed Patents " mean patent +claims licensable by a Contributor which are necessarily infringed by the use +or sale of its Contribution alone or when combined with the Program.

+ +

"Program" means the Contributions +distributed in accordance with this Agreement.

+ +

"Recipient" means anyone who +receives the Program under this Agreement, including all Contributors.

+ +

2. GRANT OF RIGHTS

+ +

a) +Subject to the terms of this Agreement, each Contributor hereby grants Recipient +a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly +display, publicly perform, distribute and sublicense the Contribution of such +Contributor, if any, and such derivative works, in source code and object code +form.

+ +

b) +Subject to the terms of this Agreement, each Contributor hereby grants +Recipient a non-exclusive, worldwide, royalty-free +patent license under Licensed Patents to make, use, sell, offer to sell, import +and otherwise transfer the Contribution of such Contributor, if any, in source +code and object code form. This patent license shall apply to the combination +of the Contribution and the Program if, at the time the Contribution is added +by the Contributor, such addition of the Contribution causes such combination +to be covered by the Licensed Patents. The patent license shall not apply to +any other combinations which include the Contribution. No hardware per se is +licensed hereunder.

+ +

c) +Recipient understands that although each Contributor grants the licenses to its +Contributions set forth herein, no assurances are provided by any Contributor +that the Program does not infringe the patent or other intellectual property +rights of any other entity. Each Contributor disclaims any liability to Recipient +for claims brought by any other entity based on infringement of intellectual +property rights or otherwise. As a condition to exercising the rights and +licenses granted hereunder, each Recipient hereby assumes sole responsibility +to secure any other intellectual property rights needed, if any. For example, +if a third party patent license is required to allow Recipient to distribute +the Program, it is Recipient's responsibility to acquire that license before +distributing the Program.

+ +

d) +Each Contributor represents that to its knowledge it has sufficient copyright +rights in its Contribution, if any, to grant the copyright license set forth in +this Agreement.

+ +

3. REQUIREMENTS

+ +

A Contributor may choose to distribute the +Program in object code form under its own license agreement, provided that: +

+ +

a) +it complies with the terms and conditions of this Agreement; and

+ +

b) +its license agreement:

+ +

i) +effectively disclaims on behalf of all Contributors all warranties and +conditions, express and implied, including warranties or conditions of title +and non-infringement, and implied warranties or conditions of merchantability +and fitness for a particular purpose;

+ +

ii) +effectively excludes on behalf of all Contributors all liability for damages, +including direct, indirect, special, incidental and consequential damages, such +as lost profits;

+ +

iii) +states that any provisions which differ from this Agreement are offered by that +Contributor alone and not by any other party; and

+ +

iv) +states that source code for the Program is available from such Contributor, and +informs licensees how to obtain it in a reasonable manner on or through a +medium customarily used for software exchange.

+ +

When the Program is made available in source +code form:

+ +

a) +it must be made available under this Agreement; and

+ +

b) a +copy of this Agreement must be included with each copy of the Program.

+ +

Contributors may not remove or alter any +copyright notices contained within the Program.

+ +

Each Contributor must identify itself as the +originator of its Contribution, if any, in a manner that reasonably allows +subsequent Recipients to identify the originator of the Contribution.

+ +

4. COMMERCIAL DISTRIBUTION

+ +

Commercial distributors of software may +accept certain responsibilities with respect to end users, business partners +and the like. While this license is intended to facilitate the commercial use +of the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create potential +liability for other Contributors. Therefore, if a Contributor includes the +Program in a commercial product offering, such Contributor ("Commercial +Contributor") hereby agrees to defend and indemnify every other +Contributor ("Indemnified Contributor") against any losses, damages and +costs (collectively "Losses") arising from claims, lawsuits and other +legal actions brought by a third party against the Indemnified Contributor to +the extent caused by the acts or omissions of such Commercial Contributor in +connection with its distribution of the Program in a commercial product +offering. The obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In order +to qualify, an Indemnified Contributor must: a) promptly notify the Commercial +Contributor in writing of such claim, and b) allow the Commercial Contributor +to control, and cooperate with the Commercial Contributor in, the defense and +any related settlement negotiations. The Indemnified Contributor may participate +in any such claim at its own expense.

+ +

For example, a Contributor might include the +Program in a commercial product offering, Product X. That Contributor is then a +Commercial Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance claims and +warranties are such Commercial Contributor's responsibility alone. Under this +section, the Commercial Contributor would have to defend claims against the +other Contributors related to those performance claims and warranties, and if a +court requires any other Contributor to pay any damages as a result, the +Commercial Contributor must pay those damages.

+ +

5. NO WARRANTY

+ +

EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, +WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and distributing the +Program and assumes all risks associated with its exercise of rights under this +Agreement , including but not limited to the risks and costs of program errors, +compliance with applicable laws, damage to or loss of data, programs or +equipment, and unavailability or interruption of operations.

+ +

6. DISCLAIMER OF LIABILITY

+ +

EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF +THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGES.

+ +

7. GENERAL

+ +

If any provision of this Agreement is invalid +or unenforceable under applicable law, it shall not affect the validity or +enforceability of the remainder of the terms of this Agreement, and without +further action by the parties hereto, such provision shall be reformed to the +minimum extent necessary to make such provision valid and enforceable.

+ +

If Recipient institutes patent litigation +against any entity (including a cross-claim or counterclaim in a lawsuit) +alleging that the Program itself (excluding combinations of the Program with +other software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the date +such litigation is filed.

+ +

All Recipient's rights under this Agreement +shall terminate if it fails to comply with any of the material terms or +conditions of this Agreement and does not cure such failure in a reasonable +period of time after becoming aware of such noncompliance. If all Recipient's +rights under this Agreement terminate, Recipient agrees to cease use and +distribution of the Program as soon as reasonably practicable. However, +Recipient's obligations under this Agreement and any licenses granted by +Recipient relating to the Program shall continue and survive.

+ +

Everyone is permitted to copy and distribute +copies of this Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The Agreement +Steward reserves the right to publish new versions (including revisions) of +this Agreement from time to time. No one other than the Agreement Steward has +the right to modify this Agreement. The Eclipse Foundation is the initial +Agreement Steward. The Eclipse Foundation may assign the responsibility to +serve as the Agreement Steward to a suitable separate entity. Each new version +of the Agreement will be given a distinguishing version number. The Program +(including Contributions) may always be distributed subject to the version of +the Agreement under which it was received. In addition, after a new version of +the Agreement is published, Contributor may elect to distribute the Program +(including its Contributions) under the new version. Except as expressly stated +in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to +the intellectual property of any Contributor under this Agreement, whether +expressly, by implication, estoppel or otherwise. All rights in the Program not +expressly granted under this Agreement are reserved.

+ +

This Agreement is governed by the laws of the +State of New York and the intellectual property laws of the United States of +America. No party to this Agreement will bring a legal action under this +Agreement more than one year after the cause of action arose. Each party waives +its rights to a jury trial in any resulting litigation.

+ +

 

+ +
+ + + + diff --git a/xCAT-genesis-builder/allowcred.awk b/xCAT-genesis-builder/allowcred.awk new file mode 100755 index 000000000..341138d3e --- /dev/null +++ b/xCAT-genesis-builder/allowcred.awk @@ -0,0 +1,15 @@ +#!/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 new file mode 100755 index 000000000..cc293d3a5 --- /dev/null +++ b/xCAT-genesis-builder/bmcsetup @@ -0,0 +1,348 @@ +# 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/buildrpm b/xCAT-genesis-builder/buildrpm new file mode 100755 index 000000000..1dddba6a2 --- /dev/null +++ b/xCAT-genesis-builder/buildrpm @@ -0,0 +1,12 @@ +DIR=`dirname $0` +mkdir -p /usr/share/dracut/modules.d/97xcat +cp $DIR/* /usr/share/dracut/modules.d/97xcat +mkdir -p /tmp/xcatgenesis.$$/opt/xcat/share/xcat/netboot/genesis/`uname -m`/fs +dracut -m "xcat base" -f /tmp/xcatgenesis.$$.rfs +cd /tmp/xcatgenesis.$$/opt/xcat/share/xcat/netboot/genesis/`uname -m`/fs +zcat /tmp/xcatgenesis.$$.rfs|cpio -dumi +cp /boot/vmlinuz-`uname -r` /tmp/xcatgenesis.$$/opt/xcat/share/xcat/netboot/genesis/`uname -m`/kernel +cd - +cd /tmp/xcatgenesis.$$ +tar jcf ~/rpmbuild/SOURCES/xCAT-genesis-`uname -m`.tar.bz2 opt +rpmbuild -ba $DIR/xCAT-genesis.spec diff --git a/xCAT-genesis-builder/check b/xCAT-genesis-builder/check new file mode 100755 index 000000000..ad76f12ff --- /dev/null +++ b/xCAT-genesis-builder/check @@ -0,0 +1,3 @@ +#!/bin/sh +#[ "$1" = "-d" ] && echo network #they pull in too much +exit 0 diff --git a/xCAT-genesis-builder/debian/changelog b/xCAT-genesis-builder/debian/changelog new file mode 100644 index 000000000..ebeedebe0 --- /dev/null +++ b/xCAT-genesis-builder/debian/changelog @@ -0,0 +1,5 @@ +xcat-genesis (2.8.0-1) stable; urgency=low + + * Initial Release + + -- OCF xCAT Thu, 05 Apr 2012 00:00:00 +0100 diff --git a/xCAT-genesis-builder/debian/compat b/xCAT-genesis-builder/debian/compat new file mode 100644 index 000000000..7ed6ff82d --- /dev/null +++ b/xCAT-genesis-builder/debian/compat @@ -0,0 +1 @@ +5 diff --git a/xCAT-genesis-builder/debian/control b/xCAT-genesis-builder/debian/control new file mode 100644 index 000000000..151f7af7c --- /dev/null +++ b/xCAT-genesis-builder/debian/control @@ -0,0 +1,14 @@ +Source: xcat-genesis +Section: admin +Priority: extra +Maintainer: Arif Ali +Build-Depends: debhelper (>= 5), dracut, ethtool, bridge-utils, ifenslave, vlan, rpm, libc6-i386, hwdata, screen, ntp, ncurses-term, btrfs-tools, libstdc++5, libldap-2.4-2, libsasl2-2, libtirpc1, nfs-common +Standards-Version: 3.7.2 + +Package: xcat-genesis-amd64 +Architecture: all +Depends: ${perl:Depends} +Description: xCAT Genesis netboot image + 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. diff --git a/xCAT-genesis-builder/debian/copyright b/xCAT-genesis-builder/debian/copyright new file mode 100644 index 000000000..f61d34dfe --- /dev/null +++ b/xCAT-genesis-builder/debian/copyright @@ -0,0 +1,88 @@ +Eclipse Public License - v 1.0 + +THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. + +1. DEFINITIONS + +"Contribution" means: + +a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and +b) in the case of each subsequent Contributor: + +i) changes to the Program, and + +ii) additions to the Program; + +where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. + +"Contributor" means any person or entity that distributes the Program. + +"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. + +"Program" means the Contributions distributed in accordance with this Agreement. + +"Recipient" means anyone who receives the Program under this Agreement, including all Contributors. + +2. GRANT OF RIGHTS + +a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. + +b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. + +c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. + +d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. + +3. REQUIREMENTS + +A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: + +a) it complies with the terms and conditions of this Agreement; and + +b) its license agreement: + +i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; + +ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; + +iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and + +iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. + +When the Program is made available in source code form: + +a) it must be made available under this Agreement; and + +b) a copy of this Agreement must be included with each copy of the Program. + +Contributors may not remove or alter any copyright notices contained within the Program. + +Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. + +4. COMMERCIAL DISTRIBUTION + +Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. + +For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. + +5. NO WARRANTY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. + +6. DISCLAIMER OF LIABILITY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. GENERAL + +If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. + +If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. + +All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. + +Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. + +This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. + + diff --git a/xCAT-genesis-builder/debian/docs b/xCAT-genesis-builder/debian/docs new file mode 100644 index 000000000..9c734aebd --- /dev/null +++ b/xCAT-genesis-builder/debian/docs @@ -0,0 +1 @@ +LICENSE.html diff --git a/xCAT-genesis-builder/debian/rules b/xCAT-genesis-builder/debian/rules new file mode 100755 index 000000000..45e2be9de --- /dev/null +++ b/xCAT-genesis-builder/debian/rules @@ -0,0 +1,76 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# Sample debian/rules that uses debhelper. +# This file was originally written by Joey Hess and Craig Small. +# As a special exception, when this file is copied by dh-make into a +# dh-make output file, you may use that output file without restriction. +# This special exception was added by Craig Small in version 0.37 of dh-make. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +export DH_COMPAT=5 + +export buildroot=$(PWD)/debian/xcat-genesis-$(DEB_BUILD_ARCH) + +build: + mkdir -p /usr/share/dracut/modules.d/97xcat + cp -r * /usr/share/dracut/modules.d/97xcat + rm -rf /usr/share/dracut/modules.d/97xcat/debian + mv /usr/share/dracut/modules.d/97xcat/install.ubuntu /usr/share/dracut/modules.d/97xcat/install + mkdir -p $(buildroot)/opt/xcat/share/xcat/netboot/genesis/$(DEB_BUILD_GNU_CPU)/fs + dracut -m "xcat base" -f /tmp/xcatgenesis.tmp.rfs + (cd $(buildroot)/opt/xcat/share/xcat/netboot/genesis/$(DEB_BUILD_GNU_CPU)/fs/ && zcat /tmp/xcatgenesis.tmp.rfs|cpio -dumi) + cp /boot/vmlinuz-`uname -r` $(buildroot)/opt/xcat/share/xcat/netboot/genesis/$(DEB_BUILD_GNU_CPU)/kernel + +clean: + dh_testdir + dh_testroot + dh_clean -d + +install: + pwd + dh_testdir + dh_testroot + dh_installdirs +# dh_install -X".svn" +# dh_link + + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: + dh_testdir + dh_testroot + dh_installchangelogs + dh_installdocs +# dh_installexamples +# dh_install -X".svn" +# dh_installmenu +# dh_installdebconf +# dh_installlogrotate +# dh_installemacsen +# dh_installpam +# dh_installmime +# dh_python +# dh_installinit +# dh_installcron +# dh_installinfo + dh_installman +# dh_link +# dh_strip + dh_compress +# dh_fixperms + dh_perl + dh_makeshlibs + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure diff --git a/xCAT-genesis-builder/debian/source/format b/xCAT-genesis-builder/debian/source/format new file mode 100644 index 000000000..d3827e75a --- /dev/null +++ b/xCAT-genesis-builder/debian/source/format @@ -0,0 +1 @@ +1.0 diff --git a/xCAT-genesis-builder/debian/xcat-genesis-amd64.dirs b/xCAT-genesis-builder/debian/xcat-genesis-amd64.dirs new file mode 100644 index 000000000..a940a8b7f --- /dev/null +++ b/xCAT-genesis-builder/debian/xcat-genesis-amd64.dirs @@ -0,0 +1 @@ +opt/xcat/share/xcat/netboot/genesis/x86_64 diff --git a/xCAT-genesis-builder/debian/xcat-genesis-amd64.postinst b/xCAT-genesis-builder/debian/xcat-genesis-amd64.postinst new file mode 100644 index 000000000..35bf74c2d --- /dev/null +++ b/xCAT-genesis-builder/debian/xcat-genesis-amd64.postinst @@ -0,0 +1,46 @@ +#!/bin/sh +# postinst script for xcat-genesis +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + configure) + if [ -f /tmp/xCAT-genesis_upgrade.tmp ];then + if [ -f "/proc/cmdline" ]; then # prevent running it during install into chroot image + . /etc/profile.d/xcat.sh + mknb x86_64 + fi + rm /tmp/xCAT-genesis_upgrade.tmp + fi + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/xCAT-genesis-builder/debian/xcat-genesis-amd64.prerm b/xCAT-genesis-builder/debian/xcat-genesis-amd64.prerm new file mode 100644 index 000000000..155110d63 --- /dev/null +++ b/xCAT-genesis-builder/debian/xcat-genesis-amd64.prerm @@ -0,0 +1,41 @@ +#!/bin/sh +# prerm script for xCAT-nbroot2 +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + upgrade) + touch /tmp/xCAT-genesis_upgrade.tmp + ;; + remove|deconfigure) + ;; + + failed-upgrade) + ;; + + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/xCAT-genesis-builder/dhclient-script b/xCAT-genesis-builder/dhclient-script new file mode 100755 index 000000000..48a42161f --- /dev/null +++ b/xCAT-genesis-builder/dhclient-script @@ -0,0 +1,68 @@ +#!/bin/sh +PATH=/bin:/sbin:/usr/bin:/usr/sbin +if [ $reason = "PREINIT" -o $reason = "PREINIT6" ]; then + ip link set $interface up + tries=50 + while ! (ip link show $interface|grep LOWER_UP > /dev/null 2>&1); do + sleep 0.1 + if [ $tries = 0 ]; then + break + fi + tries=$((tries-1)) + done +elif [ $reason = "BOUND" ]; then + if [ ! -z "$old_ip_address" ]; then + ip addr del dev $interface $old_ip_address/$old_subnet_mask + fi + for oldip in `ip addr show dev $interface|grep 'inet '|awk '{print $2}'`; do + ip addr del dev $interface $oldip + done + if [ ! -z "$new_ip_address" -a ! -z "$new_subnet_mask" ]; then + ip addr add dev $interface $new_ip_address/$new_subnet_mask + fi + if [ ! -z "$new_host_name" ]; then + hostname $new_host_name + lldptool -T -i $interface -V 5 enableTx=yes >& /dev/null + fi + if [ ! -z "$new_domain_name" ]; then + echo search $new_domain_name >> /etc/resolv.conf + fi + for ns in $new_domain_name_servers; do + echo nameserver $ns >> /etc/resolv.conf + done + for ntp in $new_ntp_servers; do + echo server $ntp iburst >> /etc/ntp.conf + done + for gw in $new_routers; do + ip route add default via $gw + done + if [ ! -z "$new_log_servers" ]; then + head -n -1 /etc/rsyslog.conf > /etc/rsyslog.conf.new + cp /etc/rsyslog.conf.new /etc/rsyslog.conf + fi + for ls in $new_log_servers; do + echo *.* @$ls >> /etc/rsyslog.conf + done + kill -1 `cat /var/run/syslogd.pid` + + if [ ! -z "$new_tcode" -a -r "/usr/share/zoneinfo/posix/$new_tcode" ]; then + cp "/usr/share/zoneinfo/posix/$new_tcode" /etc/localtime + rm -rf /usr/share/zoneinfo #free up ramdisk + fi +elif [ $reason = "BOUND6" ]; then + if [ ! -z "$old_ip6_address" ]; then + ip addr del dev $interface $old_ip6_address/$old_ip6_prefixlen + fi + if [ ! -z "$new_ip6_address" ]; then + ip addr add dev $interface $new_ip6_address/$new_ip6_prefixlen + fi +elif [ $reason = "RELEASE" ]; then + if [ ! -z "$old_ip_address" ]; then + ip addr del dev $interface $old_ip_address/$old_subnet_mask + fi +elif [ $reason = "RELEASE6" ]; then + if [ ! -z "$old_ip6_address" ]; then + ip addr del dev $interface $old_ip6_address/$old_ip6_prefixlen + fi +fi +exit 0 diff --git a/xCAT-genesis-builder/dhclient.conf b/xCAT-genesis-builder/dhclient.conf new file mode 100644 index 000000000..53e8b1a74 --- /dev/null +++ b/xCAT-genesis-builder/dhclient.conf @@ -0,0 +1,2 @@ +option tcode code 101 = text; +request subnet-mask, routers, domain-name, domain-search, domain-name-servers, host-name, ntp-servers, interface-mtu, tcode, log-servers; diff --git a/xCAT-genesis-builder/dodiscovery b/xCAT-genesis-builder/dodiscovery new file mode 100755 index 000000000..c0e18b8c0 --- /dev/null +++ b/xCAT-genesis-builder/dodiscovery @@ -0,0 +1,127 @@ +#!/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 new file mode 100755 index 000000000..9f682a20d --- /dev/null +++ b/xCAT-genesis-builder/doxcat @@ -0,0 +1,173 @@ +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 new file mode 100755 index 000000000..f00ffc5b9 --- /dev/null +++ b/xCAT-genesis-builder/getcert @@ -0,0 +1,41 @@ +#!/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 new file mode 100755 index 000000000..15cfc1baa --- /dev/null +++ b/xCAT-genesis-builder/getdestiny @@ -0,0 +1,30 @@ +#!/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 new file mode 100755 index 000000000..5e9af2590 --- /dev/null +++ b/xCAT-genesis-builder/getipmi @@ -0,0 +1,46 @@ +#!/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 new file mode 100755 index 000000000..a3a49a9d5 --- /dev/null +++ b/xCAT-genesis-builder/install @@ -0,0 +1,639 @@ +#!/bin/sh +echo $drivers +dracut_install wget openssl tar mstflint ipmitool cpio gzip lsmod ethtool modprobe touch echo cut wc +dracut_install netstat # broadcom update requires +dracut_install uniq # mellanox update requires +dracut_install grep ip hostname awk egrep grep dirname expr +dracut_install mount.nfs sshd vi reboot lspci parted screen mkfs mkfs.ext4 mkfs.btrfs +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 /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 +dracut_install dmidecode /usr/lib64/libstdc++.so.5 #broadcom firmware update links against old lib +dracut_install /lib/libpthread.so.0 #32 bit lib because UXSPI will not ship a native 64 bit build +dracut_install /lib/libncurses.so.5.7 /usr/lib/libstdc++.so.6.0.13 /lib/libgcc_s-4.4.6-20110824.so.1 /lib/libtinfo.so.5.7 +dracut_install /lib64/libldap-2.4.so.2 /lib64/liblber-2.4.so.2 /usr/lib64/libsasl2.so.2 #uxspi has incurred these... +dracut_install /usr/share/zoneinfo/posix/Zulu +dracut_install /usr/share/zoneinfo/posix/GMT-0 +dracut_install /usr/share/zoneinfo/posix/Europe/Istanbul +dracut_install /usr/share/zoneinfo/posix/Europe/San_Marino +dracut_install /usr/share/zoneinfo/posix/Europe/Jersey +dracut_install /usr/share/zoneinfo/posix/Europe/Bucharest +dracut_install /usr/share/zoneinfo/posix/Europe/Gibraltar +dracut_install /usr/share/zoneinfo/posix/Europe/Uzhgorod +dracut_install /usr/share/zoneinfo/posix/Europe/Moscow +dracut_install /usr/share/zoneinfo/posix/Europe/Brussels +dracut_install /usr/share/zoneinfo/posix/Europe/Nicosia +dracut_install /usr/share/zoneinfo/posix/Europe/Zurich +dracut_install /usr/share/zoneinfo/posix/Europe/Berlin +dracut_install /usr/share/zoneinfo/posix/Europe/Guernsey +dracut_install /usr/share/zoneinfo/posix/Europe/Budapest +dracut_install /usr/share/zoneinfo/posix/Europe/Kiev +dracut_install /usr/share/zoneinfo/posix/Europe/Podgorica +dracut_install /usr/share/zoneinfo/posix/Europe/Isle_of_Man +dracut_install /usr/share/zoneinfo/posix/Europe/Mariehamn +dracut_install /usr/share/zoneinfo/posix/Europe/Belgrade +dracut_install /usr/share/zoneinfo/posix/Europe/Belfast +dracut_install /usr/share/zoneinfo/posix/Europe/Ljubljana +dracut_install /usr/share/zoneinfo/posix/Europe/Chisinau +dracut_install /usr/share/zoneinfo/posix/Europe/Andorra +dracut_install /usr/share/zoneinfo/posix/Europe/Athens +dracut_install /usr/share/zoneinfo/posix/Europe/Stockholm +dracut_install /usr/share/zoneinfo/posix/Europe/Vienna +dracut_install /usr/share/zoneinfo/posix/Europe/Lisbon +dracut_install /usr/share/zoneinfo/posix/Europe/London +dracut_install /usr/share/zoneinfo/posix/Europe/Paris +dracut_install /usr/share/zoneinfo/posix/Europe/Oslo +dracut_install /usr/share/zoneinfo/posix/Europe/Zagreb +dracut_install /usr/share/zoneinfo/posix/Europe/Helsinki +dracut_install /usr/share/zoneinfo/posix/Europe/Warsaw +dracut_install /usr/share/zoneinfo/posix/Europe/Copenhagen +dracut_install /usr/share/zoneinfo/posix/Europe/Riga +dracut_install /usr/share/zoneinfo/posix/Europe/Vaduz +dracut_install /usr/share/zoneinfo/posix/Europe/Vilnius +dracut_install /usr/share/zoneinfo/posix/Europe/Volgograd +dracut_install /usr/share/zoneinfo/posix/Europe/Amsterdam +dracut_install /usr/share/zoneinfo/posix/Europe/Tiraspol +dracut_install /usr/share/zoneinfo/posix/Europe/Tallinn +dracut_install /usr/share/zoneinfo/posix/Europe/Kaliningrad +dracut_install /usr/share/zoneinfo/posix/Europe/Malta +dracut_install /usr/share/zoneinfo/posix/Europe/Sarajevo +dracut_install /usr/share/zoneinfo/posix/Europe/Madrid +dracut_install /usr/share/zoneinfo/posix/Europe/Zaporozhye +dracut_install /usr/share/zoneinfo/posix/Europe/Simferopol +dracut_install /usr/share/zoneinfo/posix/Europe/Sofia +dracut_install /usr/share/zoneinfo/posix/Europe/Skopje +dracut_install /usr/share/zoneinfo/posix/Europe/Monaco +dracut_install /usr/share/zoneinfo/posix/Europe/Rome +dracut_install /usr/share/zoneinfo/posix/Europe/Prague +dracut_install /usr/share/zoneinfo/posix/Europe/Luxembourg +dracut_install /usr/share/zoneinfo/posix/Europe/Minsk +dracut_install /usr/share/zoneinfo/posix/Europe/Vatican +dracut_install /usr/share/zoneinfo/posix/Europe/Dublin +dracut_install /usr/share/zoneinfo/posix/Europe/Samara +dracut_install /usr/share/zoneinfo/posix/Europe/Tirane +dracut_install /usr/share/zoneinfo/posix/Europe/Bratislava +dracut_install /usr/share/zoneinfo/posix/Greenwich +dracut_install /usr/share/zoneinfo/posix/US/Indiana-Starke +dracut_install /usr/share/zoneinfo/posix/US/Alaska +dracut_install /usr/share/zoneinfo/posix/US/Michigan +dracut_install /usr/share/zoneinfo/posix/US/Aleutian +dracut_install /usr/share/zoneinfo/posix/US/Hawaii +dracut_install /usr/share/zoneinfo/posix/US/Central +dracut_install /usr/share/zoneinfo/posix/US/Eastern +dracut_install /usr/share/zoneinfo/posix/US/Pacific +dracut_install /usr/share/zoneinfo/posix/US/Samoa +dracut_install /usr/share/zoneinfo/posix/US/Mountain +dracut_install /usr/share/zoneinfo/posix/US/Arizona +dracut_install /usr/share/zoneinfo/posix/US/East-Indiana +dracut_install /usr/share/zoneinfo/posix/EST +dracut_install /usr/share/zoneinfo/posix/HST +dracut_install /usr/share/zoneinfo/posix/Eire +dracut_install /usr/share/zoneinfo/posix/America/Cancun +dracut_install /usr/share/zoneinfo/posix/America/Santo_Domingo +dracut_install /usr/share/zoneinfo/posix/America/Jujuy +dracut_install /usr/share/zoneinfo/posix/America/Guatemala +dracut_install /usr/share/zoneinfo/posix/America/Monterrey +dracut_install /usr/share/zoneinfo/posix/America/Ensenada +dracut_install /usr/share/zoneinfo/posix/America/Dawson_Creek +dracut_install /usr/share/zoneinfo/posix/America/Mendoza +dracut_install /usr/share/zoneinfo/posix/America/Coral_Harbour +dracut_install /usr/share/zoneinfo/posix/America/Martinique +dracut_install /usr/share/zoneinfo/posix/America/Cordoba +dracut_install /usr/share/zoneinfo/posix/America/Recife +dracut_install /usr/share/zoneinfo/posix/America/Cayman +dracut_install /usr/share/zoneinfo/posix/America/Shiprock +dracut_install /usr/share/zoneinfo/posix/America/Tortola +dracut_install /usr/share/zoneinfo/posix/America/Lima +dracut_install /usr/share/zoneinfo/posix/America/Antigua +dracut_install /usr/share/zoneinfo/posix/America/Blanc-Sablon +dracut_install /usr/share/zoneinfo/posix/America/Nipigon +dracut_install /usr/share/zoneinfo/posix/America/Nome +dracut_install /usr/share/zoneinfo/posix/America/Montserrat +dracut_install /usr/share/zoneinfo/posix/America/Atka +dracut_install /usr/share/zoneinfo/posix/America/St_Thomas +dracut_install /usr/share/zoneinfo/posix/America/Halifax +dracut_install /usr/share/zoneinfo/posix/America/Montreal +dracut_install /usr/share/zoneinfo/posix/America/Curacao +dracut_install /usr/share/zoneinfo/posix/America/Cuiaba +dracut_install /usr/share/zoneinfo/posix/America/Winnipeg +dracut_install /usr/share/zoneinfo/posix/America/North_Dakota/New_Salem +dracut_install /usr/share/zoneinfo/posix/America/North_Dakota/Center +dracut_install /usr/share/zoneinfo/posix/America/Panama +dracut_install /usr/share/zoneinfo/posix/America/Rosario +dracut_install /usr/share/zoneinfo/posix/America/Anguilla +dracut_install /usr/share/zoneinfo/posix/America/Ojinaga +dracut_install /usr/share/zoneinfo/posix/America/Guyana +dracut_install /usr/share/zoneinfo/posix/America/Eirunepe +dracut_install /usr/share/zoneinfo/posix/America/Grand_Turk +dracut_install /usr/share/zoneinfo/posix/America/Rio_Branco +dracut_install /usr/share/zoneinfo/posix/America/Santa_Isabel +dracut_install /usr/share/zoneinfo/posix/America/Scoresbysund +dracut_install /usr/share/zoneinfo/posix/America/Adak +dracut_install /usr/share/zoneinfo/posix/America/Menominee +dracut_install /usr/share/zoneinfo/posix/America/Resolute +dracut_install /usr/share/zoneinfo/posix/America/Guadeloupe +dracut_install /usr/share/zoneinfo/posix/America/Indianapolis +dracut_install /usr/share/zoneinfo/posix/America/Vancouver +dracut_install /usr/share/zoneinfo/posix/America/Glace_Bay +dracut_install /usr/share/zoneinfo/posix/America/Buenos_Aires +dracut_install /usr/share/zoneinfo/posix/America/Virgin +dracut_install /usr/share/zoneinfo/posix/America/Belem +dracut_install /usr/share/zoneinfo/posix/America/Catamarca +dracut_install /usr/share/zoneinfo/posix/America/Bahia +dracut_install /usr/share/zoneinfo/posix/America/Fort_Wayne +dracut_install /usr/share/zoneinfo/posix/America/Hermosillo +dracut_install /usr/share/zoneinfo/posix/America/Rankin_Inlet +dracut_install /usr/share/zoneinfo/posix/America/Mexico_City +dracut_install /usr/share/zoneinfo/posix/America/Belize +dracut_install /usr/share/zoneinfo/posix/America/Maceio +dracut_install /usr/share/zoneinfo/posix/America/Dominica +dracut_install /usr/share/zoneinfo/posix/America/Swift_Current +dracut_install /usr/share/zoneinfo/posix/America/St_Johns +dracut_install /usr/share/zoneinfo/posix/America/St_Barthelemy +dracut_install /usr/share/zoneinfo/posix/America/Yellowknife +dracut_install /usr/share/zoneinfo/posix/America/Costa_Rica +dracut_install /usr/share/zoneinfo/posix/America/Pangnirtung +dracut_install /usr/share/zoneinfo/posix/America/Bogota +dracut_install /usr/share/zoneinfo/posix/America/Port-au-Prince +dracut_install /usr/share/zoneinfo/posix/America/Phoenix +dracut_install /usr/share/zoneinfo/posix/America/Port_of_Spain +dracut_install /usr/share/zoneinfo/posix/America/Matamoros +dracut_install /usr/share/zoneinfo/posix/America/Puerto_Rico +dracut_install /usr/share/zoneinfo/posix/America/Detroit +dracut_install /usr/share/zoneinfo/posix/America/Edmonton +dracut_install /usr/share/zoneinfo/posix/America/Toronto +dracut_install /usr/share/zoneinfo/posix/America/Cambridge_Bay +dracut_install /usr/share/zoneinfo/posix/America/Godthab +dracut_install /usr/share/zoneinfo/posix/America/Atikokan +dracut_install /usr/share/zoneinfo/posix/America/Juneau +dracut_install /usr/share/zoneinfo/posix/America/Managua +dracut_install /usr/share/zoneinfo/posix/America/Anchorage +dracut_install /usr/share/zoneinfo/posix/America/Merida +dracut_install /usr/share/zoneinfo/posix/America/Thunder_Bay +dracut_install /usr/share/zoneinfo/posix/America/Porto_Velho +dracut_install /usr/share/zoneinfo/posix/America/Argentina/Jujuy +dracut_install /usr/share/zoneinfo/posix/America/Argentina/La_Rioja +dracut_install /usr/share/zoneinfo/posix/America/Argentina/Mendoza +dracut_install /usr/share/zoneinfo/posix/America/Argentina/Cordoba +dracut_install /usr/share/zoneinfo/posix/America/Argentina/Ushuaia +dracut_install /usr/share/zoneinfo/posix/America/Argentina/Rio_Gallegos +dracut_install /usr/share/zoneinfo/posix/America/Argentina/Buenos_Aires +dracut_install /usr/share/zoneinfo/posix/America/Argentina/San_Juan +dracut_install /usr/share/zoneinfo/posix/America/Argentina/Catamarca +dracut_install /usr/share/zoneinfo/posix/America/Argentina/San_Luis +dracut_install /usr/share/zoneinfo/posix/America/Argentina/ComodRivadavia +dracut_install /usr/share/zoneinfo/posix/America/Argentina/Salta +dracut_install /usr/share/zoneinfo/posix/America/Argentina/Tucuman +dracut_install /usr/share/zoneinfo/posix/America/Iqaluit +dracut_install /usr/share/zoneinfo/posix/America/Chicago +dracut_install /usr/share/zoneinfo/posix/America/Miquelon +dracut_install /usr/share/zoneinfo/posix/America/Havana +dracut_install /usr/share/zoneinfo/posix/America/Guayaquil +dracut_install /usr/share/zoneinfo/posix/America/St_Vincent +dracut_install /usr/share/zoneinfo/posix/America/St_Lucia +dracut_install /usr/share/zoneinfo/posix/America/Boise +dracut_install /usr/share/zoneinfo/posix/America/Yakutat +dracut_install /usr/share/zoneinfo/posix/America/Santarem +dracut_install /usr/share/zoneinfo/posix/America/Campo_Grande +dracut_install /usr/share/zoneinfo/posix/America/Santiago +dracut_install /usr/share/zoneinfo/posix/America/Porto_Acre +dracut_install /usr/share/zoneinfo/posix/America/Sao_Paulo +dracut_install /usr/share/zoneinfo/posix/America/Thule +dracut_install /usr/share/zoneinfo/posix/America/New_York +dracut_install /usr/share/zoneinfo/posix/America/Nassau +dracut_install /usr/share/zoneinfo/posix/America/Dawson +dracut_install /usr/share/zoneinfo/posix/America/Louisville +dracut_install /usr/share/zoneinfo/posix/America/Asuncion +dracut_install /usr/share/zoneinfo/posix/America/Inuvik +dracut_install /usr/share/zoneinfo/posix/America/Paramaribo +dracut_install /usr/share/zoneinfo/posix/America/Chihuahua +dracut_install /usr/share/zoneinfo/posix/America/Mazatlan +dracut_install /usr/share/zoneinfo/posix/America/Grenada +dracut_install /usr/share/zoneinfo/posix/America/Denver +dracut_install /usr/share/zoneinfo/posix/America/Los_Angeles +dracut_install /usr/share/zoneinfo/posix/America/Marigot +dracut_install /usr/share/zoneinfo/posix/America/Manaus +dracut_install /usr/share/zoneinfo/posix/America/Regina +dracut_install /usr/share/zoneinfo/posix/America/Barbados +dracut_install /usr/share/zoneinfo/posix/America/Noronha +dracut_install /usr/share/zoneinfo/posix/America/Montevideo +dracut_install /usr/share/zoneinfo/posix/America/Caracas +dracut_install /usr/share/zoneinfo/posix/America/Rainy_River +dracut_install /usr/share/zoneinfo/posix/America/La_Paz +dracut_install /usr/share/zoneinfo/posix/America/Jamaica +dracut_install /usr/share/zoneinfo/posix/America/Moncton +dracut_install /usr/share/zoneinfo/posix/America/Whitehorse +dracut_install /usr/share/zoneinfo/posix/America/Fortaleza +dracut_install /usr/share/zoneinfo/posix/America/Kentucky/Monticello +dracut_install /usr/share/zoneinfo/posix/America/Kentucky/Louisville +dracut_install /usr/share/zoneinfo/posix/America/Indiana/Marengo +dracut_install /usr/share/zoneinfo/posix/America/Indiana/Indianapolis +dracut_install /usr/share/zoneinfo/posix/America/Indiana/Knox +dracut_install /usr/share/zoneinfo/posix/America/Indiana/Tell_City +dracut_install /usr/share/zoneinfo/posix/America/Indiana/Petersburg +dracut_install /usr/share/zoneinfo/posix/America/Indiana/Winamac +dracut_install /usr/share/zoneinfo/posix/America/Indiana/Vincennes +dracut_install /usr/share/zoneinfo/posix/America/Indiana/Vevay +dracut_install /usr/share/zoneinfo/posix/America/Danmarkshavn +dracut_install /usr/share/zoneinfo/posix/America/St_Kitts +dracut_install /usr/share/zoneinfo/posix/America/Aruba +dracut_install /usr/share/zoneinfo/posix/America/Boa_Vista +dracut_install /usr/share/zoneinfo/posix/America/Bahia_Banderas +dracut_install /usr/share/zoneinfo/posix/America/Tegucigalpa +dracut_install /usr/share/zoneinfo/posix/America/Araguaina +dracut_install /usr/share/zoneinfo/posix/America/El_Salvador +dracut_install /usr/share/zoneinfo/posix/America/Cayenne +dracut_install /usr/share/zoneinfo/posix/America/Tijuana +dracut_install /usr/share/zoneinfo/posix/America/Knox_IN +dracut_install /usr/share/zoneinfo/posix/America/Goose_Bay +dracut_install /usr/share/zoneinfo/posix/EET +dracut_install /usr/share/zoneinfo/posix/EST5EDT +dracut_install /usr/share/zoneinfo/posix/Mideast/Riyadh89 +dracut_install /usr/share/zoneinfo/posix/Mideast/Riyadh88 +dracut_install /usr/share/zoneinfo/posix/Mideast/Riyadh87 +dracut_install /usr/share/zoneinfo/posix/MST +dracut_install /usr/share/zoneinfo/posix/Iceland +dracut_install /usr/share/zoneinfo/posix/Atlantic/Faeroe +dracut_install /usr/share/zoneinfo/posix/Atlantic/Stanley +dracut_install /usr/share/zoneinfo/posix/Atlantic/Reykjavik +dracut_install /usr/share/zoneinfo/posix/Atlantic/St_Helena +dracut_install /usr/share/zoneinfo/posix/Atlantic/Faroe +dracut_install /usr/share/zoneinfo/posix/Atlantic/South_Georgia +dracut_install /usr/share/zoneinfo/posix/Atlantic/Jan_Mayen +dracut_install /usr/share/zoneinfo/posix/Atlantic/Azores +dracut_install /usr/share/zoneinfo/posix/Atlantic/Cape_Verde +dracut_install /usr/share/zoneinfo/posix/Atlantic/Madeira +dracut_install /usr/share/zoneinfo/posix/Atlantic/Bermuda +dracut_install /usr/share/zoneinfo/posix/Atlantic/Canary +dracut_install /usr/share/zoneinfo/posix/GMT0 +dracut_install /usr/share/zoneinfo/posix/Poland +dracut_install /usr/share/zoneinfo/posix/Indian/Chagos +dracut_install /usr/share/zoneinfo/posix/Indian/Maldives +dracut_install /usr/share/zoneinfo/posix/Indian/Comoro +dracut_install /usr/share/zoneinfo/posix/Indian/Mauritius +dracut_install /usr/share/zoneinfo/posix/Indian/Mayotte +dracut_install /usr/share/zoneinfo/posix/Indian/Christmas +dracut_install /usr/share/zoneinfo/posix/Indian/Antananarivo +dracut_install /usr/share/zoneinfo/posix/Indian/Kerguelen +dracut_install /usr/share/zoneinfo/posix/Indian/Mahe +dracut_install /usr/share/zoneinfo/posix/Indian/Cocos +dracut_install /usr/share/zoneinfo/posix/Indian/Reunion +dracut_install /usr/share/zoneinfo/posix/Mexico/BajaNorte +dracut_install /usr/share/zoneinfo/posix/Mexico/BajaSur +dracut_install /usr/share/zoneinfo/posix/Mexico/General +dracut_install /usr/share/zoneinfo/posix/Turkey +dracut_install /usr/share/zoneinfo/posix/Egypt +dracut_install /usr/share/zoneinfo/posix/Hongkong +dracut_install /usr/share/zoneinfo/posix/GB +dracut_install /usr/share/zoneinfo/posix/GMT+0 +dracut_install /usr/share/zoneinfo/posix/ROK +dracut_install /usr/share/zoneinfo/posix/Antarctica/Mawson +dracut_install /usr/share/zoneinfo/posix/Antarctica/Macquarie +dracut_install /usr/share/zoneinfo/posix/Antarctica/South_Pole +dracut_install /usr/share/zoneinfo/posix/Antarctica/Rothera +dracut_install /usr/share/zoneinfo/posix/Antarctica/Davis +dracut_install /usr/share/zoneinfo/posix/Antarctica/DumontDUrville +dracut_install /usr/share/zoneinfo/posix/Antarctica/McMurdo +dracut_install /usr/share/zoneinfo/posix/Antarctica/Casey +dracut_install /usr/share/zoneinfo/posix/Antarctica/Vostok +dracut_install /usr/share/zoneinfo/posix/Antarctica/Palmer +dracut_install /usr/share/zoneinfo/posix/Antarctica/Syowa +dracut_install /usr/share/zoneinfo/posix/Universal +dracut_install /usr/share/zoneinfo/posix/CET +dracut_install /usr/share/zoneinfo/posix/WET +dracut_install /usr/share/zoneinfo/posix/Navajo +dracut_install /usr/share/zoneinfo/posix/UTC +dracut_install /usr/share/zoneinfo/posix/Pacific/Enderbury +dracut_install /usr/share/zoneinfo/posix/Pacific/Johnston +dracut_install /usr/share/zoneinfo/posix/Pacific/Pago_Pago +dracut_install /usr/share/zoneinfo/posix/Pacific/Saipan +dracut_install /usr/share/zoneinfo/posix/Pacific/Norfolk +dracut_install /usr/share/zoneinfo/posix/Pacific/Chuuk +dracut_install /usr/share/zoneinfo/posix/Pacific/Galapagos +dracut_install /usr/share/zoneinfo/posix/Pacific/Palau +dracut_install /usr/share/zoneinfo/posix/Pacific/Tarawa +dracut_install /usr/share/zoneinfo/posix/Pacific/Fakaofo +dracut_install /usr/share/zoneinfo/posix/Pacific/Rarotonga +dracut_install /usr/share/zoneinfo/posix/Pacific/Wake +dracut_install /usr/share/zoneinfo/posix/Pacific/Kosrae +dracut_install /usr/share/zoneinfo/posix/Pacific/Tahiti +dracut_install /usr/share/zoneinfo/posix/Pacific/Fiji +dracut_install /usr/share/zoneinfo/posix/Pacific/Ponape +dracut_install /usr/share/zoneinfo/posix/Pacific/Tongatapu +dracut_install /usr/share/zoneinfo/posix/Pacific/Efate +dracut_install /usr/share/zoneinfo/posix/Pacific/Honolulu +dracut_install /usr/share/zoneinfo/posix/Pacific/Niue +dracut_install /usr/share/zoneinfo/posix/Pacific/Kwajalein +dracut_install /usr/share/zoneinfo/posix/Pacific/Guam +dracut_install /usr/share/zoneinfo/posix/Pacific/Funafuti +dracut_install /usr/share/zoneinfo/posix/Pacific/Majuro +dracut_install /usr/share/zoneinfo/posix/Pacific/Midway +dracut_install /usr/share/zoneinfo/posix/Pacific/Nauru +dracut_install /usr/share/zoneinfo/posix/Pacific/Samoa +dracut_install /usr/share/zoneinfo/posix/Pacific/Marquesas +dracut_install /usr/share/zoneinfo/posix/Pacific/Kiritimati +dracut_install /usr/share/zoneinfo/posix/Pacific/Noumea +dracut_install /usr/share/zoneinfo/posix/Pacific/Truk +dracut_install /usr/share/zoneinfo/posix/Pacific/Guadalcanal +dracut_install /usr/share/zoneinfo/posix/Pacific/Pohnpei +dracut_install /usr/share/zoneinfo/posix/Pacific/Pitcairn +dracut_install /usr/share/zoneinfo/posix/Pacific/Port_Moresby +dracut_install /usr/share/zoneinfo/posix/Pacific/Yap +dracut_install /usr/share/zoneinfo/posix/Pacific/Easter +dracut_install /usr/share/zoneinfo/posix/Pacific/Wallis +dracut_install /usr/share/zoneinfo/posix/Pacific/Apia +dracut_install /usr/share/zoneinfo/posix/Pacific/Auckland +dracut_install /usr/share/zoneinfo/posix/Pacific/Gambier +dracut_install /usr/share/zoneinfo/posix/Pacific/Chatham +dracut_install /usr/share/zoneinfo/posix/Japan +dracut_install /usr/share/zoneinfo/posix/Libya +dracut_install /usr/share/zoneinfo/posix/ROC +dracut_install /usr/share/zoneinfo/posix/Iran +dracut_install /usr/share/zoneinfo/posix/Brazil/West +dracut_install /usr/share/zoneinfo/posix/Brazil/East +dracut_install /usr/share/zoneinfo/posix/Brazil/Acre +dracut_install /usr/share/zoneinfo/posix/Brazil/DeNoronha +dracut_install /usr/share/zoneinfo/posix/Arctic/Longyearbyen +dracut_install /usr/share/zoneinfo/posix/Portugal +dracut_install /usr/share/zoneinfo/posix/MET +dracut_install /usr/share/zoneinfo/posix/W-SU +dracut_install /usr/share/zoneinfo/posix/Kwajalein +dracut_install /usr/share/zoneinfo/posix/CST6CDT +dracut_install /usr/share/zoneinfo/posix/GB-Eire +dracut_install /usr/share/zoneinfo/posix/Australia/Melbourne +dracut_install /usr/share/zoneinfo/posix/Australia/Broken_Hill +dracut_install /usr/share/zoneinfo/posix/Australia/Queensland +dracut_install /usr/share/zoneinfo/posix/Australia/South +dracut_install /usr/share/zoneinfo/posix/Australia/Eucla +dracut_install /usr/share/zoneinfo/posix/Australia/Yancowinna +dracut_install /usr/share/zoneinfo/posix/Australia/Lord_Howe +dracut_install /usr/share/zoneinfo/posix/Australia/Hobart +dracut_install /usr/share/zoneinfo/posix/Australia/NSW +dracut_install /usr/share/zoneinfo/posix/Australia/West +dracut_install /usr/share/zoneinfo/posix/Australia/LHI +dracut_install /usr/share/zoneinfo/posix/Australia/Perth +dracut_install /usr/share/zoneinfo/posix/Australia/ACT +dracut_install /usr/share/zoneinfo/posix/Australia/Darwin +dracut_install /usr/share/zoneinfo/posix/Australia/Lindeman +dracut_install /usr/share/zoneinfo/posix/Australia/Sydney +dracut_install /usr/share/zoneinfo/posix/Australia/North +dracut_install /usr/share/zoneinfo/posix/Australia/Canberra +dracut_install /usr/share/zoneinfo/posix/Australia/Adelaide +dracut_install /usr/share/zoneinfo/posix/Australia/Brisbane +dracut_install /usr/share/zoneinfo/posix/Australia/Victoria +dracut_install /usr/share/zoneinfo/posix/Australia/Tasmania +dracut_install /usr/share/zoneinfo/posix/Australia/Currie +dracut_install /usr/share/zoneinfo/posix/UCT +dracut_install /usr/share/zoneinfo/posix/Cuba +dracut_install /usr/share/zoneinfo/posix/Singapore +dracut_install /usr/share/zoneinfo/posix/GMT +dracut_install /usr/share/zoneinfo/posix/NZ-CHAT +dracut_install /usr/share/zoneinfo/posix/Asia/Istanbul +dracut_install /usr/share/zoneinfo/posix/Asia/Kuwait +dracut_install /usr/share/zoneinfo/posix/Asia/Saigon +dracut_install /usr/share/zoneinfo/posix/Asia/Riyadh89 +dracut_install /usr/share/zoneinfo/posix/Asia/Urumqi +dracut_install /usr/share/zoneinfo/posix/Asia/Brunei +dracut_install /usr/share/zoneinfo/posix/Asia/Ujung_Pandang +dracut_install /usr/share/zoneinfo/posix/Asia/Muscat +dracut_install /usr/share/zoneinfo/posix/Asia/Kashgar +dracut_install /usr/share/zoneinfo/posix/Asia/Kamchatka +dracut_install /usr/share/zoneinfo/posix/Asia/Manila +dracut_install /usr/share/zoneinfo/posix/Asia/Vladivostok +dracut_install /usr/share/zoneinfo/posix/Asia/Jayapura +dracut_install /usr/share/zoneinfo/posix/Asia/Magadan +dracut_install /usr/share/zoneinfo/posix/Asia/Almaty +dracut_install /usr/share/zoneinfo/posix/Asia/Qyzylorda +dracut_install /usr/share/zoneinfo/posix/Asia/Anadyr +dracut_install /usr/share/zoneinfo/posix/Asia/Nicosia +dracut_install /usr/share/zoneinfo/posix/Asia/Kathmandu +dracut_install /usr/share/zoneinfo/posix/Asia/Qatar +dracut_install /usr/share/zoneinfo/posix/Asia/Jerusalem +dracut_install /usr/share/zoneinfo/posix/Asia/Yakutsk +dracut_install /usr/share/zoneinfo/posix/Asia/Karachi +dracut_install /usr/share/zoneinfo/posix/Asia/Samarkand +dracut_install /usr/share/zoneinfo/posix/Asia/Kolkata +dracut_install /usr/share/zoneinfo/posix/Asia/Ulaanbaatar +dracut_install /usr/share/zoneinfo/posix/Asia/Irkutsk +dracut_install /usr/share/zoneinfo/posix/Asia/Baku +dracut_install /usr/share/zoneinfo/posix/Asia/Gaza +dracut_install /usr/share/zoneinfo/posix/Asia/Seoul +dracut_install /usr/share/zoneinfo/posix/Asia/Chungking +dracut_install /usr/share/zoneinfo/posix/Asia/Amman +dracut_install /usr/share/zoneinfo/posix/Asia/Kuala_Lumpur +dracut_install /usr/share/zoneinfo/posix/Asia/Aqtobe +dracut_install /usr/share/zoneinfo/posix/Asia/Katmandu +dracut_install /usr/share/zoneinfo/posix/Asia/Tashkent +dracut_install /usr/share/zoneinfo/posix/Asia/Oral +dracut_install /usr/share/zoneinfo/posix/Asia/Dhaka +dracut_install /usr/share/zoneinfo/posix/Asia/Hovd +dracut_install /usr/share/zoneinfo/posix/Asia/Makassar +dracut_install /usr/share/zoneinfo/posix/Asia/Bangkok +dracut_install /usr/share/zoneinfo/posix/Asia/Tokyo +dracut_install /usr/share/zoneinfo/posix/Asia/Macao +dracut_install /usr/share/zoneinfo/posix/Asia/Riyadh +dracut_install /usr/share/zoneinfo/posix/Asia/Rangoon +dracut_install /usr/share/zoneinfo/posix/Asia/Riyadh88 +dracut_install /usr/share/zoneinfo/posix/Asia/Jakarta +dracut_install /usr/share/zoneinfo/posix/Asia/Aden +dracut_install /usr/share/zoneinfo/posix/Asia/Calcutta +dracut_install /usr/share/zoneinfo/posix/Asia/Ashkhabad +dracut_install /usr/share/zoneinfo/posix/Asia/Beirut +dracut_install /usr/share/zoneinfo/posix/Asia/Harbin +dracut_install /usr/share/zoneinfo/posix/Asia/Novosibirsk +dracut_install /usr/share/zoneinfo/posix/Asia/Omsk +dracut_install /usr/share/zoneinfo/posix/Asia/Aqtau +dracut_install /usr/share/zoneinfo/posix/Asia/Bahrain +dracut_install /usr/share/zoneinfo/posix/Asia/Dili +dracut_install /usr/share/zoneinfo/posix/Asia/Pontianak +dracut_install /usr/share/zoneinfo/posix/Asia/Singapore +dracut_install /usr/share/zoneinfo/posix/Asia/Baghdad +dracut_install /usr/share/zoneinfo/posix/Asia/Novokuznetsk +dracut_install /usr/share/zoneinfo/posix/Asia/Dubai +dracut_install /usr/share/zoneinfo/posix/Asia/Dushanbe +dracut_install /usr/share/zoneinfo/posix/Asia/Damascus +dracut_install /usr/share/zoneinfo/posix/Asia/Krasnoyarsk +dracut_install /usr/share/zoneinfo/posix/Asia/Tbilisi +dracut_install /usr/share/zoneinfo/posix/Asia/Yerevan +dracut_install /usr/share/zoneinfo/posix/Asia/Pyongyang +dracut_install /usr/share/zoneinfo/posix/Asia/Bishkek +dracut_install /usr/share/zoneinfo/posix/Asia/Colombo +dracut_install /usr/share/zoneinfo/posix/Asia/Yekaterinburg +dracut_install /usr/share/zoneinfo/posix/Asia/Chongqing +dracut_install /usr/share/zoneinfo/posix/Asia/Ho_Chi_Minh +dracut_install /usr/share/zoneinfo/posix/Asia/Hong_Kong +dracut_install /usr/share/zoneinfo/posix/Asia/Thimbu +dracut_install /usr/share/zoneinfo/posix/Asia/Thimphu +dracut_install /usr/share/zoneinfo/posix/Asia/Ashgabat +dracut_install /usr/share/zoneinfo/posix/Asia/Shanghai +dracut_install /usr/share/zoneinfo/posix/Asia/Tehran +dracut_install /usr/share/zoneinfo/posix/Asia/Tel_Aviv +dracut_install /usr/share/zoneinfo/posix/Asia/Taipei +dracut_install /usr/share/zoneinfo/posix/Asia/Kabul +dracut_install /usr/share/zoneinfo/posix/Asia/Macau +dracut_install /usr/share/zoneinfo/posix/Asia/Riyadh87 +dracut_install /usr/share/zoneinfo/posix/Asia/Choibalsan +dracut_install /usr/share/zoneinfo/posix/Asia/Vientiane +dracut_install /usr/share/zoneinfo/posix/Asia/Dacca +dracut_install /usr/share/zoneinfo/posix/Asia/Kuching +dracut_install /usr/share/zoneinfo/posix/Asia/Phnom_Penh +dracut_install /usr/share/zoneinfo/posix/Asia/Ulan_Bator +dracut_install /usr/share/zoneinfo/posix/Asia/Sakhalin +dracut_install /usr/share/zoneinfo/posix/MST7MDT +dracut_install /usr/share/zoneinfo/posix/Canada/East-Saskatchewan +dracut_install /usr/share/zoneinfo/posix/Canada/Atlantic +dracut_install /usr/share/zoneinfo/posix/Canada/Central +dracut_install /usr/share/zoneinfo/posix/Canada/Eastern +dracut_install /usr/share/zoneinfo/posix/Canada/Yukon +dracut_install /usr/share/zoneinfo/posix/Canada/Pacific +dracut_install /usr/share/zoneinfo/posix/Canada/Saskatchewan +dracut_install /usr/share/zoneinfo/posix/Canada/Mountain +dracut_install /usr/share/zoneinfo/posix/Canada/Newfoundland +dracut_install /usr/share/zoneinfo/posix/Israel +dracut_install /usr/share/zoneinfo/posix/Africa/Lagos +dracut_install /usr/share/zoneinfo/posix/Africa/Kigali +dracut_install /usr/share/zoneinfo/posix/Africa/Lome +dracut_install /usr/share/zoneinfo/posix/Africa/Niamey +dracut_install /usr/share/zoneinfo/posix/Africa/Conakry +dracut_install /usr/share/zoneinfo/posix/Africa/Asmera +dracut_install /usr/share/zoneinfo/posix/Africa/Banjul +dracut_install /usr/share/zoneinfo/posix/Africa/Abidjan +dracut_install /usr/share/zoneinfo/posix/Africa/Bujumbura +dracut_install /usr/share/zoneinfo/posix/Africa/Luanda +dracut_install /usr/share/zoneinfo/posix/Africa/Kampala +dracut_install /usr/share/zoneinfo/posix/Africa/Ouagadougou +dracut_install /usr/share/zoneinfo/posix/Africa/Libreville +dracut_install /usr/share/zoneinfo/posix/Africa/Lubumbashi +dracut_install /usr/share/zoneinfo/posix/Africa/Dakar +dracut_install /usr/share/zoneinfo/posix/Africa/Bamako +dracut_install /usr/share/zoneinfo/posix/Africa/Nairobi +dracut_install /usr/share/zoneinfo/posix/Africa/Bangui +dracut_install /usr/share/zoneinfo/posix/Africa/Johannesburg +dracut_install /usr/share/zoneinfo/posix/Africa/Accra +dracut_install /usr/share/zoneinfo/posix/Africa/Bissau +dracut_install /usr/share/zoneinfo/posix/Africa/Timbuktu +dracut_install /usr/share/zoneinfo/posix/Africa/Nouakchott +dracut_install /usr/share/zoneinfo/posix/Africa/Maputo +dracut_install /usr/share/zoneinfo/posix/Africa/Ndjamena +dracut_install /usr/share/zoneinfo/posix/Africa/Maseru +dracut_install /usr/share/zoneinfo/posix/Africa/Tripoli +dracut_install /usr/share/zoneinfo/posix/Africa/Blantyre +dracut_install /usr/share/zoneinfo/posix/Africa/Gaborone +dracut_install /usr/share/zoneinfo/posix/Africa/Addis_Ababa +dracut_install /usr/share/zoneinfo/posix/Africa/Porto-Novo +dracut_install /usr/share/zoneinfo/posix/Africa/Kinshasa +dracut_install /usr/share/zoneinfo/posix/Africa/Dar_es_Salaam +dracut_install /usr/share/zoneinfo/posix/Africa/Douala +dracut_install /usr/share/zoneinfo/posix/Africa/Mogadishu +dracut_install /usr/share/zoneinfo/posix/Africa/Monrovia +dracut_install /usr/share/zoneinfo/posix/Africa/Mbabane +dracut_install /usr/share/zoneinfo/posix/Africa/Algiers +dracut_install /usr/share/zoneinfo/posix/Africa/Lusaka +dracut_install /usr/share/zoneinfo/posix/Africa/Khartoum +dracut_install /usr/share/zoneinfo/posix/Africa/Asmara +dracut_install /usr/share/zoneinfo/posix/Africa/Tunis +dracut_install /usr/share/zoneinfo/posix/Africa/Casablanca +dracut_install /usr/share/zoneinfo/posix/Africa/Sao_Tome +dracut_install /usr/share/zoneinfo/posix/Africa/Ceuta +dracut_install /usr/share/zoneinfo/posix/Africa/El_Aaiun +dracut_install /usr/share/zoneinfo/posix/Africa/Harare +dracut_install /usr/share/zoneinfo/posix/Africa/Freetown +dracut_install /usr/share/zoneinfo/posix/Africa/Windhoek +dracut_install /usr/share/zoneinfo/posix/Africa/Djibouti +dracut_install /usr/share/zoneinfo/posix/Africa/Malabo +dracut_install /usr/share/zoneinfo/posix/Africa/Cairo +dracut_install /usr/share/zoneinfo/posix/Africa/Brazzaville +dracut_install /usr/share/zoneinfo/posix/Etc/Zulu +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-0 +dracut_install /usr/share/zoneinfo/posix/Etc/Greenwich +dracut_install /usr/share/zoneinfo/posix/Etc/GMT+6 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT+9 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-9 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT+5 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT0 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-10 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT+0 +dracut_install /usr/share/zoneinfo/posix/Etc/Universal +dracut_install /usr/share/zoneinfo/posix/Etc/GMT+12 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-5 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT+2 +dracut_install /usr/share/zoneinfo/posix/Etc/UTC +dracut_install /usr/share/zoneinfo/posix/Etc/GMT+8 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-11 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-4 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-12 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT+11 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT+3 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT+4 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT+1 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-14 +dracut_install /usr/share/zoneinfo/posix/Etc/UCT +dracut_install /usr/share/zoneinfo/posix/Etc/GMT+7 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-6 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-2 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-3 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-8 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-7 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-13 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-1 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT+10 +dracut_install /usr/share/zoneinfo/posix/PST8PDT +dracut_install /usr/share/zoneinfo/posix/Jamaica +dracut_install /usr/share/zoneinfo/posix/NZ +dracut_install /usr/share/zoneinfo/posix/PRC +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" +inst "$moddir/99-imm.rules" "/etc/udev/rules.d/99-imm.rules" +inst "$moddir/98-mlx.rules" "/etc/udev/rules.d/98-mlx.rules" +inst "$moddir/setupimmnic" "/sbin/setupimmnic" +inst "$moddir/loadmlxeth" "/sbin/loadmlxeth" +dracut_install /sbin/rpc.statd /usr/sbin/sm-notify /etc/netconfig rpcbind /etc/host.conf /usr/sbin/rpc.idmapd +dracut_install ps free find #debug +inst_dir /var/lib/nfs +inst_dir /var/lib/nfs/statd/sm +inst_dir /var/lib/nfs/statd/sm.bak +inst_dir /var/lib/nfs/rpc_pipefs/nfs +inst "/bin/bash" "/bin/sh" +inst "/lib64/libnss_dns-2.12.so" +inst "/lib/terminfo/l/linux" "/lib/terminfo/l/linux" +inst "/lib/terminfo/v/vt100" "/lib/terminfo/v/vt100" +inst_hook cmdline 10 "$moddir/xcat-cmdline.sh" +dracut_install /lib64/rsyslog/lmtcpclt.so +dracut_install /lib64/rsyslog/omtesting.so +dracut_install /lib64/rsyslog/lmnetstrms.so +dracut_install /lib64/rsyslog/imfile.so +dracut_install /lib64/rsyslog/imklog.so +dracut_install /lib64/rsyslog/lmzlibw.so +dracut_install /lib64/rsyslog/immark.so +dracut_install /lib64/rsyslog/imudp.so +dracut_install /lib64/rsyslog/lmregexp.so +dracut_install /lib64/rsyslog/lmtcpsrv.so +dracut_install /lib64/rsyslog/lmnsd_ptcp.so +dracut_install /lib64/rsyslog/imtcp.so +dracut_install /lib64/rsyslog/lmnet.so +dracut_install /lib64/rsyslog/lmstrmsrv.so +dracut_install /lib64/rsyslog/imuxsock.so +dracut_install /usr/lib64/libnfsidmap/nsswitch.so diff --git a/xCAT-genesis-builder/install.ubuntu b/xCAT-genesis-builder/install.ubuntu new file mode 100755 index 000000000..061e16b95 --- /dev/null +++ b/xCAT-genesis-builder/install.ubuntu @@ -0,0 +1,661 @@ +#!/bin/sh +echo $drivers +version12=`awk '{print $2}' /etc/issue | grep 12` +dracut_install wget openssl tar ipmitool cpio gzip lsmod ethtool modprobe touch echo cut wc +dracut_install netstat # broadcom update requires +dracut_install uniq # mellanox update requires +dracut_install grep ip hostname awk egrep grep dirname expr +dracut_install mount.nfs sshd vi reboot lspci parted screen mkfs mkfs.ext4 mkfs.btrfs +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 +dracut_install poweroff ntpq ntpd hwclock date /usr/share/terminfo/x/xterms /etc/nsswitch.conf /etc/services +dracut_install /usr/sbin/rsyslogd /etc/protocols umount /usr/bin/dpkg /usr/bin/rpm /usr/lib/rpm/rpmrc +if [ -n $version12 ];then + dracut_install /lib/x86_64-linux-gnu/libnss_dns-2.15.so /lib/x86_64-linux-gnu/libnss_dns.so.2 + dracut_install /lib/x86_64-linux-gnu/libdl.so.2 /lib32/libm.so.6 + dracut_install dmidecode /usr/lib/x86_64-linux-gnu/libstdc++.so.6 + dracut_install dmidecode /usr/lib/x86_64-linux-gnu/libstdc++.so.5 + dracut_install /lib32/libpthread.so.0 + dracut_install /usr/lib/x86_64-linux-gnu/libldap-2.4.so.2 /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2 /usr/lib/x86_64-linux-gnu/libsasl2.so.2 + dracut_install /lib32/libc.so.6 +else + dracut_install /lib64/libnss_dns-2.12.1.so /lib64/libnss_dns.so.2 + dracut_install /lib/libdl.so.2 /lib/libm.so.6 + dracut_install dmidecode /usr/lib64/libstdc++.so.6 + dracut_install dmidecode /usr/lib64/libstdc++.so.5 + dracut_install /lib/libpthread.so.0 #32 bit lib because UXSPI will not ship a native 64 bit build + dracut_install /usr/lib/libldap-2.4.so.2 /usr/lib/liblber-2.4.so.2 /usr/lib64/libsasl2.so.2 #uxspi has incurred these... + dracut_install /lib/libc.so.6 +fi +dracut_install chmod /lib/ld-linux.so.2 /sbin/route /sbin/ifconfig /usr/bin/head /etc/debian_version /etc/lsb-release ping tr lsusb /usr/share/hwdata/usb.ids #ibm fw wrapper requirements +dracut_install /usr/share/zoneinfo/posix/Zulu +dracut_install /usr/share/zoneinfo/posix/GMT-0 +dracut_install /usr/share/zoneinfo/posix/Europe/Istanbul +dracut_install /usr/share/zoneinfo/posix/Europe/San_Marino +dracut_install /usr/share/zoneinfo/posix/Europe/Jersey +dracut_install /usr/share/zoneinfo/posix/Europe/Bucharest +dracut_install /usr/share/zoneinfo/posix/Europe/Gibraltar +dracut_install /usr/share/zoneinfo/posix/Europe/Uzhgorod +dracut_install /usr/share/zoneinfo/posix/Europe/Moscow +dracut_install /usr/share/zoneinfo/posix/Europe/Brussels +dracut_install /usr/share/zoneinfo/posix/Europe/Nicosia +dracut_install /usr/share/zoneinfo/posix/Europe/Zurich +dracut_install /usr/share/zoneinfo/posix/Europe/Berlin +dracut_install /usr/share/zoneinfo/posix/Europe/Guernsey +dracut_install /usr/share/zoneinfo/posix/Europe/Budapest +dracut_install /usr/share/zoneinfo/posix/Europe/Kiev +dracut_install /usr/share/zoneinfo/posix/Europe/Podgorica +dracut_install /usr/share/zoneinfo/posix/Europe/Isle_of_Man +dracut_install /usr/share/zoneinfo/posix/Europe/Mariehamn +dracut_install /usr/share/zoneinfo/posix/Europe/Belgrade +dracut_install /usr/share/zoneinfo/posix/Europe/Belfast +dracut_install /usr/share/zoneinfo/posix/Europe/Ljubljana +dracut_install /usr/share/zoneinfo/posix/Europe/Chisinau +dracut_install /usr/share/zoneinfo/posix/Europe/Andorra +dracut_install /usr/share/zoneinfo/posix/Europe/Athens +dracut_install /usr/share/zoneinfo/posix/Europe/Stockholm +dracut_install /usr/share/zoneinfo/posix/Europe/Vienna +dracut_install /usr/share/zoneinfo/posix/Europe/Lisbon +dracut_install /usr/share/zoneinfo/posix/Europe/London +dracut_install /usr/share/zoneinfo/posix/Europe/Paris +dracut_install /usr/share/zoneinfo/posix/Europe/Oslo +dracut_install /usr/share/zoneinfo/posix/Europe/Zagreb +dracut_install /usr/share/zoneinfo/posix/Europe/Helsinki +dracut_install /usr/share/zoneinfo/posix/Europe/Warsaw +dracut_install /usr/share/zoneinfo/posix/Europe/Copenhagen +dracut_install /usr/share/zoneinfo/posix/Europe/Riga +dracut_install /usr/share/zoneinfo/posix/Europe/Vaduz +dracut_install /usr/share/zoneinfo/posix/Europe/Vilnius +dracut_install /usr/share/zoneinfo/posix/Europe/Volgograd +dracut_install /usr/share/zoneinfo/posix/Europe/Amsterdam +dracut_install /usr/share/zoneinfo/posix/Europe/Tiraspol +dracut_install /usr/share/zoneinfo/posix/Europe/Tallinn +dracut_install /usr/share/zoneinfo/posix/Europe/Kaliningrad +dracut_install /usr/share/zoneinfo/posix/Europe/Malta +dracut_install /usr/share/zoneinfo/posix/Europe/Sarajevo +dracut_install /usr/share/zoneinfo/posix/Europe/Madrid +dracut_install /usr/share/zoneinfo/posix/Europe/Zaporozhye +dracut_install /usr/share/zoneinfo/posix/Europe/Simferopol +dracut_install /usr/share/zoneinfo/posix/Europe/Sofia +dracut_install /usr/share/zoneinfo/posix/Europe/Skopje +dracut_install /usr/share/zoneinfo/posix/Europe/Monaco +dracut_install /usr/share/zoneinfo/posix/Europe/Rome +dracut_install /usr/share/zoneinfo/posix/Europe/Prague +dracut_install /usr/share/zoneinfo/posix/Europe/Luxembourg +dracut_install /usr/share/zoneinfo/posix/Europe/Minsk +dracut_install /usr/share/zoneinfo/posix/Europe/Vatican +dracut_install /usr/share/zoneinfo/posix/Europe/Dublin +dracut_install /usr/share/zoneinfo/posix/Europe/Samara +dracut_install /usr/share/zoneinfo/posix/Europe/Tirane +dracut_install /usr/share/zoneinfo/posix/Europe/Bratislava +dracut_install /usr/share/zoneinfo/posix/Greenwich +dracut_install /usr/share/zoneinfo/posix/US/Indiana-Starke +dracut_install /usr/share/zoneinfo/posix/US/Alaska +dracut_install /usr/share/zoneinfo/posix/US/Michigan +dracut_install /usr/share/zoneinfo/posix/US/Aleutian +dracut_install /usr/share/zoneinfo/posix/US/Hawaii +dracut_install /usr/share/zoneinfo/posix/US/Central +dracut_install /usr/share/zoneinfo/posix/US/Eastern +dracut_install /usr/share/zoneinfo/posix/US/Pacific +dracut_install /usr/share/zoneinfo/posix/US/Samoa +dracut_install /usr/share/zoneinfo/posix/US/Mountain +dracut_install /usr/share/zoneinfo/posix/US/Arizona +dracut_install /usr/share/zoneinfo/posix/US/East-Indiana +dracut_install /usr/share/zoneinfo/posix/EST +dracut_install /usr/share/zoneinfo/posix/HST +dracut_install /usr/share/zoneinfo/posix/Eire +dracut_install /usr/share/zoneinfo/posix/America/Cancun +dracut_install /usr/share/zoneinfo/posix/America/Santo_Domingo +dracut_install /usr/share/zoneinfo/posix/America/Jujuy +dracut_install /usr/share/zoneinfo/posix/America/Guatemala +dracut_install /usr/share/zoneinfo/posix/America/Monterrey +dracut_install /usr/share/zoneinfo/posix/America/Ensenada +dracut_install /usr/share/zoneinfo/posix/America/Dawson_Creek +dracut_install /usr/share/zoneinfo/posix/America/Mendoza +dracut_install /usr/share/zoneinfo/posix/America/Coral_Harbour +dracut_install /usr/share/zoneinfo/posix/America/Martinique +dracut_install /usr/share/zoneinfo/posix/America/Cordoba +dracut_install /usr/share/zoneinfo/posix/America/Recife +dracut_install /usr/share/zoneinfo/posix/America/Cayman +dracut_install /usr/share/zoneinfo/posix/America/Shiprock +dracut_install /usr/share/zoneinfo/posix/America/Tortola +dracut_install /usr/share/zoneinfo/posix/America/Lima +dracut_install /usr/share/zoneinfo/posix/America/Antigua +dracut_install /usr/share/zoneinfo/posix/America/Blanc-Sablon +dracut_install /usr/share/zoneinfo/posix/America/Nipigon +dracut_install /usr/share/zoneinfo/posix/America/Nome +dracut_install /usr/share/zoneinfo/posix/America/Montserrat +dracut_install /usr/share/zoneinfo/posix/America/Atka +dracut_install /usr/share/zoneinfo/posix/America/St_Thomas +dracut_install /usr/share/zoneinfo/posix/America/Halifax +dracut_install /usr/share/zoneinfo/posix/America/Montreal +dracut_install /usr/share/zoneinfo/posix/America/Curacao +dracut_install /usr/share/zoneinfo/posix/America/Cuiaba +dracut_install /usr/share/zoneinfo/posix/America/Winnipeg +dracut_install /usr/share/zoneinfo/posix/America/North_Dakota/New_Salem +dracut_install /usr/share/zoneinfo/posix/America/North_Dakota/Center +dracut_install /usr/share/zoneinfo/posix/America/Panama +dracut_install /usr/share/zoneinfo/posix/America/Rosario +dracut_install /usr/share/zoneinfo/posix/America/Anguilla +dracut_install /usr/share/zoneinfo/posix/America/Ojinaga +dracut_install /usr/share/zoneinfo/posix/America/Guyana +dracut_install /usr/share/zoneinfo/posix/America/Eirunepe +dracut_install /usr/share/zoneinfo/posix/America/Grand_Turk +dracut_install /usr/share/zoneinfo/posix/America/Rio_Branco +dracut_install /usr/share/zoneinfo/posix/America/Santa_Isabel +dracut_install /usr/share/zoneinfo/posix/America/Scoresbysund +dracut_install /usr/share/zoneinfo/posix/America/Adak +dracut_install /usr/share/zoneinfo/posix/America/Menominee +dracut_install /usr/share/zoneinfo/posix/America/Resolute +dracut_install /usr/share/zoneinfo/posix/America/Guadeloupe +dracut_install /usr/share/zoneinfo/posix/America/Indianapolis +dracut_install /usr/share/zoneinfo/posix/America/Vancouver +dracut_install /usr/share/zoneinfo/posix/America/Glace_Bay +dracut_install /usr/share/zoneinfo/posix/America/Buenos_Aires +dracut_install /usr/share/zoneinfo/posix/America/Virgin +dracut_install /usr/share/zoneinfo/posix/America/Belem +dracut_install /usr/share/zoneinfo/posix/America/Catamarca +dracut_install /usr/share/zoneinfo/posix/America/Bahia +dracut_install /usr/share/zoneinfo/posix/America/Fort_Wayne +dracut_install /usr/share/zoneinfo/posix/America/Hermosillo +dracut_install /usr/share/zoneinfo/posix/America/Rankin_Inlet +dracut_install /usr/share/zoneinfo/posix/America/Mexico_City +dracut_install /usr/share/zoneinfo/posix/America/Belize +dracut_install /usr/share/zoneinfo/posix/America/Maceio +dracut_install /usr/share/zoneinfo/posix/America/Dominica +dracut_install /usr/share/zoneinfo/posix/America/Swift_Current +dracut_install /usr/share/zoneinfo/posix/America/St_Johns +dracut_install /usr/share/zoneinfo/posix/America/St_Barthelemy +dracut_install /usr/share/zoneinfo/posix/America/Yellowknife +dracut_install /usr/share/zoneinfo/posix/America/Costa_Rica +dracut_install /usr/share/zoneinfo/posix/America/Pangnirtung +dracut_install /usr/share/zoneinfo/posix/America/Bogota +dracut_install /usr/share/zoneinfo/posix/America/Port-au-Prince +dracut_install /usr/share/zoneinfo/posix/America/Phoenix +dracut_install /usr/share/zoneinfo/posix/America/Port_of_Spain +dracut_install /usr/share/zoneinfo/posix/America/Matamoros +dracut_install /usr/share/zoneinfo/posix/America/Puerto_Rico +dracut_install /usr/share/zoneinfo/posix/America/Detroit +dracut_install /usr/share/zoneinfo/posix/America/Edmonton +dracut_install /usr/share/zoneinfo/posix/America/Toronto +dracut_install /usr/share/zoneinfo/posix/America/Cambridge_Bay +dracut_install /usr/share/zoneinfo/posix/America/Godthab +dracut_install /usr/share/zoneinfo/posix/America/Atikokan +dracut_install /usr/share/zoneinfo/posix/America/Juneau +dracut_install /usr/share/zoneinfo/posix/America/Managua +dracut_install /usr/share/zoneinfo/posix/America/Anchorage +dracut_install /usr/share/zoneinfo/posix/America/Merida +dracut_install /usr/share/zoneinfo/posix/America/Thunder_Bay +dracut_install /usr/share/zoneinfo/posix/America/Porto_Velho +dracut_install /usr/share/zoneinfo/posix/America/Argentina/Jujuy +dracut_install /usr/share/zoneinfo/posix/America/Argentina/La_Rioja +dracut_install /usr/share/zoneinfo/posix/America/Argentina/Mendoza +dracut_install /usr/share/zoneinfo/posix/America/Argentina/Cordoba +dracut_install /usr/share/zoneinfo/posix/America/Argentina/Ushuaia +dracut_install /usr/share/zoneinfo/posix/America/Argentina/Rio_Gallegos +dracut_install /usr/share/zoneinfo/posix/America/Argentina/Buenos_Aires +dracut_install /usr/share/zoneinfo/posix/America/Argentina/San_Juan +dracut_install /usr/share/zoneinfo/posix/America/Argentina/Catamarca +dracut_install /usr/share/zoneinfo/posix/America/Argentina/San_Luis +dracut_install /usr/share/zoneinfo/posix/America/Argentina/ComodRivadavia +dracut_install /usr/share/zoneinfo/posix/America/Argentina/Salta +dracut_install /usr/share/zoneinfo/posix/America/Argentina/Tucuman +dracut_install /usr/share/zoneinfo/posix/America/Iqaluit +dracut_install /usr/share/zoneinfo/posix/America/Chicago +dracut_install /usr/share/zoneinfo/posix/America/Miquelon +dracut_install /usr/share/zoneinfo/posix/America/Havana +dracut_install /usr/share/zoneinfo/posix/America/Guayaquil +dracut_install /usr/share/zoneinfo/posix/America/St_Vincent +dracut_install /usr/share/zoneinfo/posix/America/St_Lucia +dracut_install /usr/share/zoneinfo/posix/America/Boise +dracut_install /usr/share/zoneinfo/posix/America/Yakutat +dracut_install /usr/share/zoneinfo/posix/America/Santarem +dracut_install /usr/share/zoneinfo/posix/America/Campo_Grande +dracut_install /usr/share/zoneinfo/posix/America/Santiago +dracut_install /usr/share/zoneinfo/posix/America/Porto_Acre +dracut_install /usr/share/zoneinfo/posix/America/Sao_Paulo +dracut_install /usr/share/zoneinfo/posix/America/Thule +dracut_install /usr/share/zoneinfo/posix/America/New_York +dracut_install /usr/share/zoneinfo/posix/America/Nassau +dracut_install /usr/share/zoneinfo/posix/America/Dawson +dracut_install /usr/share/zoneinfo/posix/America/Louisville +dracut_install /usr/share/zoneinfo/posix/America/Asuncion +dracut_install /usr/share/zoneinfo/posix/America/Inuvik +dracut_install /usr/share/zoneinfo/posix/America/Paramaribo +dracut_install /usr/share/zoneinfo/posix/America/Chihuahua +dracut_install /usr/share/zoneinfo/posix/America/Mazatlan +dracut_install /usr/share/zoneinfo/posix/America/Grenada +dracut_install /usr/share/zoneinfo/posix/America/Denver +dracut_install /usr/share/zoneinfo/posix/America/Los_Angeles +dracut_install /usr/share/zoneinfo/posix/America/Marigot +dracut_install /usr/share/zoneinfo/posix/America/Manaus +dracut_install /usr/share/zoneinfo/posix/America/Regina +dracut_install /usr/share/zoneinfo/posix/America/Barbados +dracut_install /usr/share/zoneinfo/posix/America/Noronha +dracut_install /usr/share/zoneinfo/posix/America/Montevideo +dracut_install /usr/share/zoneinfo/posix/America/Caracas +dracut_install /usr/share/zoneinfo/posix/America/Rainy_River +dracut_install /usr/share/zoneinfo/posix/America/La_Paz +dracut_install /usr/share/zoneinfo/posix/America/Jamaica +dracut_install /usr/share/zoneinfo/posix/America/Moncton +dracut_install /usr/share/zoneinfo/posix/America/Whitehorse +dracut_install /usr/share/zoneinfo/posix/America/Fortaleza +dracut_install /usr/share/zoneinfo/posix/America/Kentucky/Monticello +dracut_install /usr/share/zoneinfo/posix/America/Kentucky/Louisville +dracut_install /usr/share/zoneinfo/posix/America/Indiana/Marengo +dracut_install /usr/share/zoneinfo/posix/America/Indiana/Indianapolis +dracut_install /usr/share/zoneinfo/posix/America/Indiana/Knox +dracut_install /usr/share/zoneinfo/posix/America/Indiana/Tell_City +dracut_install /usr/share/zoneinfo/posix/America/Indiana/Petersburg +dracut_install /usr/share/zoneinfo/posix/America/Indiana/Winamac +dracut_install /usr/share/zoneinfo/posix/America/Indiana/Vincennes +dracut_install /usr/share/zoneinfo/posix/America/Indiana/Vevay +dracut_install /usr/share/zoneinfo/posix/America/Danmarkshavn +dracut_install /usr/share/zoneinfo/posix/America/St_Kitts +dracut_install /usr/share/zoneinfo/posix/America/Aruba +dracut_install /usr/share/zoneinfo/posix/America/Boa_Vista +dracut_install /usr/share/zoneinfo/posix/America/Bahia_Banderas +dracut_install /usr/share/zoneinfo/posix/America/Tegucigalpa +dracut_install /usr/share/zoneinfo/posix/America/Araguaina +dracut_install /usr/share/zoneinfo/posix/America/El_Salvador +dracut_install /usr/share/zoneinfo/posix/America/Cayenne +dracut_install /usr/share/zoneinfo/posix/America/Tijuana +dracut_install /usr/share/zoneinfo/posix/America/Knox_IN +dracut_install /usr/share/zoneinfo/posix/America/Goose_Bay +dracut_install /usr/share/zoneinfo/posix/EET +dracut_install /usr/share/zoneinfo/posix/EST5EDT +dracut_install /usr/share/zoneinfo/posix/Mideast/Riyadh89 +dracut_install /usr/share/zoneinfo/posix/Mideast/Riyadh88 +dracut_install /usr/share/zoneinfo/posix/Mideast/Riyadh87 +dracut_install /usr/share/zoneinfo/posix/MST +dracut_install /usr/share/zoneinfo/posix/Iceland +dracut_install /usr/share/zoneinfo/posix/Atlantic/Faeroe +dracut_install /usr/share/zoneinfo/posix/Atlantic/Stanley +dracut_install /usr/share/zoneinfo/posix/Atlantic/Reykjavik +dracut_install /usr/share/zoneinfo/posix/Atlantic/St_Helena +dracut_install /usr/share/zoneinfo/posix/Atlantic/Faroe +dracut_install /usr/share/zoneinfo/posix/Atlantic/South_Georgia +dracut_install /usr/share/zoneinfo/posix/Atlantic/Jan_Mayen +dracut_install /usr/share/zoneinfo/posix/Atlantic/Azores +dracut_install /usr/share/zoneinfo/posix/Atlantic/Cape_Verde +dracut_install /usr/share/zoneinfo/posix/Atlantic/Madeira +dracut_install /usr/share/zoneinfo/posix/Atlantic/Bermuda +dracut_install /usr/share/zoneinfo/posix/Atlantic/Canary +dracut_install /usr/share/zoneinfo/posix/GMT0 +dracut_install /usr/share/zoneinfo/posix/Poland +dracut_install /usr/share/zoneinfo/posix/Indian/Chagos +dracut_install /usr/share/zoneinfo/posix/Indian/Maldives +dracut_install /usr/share/zoneinfo/posix/Indian/Comoro +dracut_install /usr/share/zoneinfo/posix/Indian/Mauritius +dracut_install /usr/share/zoneinfo/posix/Indian/Mayotte +dracut_install /usr/share/zoneinfo/posix/Indian/Christmas +dracut_install /usr/share/zoneinfo/posix/Indian/Antananarivo +dracut_install /usr/share/zoneinfo/posix/Indian/Kerguelen +dracut_install /usr/share/zoneinfo/posix/Indian/Mahe +dracut_install /usr/share/zoneinfo/posix/Indian/Cocos +dracut_install /usr/share/zoneinfo/posix/Indian/Reunion +dracut_install /usr/share/zoneinfo/posix/Mexico/BajaNorte +dracut_install /usr/share/zoneinfo/posix/Mexico/BajaSur +dracut_install /usr/share/zoneinfo/posix/Mexico/General +dracut_install /usr/share/zoneinfo/posix/Turkey +dracut_install /usr/share/zoneinfo/posix/Egypt +dracut_install /usr/share/zoneinfo/posix/Hongkong +dracut_install /usr/share/zoneinfo/posix/GB +dracut_install /usr/share/zoneinfo/posix/GMT+0 +dracut_install /usr/share/zoneinfo/posix/ROK +dracut_install /usr/share/zoneinfo/posix/Antarctica/Mawson +dracut_install /usr/share/zoneinfo/posix/Antarctica/Macquarie +dracut_install /usr/share/zoneinfo/posix/Antarctica/South_Pole +dracut_install /usr/share/zoneinfo/posix/Antarctica/Rothera +dracut_install /usr/share/zoneinfo/posix/Antarctica/Davis +dracut_install /usr/share/zoneinfo/posix/Antarctica/DumontDUrville +dracut_install /usr/share/zoneinfo/posix/Antarctica/McMurdo +dracut_install /usr/share/zoneinfo/posix/Antarctica/Casey +dracut_install /usr/share/zoneinfo/posix/Antarctica/Vostok +dracut_install /usr/share/zoneinfo/posix/Antarctica/Palmer +dracut_install /usr/share/zoneinfo/posix/Antarctica/Syowa +dracut_install /usr/share/zoneinfo/posix/Universal +dracut_install /usr/share/zoneinfo/posix/CET +dracut_install /usr/share/zoneinfo/posix/WET +dracut_install /usr/share/zoneinfo/posix/Navajo +dracut_install /usr/share/zoneinfo/posix/UTC +dracut_install /usr/share/zoneinfo/posix/Pacific/Enderbury +dracut_install /usr/share/zoneinfo/posix/Pacific/Johnston +dracut_install /usr/share/zoneinfo/posix/Pacific/Pago_Pago +dracut_install /usr/share/zoneinfo/posix/Pacific/Saipan +dracut_install /usr/share/zoneinfo/posix/Pacific/Norfolk +dracut_install /usr/share/zoneinfo/posix/Pacific/Chuuk +dracut_install /usr/share/zoneinfo/posix/Pacific/Galapagos +dracut_install /usr/share/zoneinfo/posix/Pacific/Palau +dracut_install /usr/share/zoneinfo/posix/Pacific/Tarawa +dracut_install /usr/share/zoneinfo/posix/Pacific/Fakaofo +dracut_install /usr/share/zoneinfo/posix/Pacific/Rarotonga +dracut_install /usr/share/zoneinfo/posix/Pacific/Wake +dracut_install /usr/share/zoneinfo/posix/Pacific/Kosrae +dracut_install /usr/share/zoneinfo/posix/Pacific/Tahiti +dracut_install /usr/share/zoneinfo/posix/Pacific/Fiji +dracut_install /usr/share/zoneinfo/posix/Pacific/Ponape +dracut_install /usr/share/zoneinfo/posix/Pacific/Tongatapu +dracut_install /usr/share/zoneinfo/posix/Pacific/Efate +dracut_install /usr/share/zoneinfo/posix/Pacific/Honolulu +dracut_install /usr/share/zoneinfo/posix/Pacific/Niue +dracut_install /usr/share/zoneinfo/posix/Pacific/Kwajalein +dracut_install /usr/share/zoneinfo/posix/Pacific/Guam +dracut_install /usr/share/zoneinfo/posix/Pacific/Funafuti +dracut_install /usr/share/zoneinfo/posix/Pacific/Majuro +dracut_install /usr/share/zoneinfo/posix/Pacific/Midway +dracut_install /usr/share/zoneinfo/posix/Pacific/Nauru +dracut_install /usr/share/zoneinfo/posix/Pacific/Samoa +dracut_install /usr/share/zoneinfo/posix/Pacific/Marquesas +dracut_install /usr/share/zoneinfo/posix/Pacific/Kiritimati +dracut_install /usr/share/zoneinfo/posix/Pacific/Noumea +dracut_install /usr/share/zoneinfo/posix/Pacific/Truk +dracut_install /usr/share/zoneinfo/posix/Pacific/Guadalcanal +dracut_install /usr/share/zoneinfo/posix/Pacific/Pohnpei +dracut_install /usr/share/zoneinfo/posix/Pacific/Pitcairn +dracut_install /usr/share/zoneinfo/posix/Pacific/Port_Moresby +dracut_install /usr/share/zoneinfo/posix/Pacific/Yap +dracut_install /usr/share/zoneinfo/posix/Pacific/Easter +dracut_install /usr/share/zoneinfo/posix/Pacific/Wallis +dracut_install /usr/share/zoneinfo/posix/Pacific/Apia +dracut_install /usr/share/zoneinfo/posix/Pacific/Auckland +dracut_install /usr/share/zoneinfo/posix/Pacific/Gambier +dracut_install /usr/share/zoneinfo/posix/Pacific/Chatham +dracut_install /usr/share/zoneinfo/posix/Japan +dracut_install /usr/share/zoneinfo/posix/Libya +dracut_install /usr/share/zoneinfo/posix/ROC +dracut_install /usr/share/zoneinfo/posix/Iran +dracut_install /usr/share/zoneinfo/posix/Brazil/West +dracut_install /usr/share/zoneinfo/posix/Brazil/East +dracut_install /usr/share/zoneinfo/posix/Brazil/Acre +dracut_install /usr/share/zoneinfo/posix/Brazil/DeNoronha +dracut_install /usr/share/zoneinfo/posix/Arctic/Longyearbyen +dracut_install /usr/share/zoneinfo/posix/Portugal +dracut_install /usr/share/zoneinfo/posix/MET +dracut_install /usr/share/zoneinfo/posix/W-SU +dracut_install /usr/share/zoneinfo/posix/Kwajalein +dracut_install /usr/share/zoneinfo/posix/CST6CDT +dracut_install /usr/share/zoneinfo/posix/GB-Eire +dracut_install /usr/share/zoneinfo/posix/Australia/Melbourne +dracut_install /usr/share/zoneinfo/posix/Australia/Broken_Hill +dracut_install /usr/share/zoneinfo/posix/Australia/Queensland +dracut_install /usr/share/zoneinfo/posix/Australia/South +dracut_install /usr/share/zoneinfo/posix/Australia/Eucla +dracut_install /usr/share/zoneinfo/posix/Australia/Yancowinna +dracut_install /usr/share/zoneinfo/posix/Australia/Lord_Howe +dracut_install /usr/share/zoneinfo/posix/Australia/Hobart +dracut_install /usr/share/zoneinfo/posix/Australia/NSW +dracut_install /usr/share/zoneinfo/posix/Australia/West +dracut_install /usr/share/zoneinfo/posix/Australia/LHI +dracut_install /usr/share/zoneinfo/posix/Australia/Perth +dracut_install /usr/share/zoneinfo/posix/Australia/ACT +dracut_install /usr/share/zoneinfo/posix/Australia/Darwin +dracut_install /usr/share/zoneinfo/posix/Australia/Lindeman +dracut_install /usr/share/zoneinfo/posix/Australia/Sydney +dracut_install /usr/share/zoneinfo/posix/Australia/North +dracut_install /usr/share/zoneinfo/posix/Australia/Canberra +dracut_install /usr/share/zoneinfo/posix/Australia/Adelaide +dracut_install /usr/share/zoneinfo/posix/Australia/Brisbane +dracut_install /usr/share/zoneinfo/posix/Australia/Victoria +dracut_install /usr/share/zoneinfo/posix/Australia/Tasmania +dracut_install /usr/share/zoneinfo/posix/Australia/Currie +dracut_install /usr/share/zoneinfo/posix/UCT +dracut_install /usr/share/zoneinfo/posix/Cuba +dracut_install /usr/share/zoneinfo/posix/Singapore +dracut_install /usr/share/zoneinfo/posix/GMT +dracut_install /usr/share/zoneinfo/posix/NZ-CHAT +dracut_install /usr/share/zoneinfo/posix/Asia/Istanbul +dracut_install /usr/share/zoneinfo/posix/Asia/Kuwait +dracut_install /usr/share/zoneinfo/posix/Asia/Saigon +dracut_install /usr/share/zoneinfo/posix/Asia/Riyadh89 +dracut_install /usr/share/zoneinfo/posix/Asia/Urumqi +dracut_install /usr/share/zoneinfo/posix/Asia/Brunei +dracut_install /usr/share/zoneinfo/posix/Asia/Ujung_Pandang +dracut_install /usr/share/zoneinfo/posix/Asia/Muscat +dracut_install /usr/share/zoneinfo/posix/Asia/Kashgar +dracut_install /usr/share/zoneinfo/posix/Asia/Kamchatka +dracut_install /usr/share/zoneinfo/posix/Asia/Manila +dracut_install /usr/share/zoneinfo/posix/Asia/Vladivostok +dracut_install /usr/share/zoneinfo/posix/Asia/Jayapura +dracut_install /usr/share/zoneinfo/posix/Asia/Magadan +dracut_install /usr/share/zoneinfo/posix/Asia/Almaty +dracut_install /usr/share/zoneinfo/posix/Asia/Qyzylorda +dracut_install /usr/share/zoneinfo/posix/Asia/Anadyr +dracut_install /usr/share/zoneinfo/posix/Asia/Nicosia +dracut_install /usr/share/zoneinfo/posix/Asia/Kathmandu +dracut_install /usr/share/zoneinfo/posix/Asia/Qatar +dracut_install /usr/share/zoneinfo/posix/Asia/Jerusalem +dracut_install /usr/share/zoneinfo/posix/Asia/Yakutsk +dracut_install /usr/share/zoneinfo/posix/Asia/Karachi +dracut_install /usr/share/zoneinfo/posix/Asia/Samarkand +dracut_install /usr/share/zoneinfo/posix/Asia/Kolkata +dracut_install /usr/share/zoneinfo/posix/Asia/Ulaanbaatar +dracut_install /usr/share/zoneinfo/posix/Asia/Irkutsk +dracut_install /usr/share/zoneinfo/posix/Asia/Baku +dracut_install /usr/share/zoneinfo/posix/Asia/Gaza +dracut_install /usr/share/zoneinfo/posix/Asia/Seoul +dracut_install /usr/share/zoneinfo/posix/Asia/Chungking +dracut_install /usr/share/zoneinfo/posix/Asia/Amman +dracut_install /usr/share/zoneinfo/posix/Asia/Kuala_Lumpur +dracut_install /usr/share/zoneinfo/posix/Asia/Aqtobe +dracut_install /usr/share/zoneinfo/posix/Asia/Katmandu +dracut_install /usr/share/zoneinfo/posix/Asia/Tashkent +dracut_install /usr/share/zoneinfo/posix/Asia/Oral +dracut_install /usr/share/zoneinfo/posix/Asia/Dhaka +dracut_install /usr/share/zoneinfo/posix/Asia/Hovd +dracut_install /usr/share/zoneinfo/posix/Asia/Makassar +dracut_install /usr/share/zoneinfo/posix/Asia/Bangkok +dracut_install /usr/share/zoneinfo/posix/Asia/Tokyo +dracut_install /usr/share/zoneinfo/posix/Asia/Macao +dracut_install /usr/share/zoneinfo/posix/Asia/Riyadh +dracut_install /usr/share/zoneinfo/posix/Asia/Rangoon +dracut_install /usr/share/zoneinfo/posix/Asia/Riyadh88 +dracut_install /usr/share/zoneinfo/posix/Asia/Jakarta +dracut_install /usr/share/zoneinfo/posix/Asia/Aden +dracut_install /usr/share/zoneinfo/posix/Asia/Calcutta +dracut_install /usr/share/zoneinfo/posix/Asia/Ashkhabad +dracut_install /usr/share/zoneinfo/posix/Asia/Beirut +dracut_install /usr/share/zoneinfo/posix/Asia/Harbin +dracut_install /usr/share/zoneinfo/posix/Asia/Novosibirsk +dracut_install /usr/share/zoneinfo/posix/Asia/Omsk +dracut_install /usr/share/zoneinfo/posix/Asia/Aqtau +dracut_install /usr/share/zoneinfo/posix/Asia/Bahrain +dracut_install /usr/share/zoneinfo/posix/Asia/Dili +dracut_install /usr/share/zoneinfo/posix/Asia/Pontianak +dracut_install /usr/share/zoneinfo/posix/Asia/Singapore +dracut_install /usr/share/zoneinfo/posix/Asia/Baghdad +dracut_install /usr/share/zoneinfo/posix/Asia/Novokuznetsk +dracut_install /usr/share/zoneinfo/posix/Asia/Dubai +dracut_install /usr/share/zoneinfo/posix/Asia/Dushanbe +dracut_install /usr/share/zoneinfo/posix/Asia/Damascus +dracut_install /usr/share/zoneinfo/posix/Asia/Krasnoyarsk +dracut_install /usr/share/zoneinfo/posix/Asia/Tbilisi +dracut_install /usr/share/zoneinfo/posix/Asia/Yerevan +dracut_install /usr/share/zoneinfo/posix/Asia/Pyongyang +dracut_install /usr/share/zoneinfo/posix/Asia/Bishkek +dracut_install /usr/share/zoneinfo/posix/Asia/Colombo +dracut_install /usr/share/zoneinfo/posix/Asia/Yekaterinburg +dracut_install /usr/share/zoneinfo/posix/Asia/Chongqing +dracut_install /usr/share/zoneinfo/posix/Asia/Ho_Chi_Minh +dracut_install /usr/share/zoneinfo/posix/Asia/Hong_Kong +dracut_install /usr/share/zoneinfo/posix/Asia/Thimbu +dracut_install /usr/share/zoneinfo/posix/Asia/Thimphu +dracut_install /usr/share/zoneinfo/posix/Asia/Ashgabat +dracut_install /usr/share/zoneinfo/posix/Asia/Shanghai +dracut_install /usr/share/zoneinfo/posix/Asia/Tehran +dracut_install /usr/share/zoneinfo/posix/Asia/Tel_Aviv +dracut_install /usr/share/zoneinfo/posix/Asia/Taipei +dracut_install /usr/share/zoneinfo/posix/Asia/Kabul +dracut_install /usr/share/zoneinfo/posix/Asia/Macau +dracut_install /usr/share/zoneinfo/posix/Asia/Riyadh87 +dracut_install /usr/share/zoneinfo/posix/Asia/Choibalsan +dracut_install /usr/share/zoneinfo/posix/Asia/Vientiane +dracut_install /usr/share/zoneinfo/posix/Asia/Dacca +dracut_install /usr/share/zoneinfo/posix/Asia/Kuching +dracut_install /usr/share/zoneinfo/posix/Asia/Phnom_Penh +dracut_install /usr/share/zoneinfo/posix/Asia/Ulan_Bator +dracut_install /usr/share/zoneinfo/posix/Asia/Sakhalin +dracut_install /usr/share/zoneinfo/posix/MST7MDT +dracut_install /usr/share/zoneinfo/posix/Canada/East-Saskatchewan +dracut_install /usr/share/zoneinfo/posix/Canada/Atlantic +dracut_install /usr/share/zoneinfo/posix/Canada/Central +dracut_install /usr/share/zoneinfo/posix/Canada/Eastern +dracut_install /usr/share/zoneinfo/posix/Canada/Yukon +dracut_install /usr/share/zoneinfo/posix/Canada/Pacific +dracut_install /usr/share/zoneinfo/posix/Canada/Saskatchewan +dracut_install /usr/share/zoneinfo/posix/Canada/Mountain +dracut_install /usr/share/zoneinfo/posix/Canada/Newfoundland +dracut_install /usr/share/zoneinfo/posix/Israel +dracut_install /usr/share/zoneinfo/posix/Africa/Lagos +dracut_install /usr/share/zoneinfo/posix/Africa/Kigali +dracut_install /usr/share/zoneinfo/posix/Africa/Lome +dracut_install /usr/share/zoneinfo/posix/Africa/Niamey +dracut_install /usr/share/zoneinfo/posix/Africa/Conakry +dracut_install /usr/share/zoneinfo/posix/Africa/Asmera +dracut_install /usr/share/zoneinfo/posix/Africa/Banjul +dracut_install /usr/share/zoneinfo/posix/Africa/Abidjan +dracut_install /usr/share/zoneinfo/posix/Africa/Bujumbura +dracut_install /usr/share/zoneinfo/posix/Africa/Luanda +dracut_install /usr/share/zoneinfo/posix/Africa/Kampala +dracut_install /usr/share/zoneinfo/posix/Africa/Ouagadougou +dracut_install /usr/share/zoneinfo/posix/Africa/Libreville +dracut_install /usr/share/zoneinfo/posix/Africa/Lubumbashi +dracut_install /usr/share/zoneinfo/posix/Africa/Dakar +dracut_install /usr/share/zoneinfo/posix/Africa/Bamako +dracut_install /usr/share/zoneinfo/posix/Africa/Nairobi +dracut_install /usr/share/zoneinfo/posix/Africa/Bangui +dracut_install /usr/share/zoneinfo/posix/Africa/Johannesburg +dracut_install /usr/share/zoneinfo/posix/Africa/Accra +dracut_install /usr/share/zoneinfo/posix/Africa/Bissau +dracut_install /usr/share/zoneinfo/posix/Africa/Timbuktu +dracut_install /usr/share/zoneinfo/posix/Africa/Nouakchott +dracut_install /usr/share/zoneinfo/posix/Africa/Maputo +dracut_install /usr/share/zoneinfo/posix/Africa/Ndjamena +dracut_install /usr/share/zoneinfo/posix/Africa/Maseru +dracut_install /usr/share/zoneinfo/posix/Africa/Tripoli +dracut_install /usr/share/zoneinfo/posix/Africa/Blantyre +dracut_install /usr/share/zoneinfo/posix/Africa/Gaborone +dracut_install /usr/share/zoneinfo/posix/Africa/Addis_Ababa +dracut_install /usr/share/zoneinfo/posix/Africa/Porto-Novo +dracut_install /usr/share/zoneinfo/posix/Africa/Kinshasa +dracut_install /usr/share/zoneinfo/posix/Africa/Dar_es_Salaam +dracut_install /usr/share/zoneinfo/posix/Africa/Douala +dracut_install /usr/share/zoneinfo/posix/Africa/Mogadishu +dracut_install /usr/share/zoneinfo/posix/Africa/Monrovia +dracut_install /usr/share/zoneinfo/posix/Africa/Mbabane +dracut_install /usr/share/zoneinfo/posix/Africa/Algiers +dracut_install /usr/share/zoneinfo/posix/Africa/Lusaka +dracut_install /usr/share/zoneinfo/posix/Africa/Khartoum +dracut_install /usr/share/zoneinfo/posix/Africa/Asmara +dracut_install /usr/share/zoneinfo/posix/Africa/Tunis +dracut_install /usr/share/zoneinfo/posix/Africa/Casablanca +dracut_install /usr/share/zoneinfo/posix/Africa/Sao_Tome +dracut_install /usr/share/zoneinfo/posix/Africa/Ceuta +dracut_install /usr/share/zoneinfo/posix/Africa/El_Aaiun +dracut_install /usr/share/zoneinfo/posix/Africa/Harare +dracut_install /usr/share/zoneinfo/posix/Africa/Freetown +dracut_install /usr/share/zoneinfo/posix/Africa/Windhoek +dracut_install /usr/share/zoneinfo/posix/Africa/Djibouti +dracut_install /usr/share/zoneinfo/posix/Africa/Malabo +dracut_install /usr/share/zoneinfo/posix/Africa/Cairo +dracut_install /usr/share/zoneinfo/posix/Africa/Brazzaville +dracut_install /usr/share/zoneinfo/posix/Etc/Zulu +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-0 +dracut_install /usr/share/zoneinfo/posix/Etc/Greenwich +dracut_install /usr/share/zoneinfo/posix/Etc/GMT+6 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT+9 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-9 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT+5 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT0 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-10 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT+0 +dracut_install /usr/share/zoneinfo/posix/Etc/Universal +dracut_install /usr/share/zoneinfo/posix/Etc/GMT+12 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-5 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT+2 +dracut_install /usr/share/zoneinfo/posix/Etc/UTC +dracut_install /usr/share/zoneinfo/posix/Etc/GMT+8 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-11 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-4 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-12 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT+11 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT+3 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT+4 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT+1 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-14 +dracut_install /usr/share/zoneinfo/posix/Etc/UCT +dracut_install /usr/share/zoneinfo/posix/Etc/GMT+7 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-6 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-2 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-3 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-8 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-7 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-13 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT-1 +dracut_install /usr/share/zoneinfo/posix/Etc/GMT+10 +dracut_install /usr/share/zoneinfo/posix/PST8PDT +dracut_install /usr/share/zoneinfo/posix/Jamaica +dracut_install /usr/share/zoneinfo/posix/NZ +dracut_install /usr/share/zoneinfo/posix/PRC +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" +inst "$moddir/99-imm.rules" "/etc/udev/rules.d/99-imm.rules" +inst "$moddir/98-mlx.rules" "/etc/udev/rules.d/98-mlx.rules" +inst "$moddir/setupimmnic" "/sbin/setupimmnic" +inst "$moddir/loadmlxeth" "/sbin/loadmlxeth" +if [ -n $version12 ];then +dracut_install rpcbind +else +dracut_install portmap +fi +dracut_install /sbin/rpc.statd /sbin/sm-notify /etc/netconfig /etc/host.conf /usr/sbin/rpc.idmapd +dracut_install ps free find #debug +inst_dir /var/lib/nfs +inst_dir /var/lib/nfs/statd/sm +inst_dir /var/lib/nfs/statd/sm.bak +inst_dir /var/lib/nfs/rpc_pipefs/nfs +inst "/bin/bash" "/bin/sh" +inst "/lib64/libnss_dns-2.12.so" +inst "/lib/terminfo/l/linux" "/lib/terminfo/l/linux" +inst "/lib/terminfo/v/vt100" "/lib/terminfo/v/vt100" +inst_hook cmdline 10 "$moddir/xcat-cmdline.sh" +dracut_install /usr/lib/rsyslog/lmtcpclt.so +#dracut_install /usr/lib/rsyslog/omtesting.so +dracut_install /usr/lib/rsyslog/lmnetstrms.so +dracut_install /usr/lib/rsyslog/imfile.so +dracut_install /usr/lib/rsyslog/imklog.so +#dracut_install /usr/lib/rsyslog/lmzlibw.so +dracut_install /usr/lib/rsyslog/immark.so +dracut_install /usr/lib/rsyslog/imudp.so +dracut_install /usr/lib/rsyslog/lmregexp.so +dracut_install /usr/lib/rsyslog/lmtcpsrv.so +dracut_install /usr/lib/rsyslog/lmnsd_ptcp.so +dracut_install /usr/lib/rsyslog/imtcp.so +dracut_install /usr/lib/rsyslog/lmnet.so +#dracut_install /usr/lib/rsyslog/lmstrmsrv.so +dracut_install /usr/lib/rsyslog/imuxsock.so +if [ -n $version12 ];then +dracut_install /lib/libnfsidmap/nsswitch.so +else +dracut_install /usr/lib64/libnfsidmap/nsswitch.so +fi diff --git a/xCAT-genesis-builder/installkernel b/xCAT-genesis-builder/installkernel new file mode 100755 index 000000000..53de02069 --- /dev/null +++ b/xCAT-genesis-builder/installkernel @@ -0,0 +1,6 @@ +#!/bin/bash +instmods nfs sunrpc +instmods e1000 e1000e virtio_net igb ines sfc mlx4_en cxgb3 cxgb4 tg3 bnx2 bnx2x bna ixgb qlge mptsas mpt2sas ata_piix megaraid_sas virtio_blk ahci ibmaem xhci-hcd sd_mod pmcraid be2net ext3 ext4 btrfs reiserfs usb_storage scsi_wait_scan kvm kvm-intel kvm-amd ipmi_si ipmi_devintf +instmods macvlan macvtap 8021q bridge bonding vmxnet3 acpi-cpufreq powernow-k8 cdc_ether +instmods mptctl #LSI firmware management requires this +instmods mlx4_ib ib_umad #make the mellanox ib available enough to examine /sys diff --git a/xCAT-genesis-builder/loadmlxeth b/xCAT-genesis-builder/loadmlxeth new file mode 100755 index 000000000..3cb42b14d --- /dev/null +++ b/xCAT-genesis-builder/loadmlxeth @@ -0,0 +1,2 @@ +#!/bin/sh +/sbin/modprobe mlx4_en diff --git a/xCAT-genesis-builder/minixcatd.awk b/xCAT-genesis-builder/minixcatd.awk new file mode 100755 index 000000000..5f71623a2 --- /dev/null +++ b/xCAT-genesis-builder/minixcatd.awk @@ -0,0 +1,18 @@ +#!/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 new file mode 100755 index 000000000..193c811ef --- /dev/null +++ b/xCAT-genesis-builder/nextdestiny @@ -0,0 +1,29 @@ +#!/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 new file mode 100755 index 000000000..1b3c2d1f4 --- /dev/null +++ b/xCAT-genesis-builder/remoteimmsetup @@ -0,0 +1,43 @@ +#!/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/restart b/xCAT-genesis-builder/restart new file mode 100755 index 000000000..19a624f6e --- /dev/null +++ b/xCAT-genesis-builder/restart @@ -0,0 +1,64 @@ +# IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html +#Redhcp, do the xcat part again +FORCENICS=`cat /restart|awk '{print $2}'` +rm /restart +if [ ! -z "$FORCENICS" ]; then + echo "Forcing down nics aside from $FORCENICS due to discoverynics setting" + for pidfile in /var/run/dhclient.*.pid; do + NIC=`echo $pidfile|awk -F. '{print $2}'` + if [ ! -z "$NIC" ] && echo $NIC | egrep -v "$FORCENICS"; then + dhclient -r -1 -cf /etc/dhclient.conf -pf $pidfile $NIC + rm $pidfile + ip link set $NIC down + fi + done + for pidfile in /var/run/dhclient6.*.pid; do + NIC=`echo $pidfile|awk -F. '{print $2}'` + if [ ! -z "$NIC" ] && echo $NIC | egrep -v "$FORCENICS"; then + dhclient -6 -r -1 -pf $pidfile -lf /var/lib/dhclient/dhclient6.leases $NIC + rm $pidfile + ip link set $NIC down + fi + done +fi +WAITING=1 +while [ $WAITING -gt 0 ]; do + for pidfile in /var/run/dhclient.*.pid; do + NIC=`echo $pidfile|awk -F. '{print $2}'` + dhclient -r -1 -cf /etc/dhclient.conf -pf $pidfile $NIC + ip -4 addr flush dev $NIC + dhclient -cf /etc/dhclient.conf -nw -pf $pidfile $NIC + done + for pidfile in /var/run/dhclient6.*.pid; do + NIC=`echo $pidfile|awk -F. '{print $2}'` + dhclient -6 -r -1 -pf $pidfile -lf /var/lib/dhclient/dhclient6.leases $NIC + ip -6 addr flush dev $NIC scope global + ip -6 addr flush dev $NIC scope site + dhclient -6 -pf $pidfile -nw -lf /var/lib/dhclient/dhclient6.leases $NIC + done + + echo -en "Waiting 10 seconds for DHCP changes to take effect \r" + for i in 9 8 7 6 5 4 3 2 1; do + sleep 1 + echo -en "Waiting $i seconds for DHCP changes to take effect \r" + done + WAITING=0 + if [ ! -z "$FORCENICS" ]; then + for nic in `ifconfig|grep HWaddr|awk '{print $1}'|egrep "$FORCENICS"`; do + if ! ifconfig $nic|grep "inet addr" > /dev/null; then + WAITING=1 + fi + done + if [ $WAITING -gt 0 ]; then + delay=30 + while [ $delay -gt 0 ]; do + echo -en "Not all of the nics $FORCENICS managed to acquire an address, retrying in $delay seconds... \r" + done + echo " \r" + fi + fi +done + +echo "Done waiting "; +#/etc/init.d/S11stunnel #redo stunnel config +#exec /etc/init.d/S99xcat.sh diff --git a/xCAT-genesis-builder/rsyslog.conf b/xCAT-genesis-builder/rsyslog.conf new file mode 100644 index 000000000..bf62f99e0 --- /dev/null +++ b/xCAT-genesis-builder/rsyslog.conf @@ -0,0 +1,5 @@ +$ModLoad imuxsock +$ModLoad immark +$MarkMessagePeriod 1200 +*.emerg * +*.* ~ diff --git a/xCAT-genesis-builder/setupimmnic b/xCAT-genesis-builder/setupimmnic new file mode 100755 index 000000000..a8783e98c --- /dev/null +++ b/xCAT-genesis-builder/setupimmnic @@ -0,0 +1,3 @@ +#!/bin/sh +/sbin/ip link set usb0 up +/sbin/ip addr add dev usb0 169.254.95.120/16 diff --git a/xCAT-genesis-builder/udpcat.awk b/xCAT-genesis-builder/udpcat.awk new file mode 100755 index 000000000..6a3c2c166 --- /dev/null +++ b/xCAT-genesis-builder/udpcat.awk @@ -0,0 +1,12 @@ +#!/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-builder.spec b/xCAT-genesis-builder/xCAT-genesis-builder.spec new file mode 100644 index 000000000..87d2ea198 --- /dev/null +++ b/xCAT-genesis-builder/xCAT-genesis-builder.spec @@ -0,0 +1,44 @@ +%define version %(cat Version) +BuildArch: noarch +%define name xCAT-genesis-builder +Release: snap%(date +"%Y%m%d%H%M") +Epoch: 1 +AutoReq: false +Requires: efibootmgr ipmitool screen btrfs-progs lldpad rpm-build compat-libstdc++-33 +Prefix: /opt/xcat +AutoProv: false + + + +Name: %{name} +Version: %{version} +Group: System/Utilities +License: EPL +Vendor: IBM Corp. +Summary: Tooling to create xCAT's discovery/maintenance/debugging environment +URL: http://xcat.org +Source1: xCAT-genesis-builder.tar.bz2 + +Buildroot: %{_localstatedir}/tmp/xCAT-genesis-builder +Packager: IBM Corp. + +%Description +Genesis (Genesis Enhanced Netboot Environment for System Information and Servicing) is xCAT's netboot environment designed to perform hardware and firmware inventory, perform firmware updates/configuration, and perform troubleshooting. +%Prep + + +%Build + +%Install +rm -rf $RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT/%{prefix}/share/xcat/netboot/genesis/builder +cd $RPM_BUILD_ROOT/%{prefix}/share/xcat/netboot/genesis/builder +tar jxvf %{SOURCE1} +chmod +x $RPM_BUILD_ROOT/%{prefix}/share/xcat/netboot/genesis/builder/buildrpm +cd - + + +%Files +%defattr(-,root,root) +%doc LICENSE.html +/ diff --git a/xCAT-genesis-builder/xCAT-genesis.spec b/xCAT-genesis-builder/xCAT-genesis.spec new file mode 100644 index 000000000..376e506b8 --- /dev/null +++ b/xCAT-genesis-builder/xCAT-genesis.spec @@ -0,0 +1,61 @@ +%define version 2.7.3 +%ifarch i386 i586 i686 x86 +%define tarch x86 +%endif +%ifarch x86_64 +%define tarch x86_64 +%endif +%ifarch ppc ppc64 +%define tarch ppc64 +%endif +BuildArch: noarch +%define name xCAT-genesis-%{tarch} +%define __spec_install_post : +%define debug_package %{nil} +%define __prelink_undo_cmd %{nil} +Release: snap%(date +"%Y%m%d%H%M") +Epoch: 1 +AutoReq: false +Prefix: /opt/xcat +AutoProv: false + + + +Name: %{name} +Version: %{version} +Group: System/Utilities +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 + +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. +%Prep + + +%Build + +%Install +rm -rf $RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT +cd $RPM_BUILD_ROOT +tar jxf %{SOURCE1} +cd - + + +%post +if [ "$1" == "2" ]; then #only on upgrade, as on install it's probably not going to work... + if [ -f "/proc/cmdline" ]; then # prevent running it during install into chroot image + . /etc/profile.d/xcat.sh + mknb %{tarch} + fi +fi + +%Files +%defattr(-,root,root) +/ diff --git a/xCAT-genesis-builder/xcat-cmdline.sh b/xCAT-genesis-builder/xcat-cmdline.sh new file mode 100644 index 000000000..00914979e --- /dev/null +++ b/xCAT-genesis-builder/xcat-cmdline.sh @@ -0,0 +1,27 @@ +root=1 +rootok=1 +netroot=xcat +clear +echo PS1="'"'[xCAT Genesis running on \H \w]\$ '"'" > /.bashrc +echo PS1="'"'[xCAT Genesis running on \H \w]\$ '"'" > /.bash_profile +mkdir -p /etc/ssh +mkdir -p /var/empty/sshd +echo root:x:0:0::/:/bin/bash >> /etc/passwd +echo sshd:x:30:30:SSH User:/var/empty/sshd:/sbin/nologin >> /etc/passwd +echo rpc:x:32:32:Rpcbind Daemon:/var/cache/rpcbind:/sbin/nologin >> /etc/passwd +echo rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin >> /etc/passwd +echo qemu:x:107:107:qemu user:/:/sbin/nologin >> /etc/passwd +echo '[ -e $NEWROOT/proc ]' > /initqueue-finished/xcatroot.sh +mkdir /dev/cgroup +mount -t cgroup -o cpu,memory,devices cgroup /dev/cgroup +udevd --daemon +udevadm trigger +mkdir -p /var/lib/dhclient/ +mkdir -p /var/log +ip link set lo up +echo '127.0.0.1 localhost' >> /etc/hosts +if grep console=ttyS /proc/cmdline > /dev/null; then + while :; do sleep 1; screen -x console < /dev/tty1 > /dev/tty1 2>&1; clear; done & +fi +while :; do screen -ln < /dev/tty2 > /dev/tty2 2>&1; done & +while :; do screen -ln doxcat; done diff --git a/xCAT-genesis-builder/xcatroot b/xCAT-genesis-builder/xcatroot new file mode 100755 index 000000000..fc506fb3b --- /dev/null +++ b/xCAT-genesis-builder/xcatroot @@ -0,0 +1,8 @@ +#!/bin/sh +echo "Starting xCAT mini-environment" +NEWROOT=$3 +XCATMASTER=$XCAT +while : +do + /bin/sh +done