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.
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 tools-core 0.122ubuntu8.8 16.04.3
ii initramfs-tools 0.122ubuntu8.8
ii initramfs-tools-bin 0.122ubuntu8.8
ii initramfs-
ii libklibc 2.0.4-8ubuntu1.
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. jSTm-ekaq- bWf7-xnVX- uFAd-lHUlfU. I9M5-UV60- oHF3-uwAu- iXkH-H7zwPB. jSTm-ekaq- bWf7-xnVX- uFAd-lHUlfU. I9M5-UV60- oHF3-uwAu- iXkH-H7zwPB. local-premount ... done. local-block ... lvmetad is not active yet, using direc jSTm-ekaq- bWf7-xnVX- uFAd-lHUlfU. I9M5-UV60- oHF3-uwAu- iXkH-H7zwPB.
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-
Couldn't find device with uuid ySbAlW-
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-
Couldn't find device with uuid ySbAlW-
done.
Begin: Running /scripts/
Begin: Waiting for root file system ...
Begin: Running /scripts/
t activation during sysinit
Couldn't find device with uuid VudDPr-
Couldn't find device with uuid ySbAlW-
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.