zdev/dracut: retain early persistent config over switch root

Useful for debugging (what happened during early boot).

Also useful for distro installers, which can import the early config into
their own environment early after starting:
chzdev --import /run/zdev.initrd.config --persistent --yes \
       --no-root-update --force --verbose

After that, distro installers can modify/add the device config based
on interactive or unattended installation choices using
chzdev --enable --active --persistent ...

Finally, distro installers can likewise transfer the entire device config
to the installed system mounted under $SYSROOT:
chzdev --export /tmp/zdev.config --all --type --persistent --verbose

Github-ID: https://github.com/ibm-s390-linux/s390-tools/pull/158
Acked-by: Vineeth Vijayan <vneethv@linux.ibm.com>
Acked-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Signed-off-by: Steffen Maier <maier@linux.ibm.com>
Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
This commit is contained in:
Steffen Maier
2023-05-05 19:26:49 +02:00
committed by Jan Höppner
parent b4b5e0b6aa
commit bc4f455151
3 changed files with 29 additions and 0 deletions

View File

@@ -82,6 +82,8 @@ install() {
inst_hook cmdline 94 "$moddir/parse-dasd.sh"
inst_multiple /lib/s390-tools/zdev-from-dasd_mod.dasd
inst_hook pre-pivot 95 "$moddir/retain-zdev.sh"
# Rule to automatically enable devices when running in DPM
inst_rules "81-dpm.rules"

View File

@@ -0,0 +1,26 @@
#!/bin/sh
#
# Copyright IBM Corp. 2023
#
# s390-tools is free software; you can redistribute it and/or modify
# it under the terms of the MIT license. See LICENSE for details.
#
# 95zdev/retain-zdev.sh
# Copy zdev persistent config from initrd to root-fs.
#
chzdev --export /run/zdev.initrd.config --all --type --persistent --quiet
# Apart from debugging purposes, this is useful for distro installers,
# which can import the early config into their own environment early
# after starting:
# chzdev --import /run/zdev.initrd.config --persistent --yes --no-root-update --force --verbose
#
# After that, distro installers can modify/add the device config based
# on interactive or unattended installation choices using
# chzdev --enable --active --persistent ...
#
# Finally, distro installers can likewise transfer the entire device config
# to the installed system mounted under $SYSROOT:
# chzdev --export /tmp/zdev.config --all --type --persistent --verbose
# chzdev --import /tmp/zdev.config --persistent --yes --no-root-update --force --verbose --base "$SYSROOT"

View File

@@ -23,6 +23,7 @@ install:
$(ZDEVDIR)/zdev-lib.sh \
$(ZDEVDIR)/parse-zfcp.sh \
$(ZDEVDIR)/parse-dasd.sh \
$(ZDEVDIR)/retain-zdev.sh \
$(DESTDIR)$(DRACUTMODDIR)/$(ZDEVDIR)/
$(INSTALL) -m 755 -d $(DESTDIR)$(DRACUTMODDIR)/$(ZDEVKDUMPDIR)
$(INSTALL) -m 755 $(ZDEVKDUMPDIR)/module-setup.sh \