action #33682
Updated by nicksinger over 6 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 ```