Project

General

Profile

action #33682

Updated by nicksinger almost 4 years ago

#33223 showed us how to setup a SCSI-drive to kickstart a SLES installation from the initramfs by using kexec to chain-load several "bootloader" steps.
This knowledge now needs to be preserved for future in form of documentation. This includes ( **ACs** ):

* How to setup the "magic" bootstrap SCSI-disk
* Partitioning
* `zipl` installation
* How to use qnipl (partly done in https://github.com/nicksinger/dracut-qnipl/blob/master/README.md)
* Limitations/Pitfalls/Improvements
* Reproduce the setup

Notes:

* https://progress.opensuse.org/projects/openqav3/wiki#s390x-Test-Organisation would be maybe a good place to put all the info
* Move dracut-qnipl into a non-private repo (maybe openQA org?)
* bootstrap SCSI-disk is a shared medium between several LPARs and Infra/gschlotter is needed to link LPAR <-> SCSI-bootstrap-disk
* Example cmd to start an LPAR remote (e.g. from a x86_64 host): `snipl -f ./snipl.conf -s P0069A27-LP3 -A fa00 --wwpn_scsiload 500507630713d3b3 --lun_scsiload 4001401100000000 --ossparms_scsiload "install=http://openqa.suse.de/assets/repo/SLE-15-Installer-DVD-s390x-Build533.2-Media1 hostip=10.161.159.3/20 gateway=10.161.159.254 Nameserver=10.160.0.1 Domain=suse.de ssh=1 regurl=http://all-533.2.proxy.scc.suse.de"`

Notes about the "magic" bootstrap disk:

```
linux-kboz:~ # lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 10G 0 disk
sda1 8:1 0 10G 0 part
36005076307ffd3b30000000000000111 254:0 0 10G 0 mpath
36005076307ffd3b30000000000000111-part1 254:1 0 10G 0 part
sdb 8:16 0 10G 0 disk
sdb1 8:17 0 10G 0 part
36005076307ffd3b30000000000000111 254:0 0 10G 0 mpath
36005076307ffd3b30000000000000111-part1 254:1 0 10G 0 part


```

```
linux-kboz:/boot/zipl # sfdisk -d /dev/sda
label: dos
label-id: 0x1323e80f
device: /dev/sda
unit: sectors

/dev/sda1 : start= 2048, size= 20969472, type=83
```

```
linux-kboz:/tmp/test # mount /dev/mapper/36005076307ffd3b30000000000000111-part1 /tmp/test
linux-kboz:/tmp/test # find .
.
./zipl
./zipl/bootmap
./image_installer
./lost+found
./initrd_installer
./zipl.conf
./initrd_zipl
./image_4.12.14-16.2
./image_zipl
./custom_initramfs
./image_4.12.14-11.2
```

```
linux-kboz:/tmp/test # find .
.
./zipl
./zipl/bootmap
./image_installer
./lost+found
./initrd_installer
./zipl.conf
./initrd_zipl
./image_4.12.14-16.2
./image_zipl
./custom_initramfs
./image_4.12.14-11.2
linux-kboz:/tmp/test # file *
custom_initramfs: XZ compressed data <- generated by dracut with qnipl-module enabled
image_4.12.14-11.2: Linux S390
image_4.12.14-16.2: Linux S390
image_installer: Linux S390
image_zipl: Linux S390
initrd_installer: XZ compressed data
initrd_zipl: XZ compressed data
lost+found: directory
zipl: directory
zipl.conf: ASCII text <- IIRC needed for `zipl` to generate/write the z-bootloader
```

```
linux-kboz:/tmp/test # cat zipl.conf
## This file was written by 'grub2-install/grub2-zipl-setup'
## filling '/etc/default/zipl2grub.conf.in' as template
## with values from '/etc/default/grub'.
## In-place modifications will eventually go missing!

[defaultboot]
defaultmenu = menu

[custom]
target = /mnt/network_boot/zipl
ramdisk = /mnt/network_boot/custom_initramfs
image = /mnt/network_boot/image_4.12.14-16.2
parameters = "rd.break=initqueue TERM=dumb plymouth.enable=0 "

:menu
target = /mnt/network_boot/zipl
timeout = 0
default = 1
prompt = 1
1 = custom
```

Back