Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP2:Update
dracut.6321
0080-95dasd_rules-print-out-rd.dasd-commandline...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0080-95dasd_rules-print-out-rd.dasd-commandline.patch of Package dracut.6321
From 3e2e526a74cdad48d40a1ec58dac9f709d8fef0e Mon Sep 17 00:00:00 2001 From: Hannes Reinecke <hare@suse.de> Date: Thu, 26 Jun 2014 10:50:43 +0200 Subject: 95dasd_rules: print out 'rd.dasd' commandline When a DASD is found to be required for the rootfs we should be printing out a 'rd.dasd' commandline parameter. This not only enables us to correctly enable the device with cio_ignore, we can also inspect the resulting initrd to figure out which devices are required to mount the rootfs. Signed-off-by: Hannes Reinecke <hare@suse.de> --- modules.d/95dasd_rules/module-setup.sh | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/modules.d/95dasd_rules/module-setup.sh b/modules.d/95dasd_rules/module-setup.sh index 451fc25..e4736a2 100755 --- a/modules.d/95dasd_rules/module-setup.sh +++ b/modules.d/95dasd_rules/module-setup.sh @@ -3,10 +3,39 @@ # ex: ts=8 sw=4 sts=4 et filetype=sh # called by dracut +cmdline() { + is_dasd() { + local _dev=$1 + local _devpath=$(cd -P /sys/dev/block/$_dev ; echo $PWD) + + [ "${_devpath#*/dasd}" == "$_devpath" ] && return 1 + _ccw="${_devpath%%/block/*}" + echo "rd.dasd=${_ccw##*/}" + return 0 + } + [[ $hostonly ]] || [[ $mount_needs ]] && { + for_each_host_dev_and_slaves is_dasd || return 255 + } +} + +# called by dracut check() { local _arch=$(uname -m) + local found=0 + local bdev [ "$_arch" = "s390" -o "$_arch" = "s390x" ] || return 1 require_binaries /usr/lib/udev/collect || return 1 + + [[ $hostonly ]] || [[ $mount_needs ]] && { + for bdev in /sys/block/* ; do + case "${bdev##*/}" in + dasd*) + found=$(($found+1)); + break; + esac + done + [ $found -eq 0 ] && return 255 + } return 0 } @@ -19,6 +48,10 @@ depends() { # called by dracut install() { inst_hook cmdline 30 "$moddir/parse-dasd.sh" + if [[ $hostonly_cmdline == "yes" ]] ; then + local _dasd=$(cmdline) + [[ $_dasd ]] && printf "%s\n" "$_dasd" >> "${initdir}/etc/cmdline.d/95dasd.conf" + fi if [[ $hostonly ]] ; then inst_rules_wildcard 51-dasd-*.rules inst_rules_wildcard 41-s390x-dasd-*.rules -- 1.8.4.5
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor