Comment 0 for bug 1673992

Revision history for this message
Andrew McLeod (admcleod) wrote :

Unsure if this is an initfs-tools issue, or s390-tools, or other?

Linux s4lpb 4.4.0-67-generic #88-Ubuntu SMP Wed Mar 8 16:39:07 UTC 2017 s390x s390x s390x GNU/Linux

Distributor ID: Ubuntu
Description: Ubuntu 16.04.2 LTS
Release: 16.04
Codename: xenial

ii busybox-initramfs 1:1.22.0-15ubuntu1
ii initramfs-tools 0.122ubuntu8.8
ii initramfs-tools-bin 0.122ubuntu8.8
ii initramfs-tools-core 0.122ubuntu8.8
ii libklibc 2.0.4-8ubuntu1.16.04.3
ii s390-tools 1.34.0-0ubuntu8.3

Brief description:

I have an s390x LPAR with multiple DASD disks in the 'system' VG - kernel param specifies root=/dev/mapper/system-root. After preseeding, and rebooting once, the system drops to BusyBox initramfs prompt, after errors:

Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... lvm
etad is not active yet, using direct activation during sysinit
Couldn't find device with uuid VudDPr-jSTm-ekaq-bWf7-xnVX-uFAd-lHUlfU.
Couldn't find device with uuid ySbAlW-I9M5-UV60-oHF3-uwAu-iXkH-H7zwPB.
Refusing activation of partial LV system/root. Use '--activationmode partial'
to override.
lvmetad is not active yet, using direct activation during sysinit
Couldn't find device with uuid VudDPr-jSTm-ekaq-bWf7-xnVX-uFAd-lHUlfU.
Couldn't find device with uuid ySbAlW-I9M5-UV60-oHF3-uwAu-iXkH-H7zwPB.
done.
Begin: Running /scripts/local-premount ... done.
Begin: Waiting for root file system ...
Begin: Running /scripts/local-block ... lvmetad is not active yet, using direc
t activation during sysinit
Couldn't find device with uuid VudDPr-jSTm-ekaq-bWf7-xnVX-uFAd-lHUlfU.
Couldn't find device with uuid ySbAlW-I9M5-UV60-oHF3-uwAu-iXkH-H7zwPB.

Running vgchange -ay at this point just causes the same error - the DASD disks still have not been brought online.

init-premount/sysconfig_hardware script brings the first disk in the VG online - then /scripts/local-top/lvm2 tries to online the LV/VG. This fails and causes the above error, as the DASD's have not been brought online by init-premount. If the VG only contains one root disk then the DASDS are brought online later, but in this situation to boot the system I need all the PVs in the root LV to be brought online.

The preseed uses d-i partman to create LVM on the primary disk. Other DASDs are added manually by a script using dasdfmt, fdasd, chzdev.

Validated workaround:

Create a script, e.g.

  /usr/share/initramfs-tools/scripts/init-premout/online_all_dasds

containing:

  echo 1 > /sys/bus/ccw/devices/${DASD_ID}/online

and then:

  update-initramfs -u

All DASDS in the system VG are brought online by initramfs, allowing the lvm2 scripts in initramfs to work - I can then reboot the LPAR successfully.