From 9b79129a38c6fe6de9044e3ce91ae8f144bd424e Mon Sep 17 00:00:00 2001 From: Mark Gurevich Date: Wed, 16 Mar 2022 15:15:54 -0400 Subject: [PATCH] Improve SLES15 diskless boot --- xCAT-server/share/xcat/netboot/sles/dracut_033/xcatroot | 8 +++++++- xCAT-server/share/xcat/netboot/sles/genimage | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/xCAT-server/share/xcat/netboot/sles/dracut_033/xcatroot b/xCAT-server/share/xcat/netboot/sles/dracut_033/xcatroot index c05a3e793..4a9aac8fb 100755 --- a/xCAT-server/share/xcat/netboot/sles/dracut_033/xcatroot +++ b/xCAT-server/share/xcat/netboot/sles/dracut_033/xcatroot @@ -19,6 +19,11 @@ if [ $? -ne 0 ]; then XCATIPORT="3002" fi +# On systems with no /bin/bash, create a link to /usr/bin/bash +if [ ! -e /bin/bash ] && [ -e /usr/bin/bash ]; then + ln -s /usr/bin/bash /bin/bash +fi + xcatdebugmode="$(getarg xcatdebugmode=)" [ "$xcatdebugmode" = "1" -o "$xcatdebugmode" = "2" ] && SYSLOGHOST="" || SYSLOGHOST="-n $MASTER" logger $SYSLOGHOST -t $log_label -p local4.info "=============deployment starting====================" @@ -304,7 +309,8 @@ function getdevfrommac() { if [ -z $STATEMNT ]; then - bootif=$(ls /tmp/net.*.conf|sed -e s/.*net\.// -e s/\.conf//) + # get boot interface name and generate network/ifcfg- file + bootif=$(ls /tmp/net.*.up|grep -v ":"|sed -e s/.*net\.// -e s/\.up//) cat < $NEWROOT/etc/sysconfig/network/ifcfg-$bootif BOOTPROTO='dhcp' STARTMODE='auto' diff --git a/xCAT-server/share/xcat/netboot/sles/genimage b/xCAT-server/share/xcat/netboot/sles/genimage index 54c7b1808..22cf71e69 100755 --- a/xCAT-server/share/xcat/netboot/sles/genimage +++ b/xCAT-server/share/xcat/netboot/sles/genimage @@ -2080,9 +2080,9 @@ sub generic_post { # This function is meant to leave the image in a state approx print $cfgfile "# Short-Description: gettyset\n"; print $cfgfile "# Description:\n"; print $cfgfile "### END INIT INFO\n"; - print $cfgfile "VERS=`grep VERSION /etc/SuSE-release`\n"; + print $cfgfile "VERS=`grep VERSION= /etc/os-release`\n"; print $cfgfile "if [ -n \"\$VERS\" ]; then\n"; - print $cfgfile " VERNUM=`echo \$VERS|awk -F= \'{print \$2}\'|sed -e \'s/ //g\'`\n"; + print $cfgfile " VERNUM=`echo \$VERS|awk -F= \'{print \$2}\'|awk -F- \'{print \$1}\'|sed -e \'s/ //g\'|sed -e \'s/\"//g\'`\n"; print $cfgfile "fi\n"; print $cfgfile "if [ \"\$VERNUM\" -gt 10 ]; then\n"; print $cfgfile " exit\n";