diff --git a/setup-disk.in b/setup-disk.in
old mode 100644
new mode 100755
index efb7f41..c84c2eb
--- a/setup-disk.in
+++ b/setup-disk.in
@@ -459,6 +459,7 @@ install_mounted_root() {
 	case "$BOOTLOADER" in
 		grub) setup_grub "$mnt" "$root" "$modules" "$kernel_opts" "$bootdev" $disks ;;
 		syslinux) setup_syslinux "$mnt" "$root" "$modules" "$kernel_opts" "$bootdev" ;;
+		zipl) break;;
 		*) die "Bootloader \"$BOOTLOADER\" not supported!" ;;
 	esac
 
@@ -585,6 +586,8 @@ select_bootloader() {
 	local bootloader=syslinux
 	if [ "$ARCH" = "ppc64le" ]; then
 		bootloader=grub-ieee1275
+	elif [ "$ARCH" = "s390x" ]; then
+		bootloader=s390-tools
 	elif [ -n "$USE_EFI" ]; then
 		bootloader=grub-efi
 	elif [ "$BOOTLOADER" = "grub" ]; then
@@ -1266,6 +1269,7 @@ if is_efi || [ -n "$USE_EFI" ]; then
 fi
 
 [ "$ARCH" = "ppc64le" ] && BOOTLOADER=grub
+[ "$ARCH" = "s390x" ] && BOOTLOADER=zipl
 
 dmesg -n1
 
