mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
Unfortunately zdev hook already exists in Ubuntu, from an unrelated project. ZFS uses zdev/zpool names, and ships a zdev hook to do ZFS specific initialisation. It is available on s390x and thus results in file-conflict upon installing both. Thus renaming this zdev hook to s390-tools-zdev. Closes: https://github.com/ibm-s390-tools/s390-tools/pull/41 Signed-off-by: Dimitri John Ledkov <xnox@ubuntu.com> Acked-by: Peter Oberparleiter <oberpar@linux.ibm.com> Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
57 lines
1.5 KiB
Bash
57 lines
1.5 KiB
Bash
#!/bin/sh
|
|
#
|
|
# Copyright IBM Corp. 2016, 2017
|
|
#
|
|
# s390-tools is free software; you can redistribute it and/or modify
|
|
# it under the terms of the MIT license. See LICENSE for details.
|
|
#
|
|
# hooks/s390-tools-zdev
|
|
# This hook script adds files required to apply firmware-provided I/O
|
|
# configuration data during boot.
|
|
#
|
|
|
|
# Needs to run after udev or resulting udev rules could be overwritten
|
|
PREREQ="udev"
|
|
|
|
prereqs()
|
|
{
|
|
echo "$PREREQ"
|
|
}
|
|
|
|
case $1 in
|
|
prereqs)
|
|
prereqs
|
|
exit 0
|
|
;;
|
|
esac
|
|
|
|
. /usr/share/initramfs-tools/hook-functions
|
|
|
|
# Add modules for all device types supported by chzdev (required for
|
|
# auto-configuration)
|
|
zdev_modules="lcs qeth qeth_l2 qeth_l3 dasd_mod dasd_eckd_mod dasd_fba_mod dasd_diag_mod zfcp"
|
|
|
|
for x in $zdev_modules ; do
|
|
manual_add_modules ${x}
|
|
done
|
|
|
|
copy_exec /sbin/chzdev
|
|
copy_exec /sbin/lszdev
|
|
copy_exec /sbin/vmcp
|
|
|
|
_tempfile=$(mktemp --tmpdir initramfs-zdev.XXXXXX)
|
|
|
|
# Obtain early + root device configuration
|
|
chzdev --export "$_tempfile" --persistent --by-path / \
|
|
--by-attrib "zdev:early=1" --quiet --type 2>/dev/null
|
|
|
|
# Apply via --import to prevent other devices from being configured.
|
|
# Rename the resulting cio-ignore rule to ensure that it does not override
|
|
# the one copied by the initramfs udev hook to /lib/udev.
|
|
chzdev --import "$_tempfile" --persistent \
|
|
--base "/etc/udev/rules.d/41-cio-ignore.rules=$DESTDIR/etc/udev/rules.d/41-cio-ignore-root.rules" \
|
|
--base "/etc=$DESTDIR/etc" --yes --quiet --no-root-update --force \
|
|
>/dev/null
|
|
|
|
rm -f "$_tempfile"
|