diff --git a/xCAT-client/bin/genimage b/xCAT-client/bin/genimage index 313ecc391..7684b603a 100755 --- a/xCAT-client/bin/genimage +++ b/xCAT-client/bin/genimage @@ -161,6 +161,12 @@ if($osfamily =~ /rh/){ $osfamily = "rh"; } +# OS version on s390x can contain 'sp', e.g. sles11sp1 +# If the $osfamily contains 'sles' and 'sp', the $osfamily = sles +if ($osfamily =~ /sles/ && $osfamily =~ /sp/) { + $osfamily = "sles"; +} + #print "OSfamily: $osfamily\n"; $profDir = "$::XCATROOT/share/xcat/netboot/$osfamily"; unless(-d $profDir){ diff --git a/xCAT-server/share/xcat/netboot/imgutils/imgutils.pm b/xCAT-server/share/xcat/netboot/imgutils/imgutils.pm index fcaeec6b7..396f0ad16 100644 --- a/xCAT-server/share/xcat/netboot/imgutils/imgutils.pm +++ b/xCAT-server/share/xcat/netboot/imgutils/imgutils.pm @@ -16,7 +16,17 @@ sub get_profile_def_filename { my $base=shift; my $ext=shift; - my $dotpos = rindex($osver, "."); + + my $dotpos; + + # OS version on s390x can contain 'sp', e.g. sles11sp1 + # If OS version contains 'sp', get the index of 'sp' instead of '.' + if ($osver =~ /sles/ && $osver =~ /sp/) { + $dotpos = rindex($osver, "sp"); + } else { + $dotpos = rindex($osver, "."); + } + my $osbase = substr($osver, 0, $dotpos); if (-r "$base/$profile.$osver.$arch.$ext") { return "$base/$profile.$osver.$arch.$ext";