OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/dracut?expand=0&rev=139
85 lines
2.7 KiB
Diff
85 lines
2.7 KiB
Diff
From 1202041ec3f7b2d8dd58999e72a309c9fba9069f Mon Sep 17 00:00:00 2001
|
|
From: Thomas Renninger <trenn@suse.de>
|
|
Date: Wed, 4 Jun 2014 12:56:50 +0200
|
|
Subject: 99suse: Add SUSE-specific initrd parsing
|
|
|
|
Add a module to implement mkinitrd-compatible kernel parameter parsing
|
|
|
|
Signed-off-by: Thomas Renninger <trenn@suse.de>
|
|
---
|
|
modules.d/99suse/module-setup.sh | 8 ++++++
|
|
modules.d/99suse/parse-suse-initrd.sh | 51 +++++++++++++++++++++++++++++++++++
|
|
2 files changed, 59 insertions(+)
|
|
create mode 100755 modules.d/99suse/module-setup.sh
|
|
create mode 100755 modules.d/99suse/parse-suse-initrd.sh
|
|
|
|
Index: dracut-042/modules.d/99suse/module-setup.sh
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ dracut-042/modules.d/99suse/module-setup.sh 2015-06-24 18:02:09.081356075 +0200
|
|
@@ -0,0 +1,8 @@
|
|
+#!/bin/bash
|
|
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
|
|
+# ex: ts=8 sw=4 sts=4 et filetype=sh
|
|
+# module-setup.sh for openSUSE / SLE initrd parameters conversion
|
|
+
|
|
+install() {
|
|
+ inst_hook cmdline 99 "$moddir/parse-suse-initrd.sh"
|
|
+}
|
|
Index: dracut-042/modules.d/99suse/parse-suse-initrd.sh
|
|
===================================================================
|
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
+++ dracut-042/modules.d/99suse/parse-suse-initrd.sh 2015-06-24 18:02:09.081356075 +0200
|
|
@@ -0,0 +1,51 @@
|
|
+#!/bin/sh
|
|
+# convert openSUSE / SLE initrd command lines into dracut ones
|
|
+# linuxrc=trace shell=1 sysrq=yes sysrq=1-9 journaldev mduuid
|
|
+# TargetAddress TargetPort TargetName
|
|
+
|
|
+# sysrq
|
|
+sysrq=$(getarg sysrq)
|
|
+if [ "$sysrq" ] && [ "$sysrq" != "no" ]; then
|
|
+ echo 1 > /proc/sys/kernel/sysrq
|
|
+ case "$sysrq" in
|
|
+ 0|1|2|3|4|5|6|7|8|9)
|
|
+ echo $sysrq > /proc/sysrq-trigger
|
|
+ ;;
|
|
+ esac
|
|
+fi
|
|
+
|
|
+# debug
|
|
+if getarg linuxrc=trace; then
|
|
+ echo "rd.debug rd.udev.debug" >> /etc/cmdline.d/99-suse.conf
|
|
+ unset CMDLINE
|
|
+fi
|
|
+
|
|
+# debug shell
|
|
+if getargbool 0 shell; then
|
|
+ echo "rd.break" >> /etc/cmdline.d/99-suse.conf
|
|
+ unset CMDLINE
|
|
+fi
|
|
+
|
|
+# journaldev
|
|
+journaldev=$(getarg journaldev)
|
|
+if [ -n "$journaldev" ]; then
|
|
+ echo "root.journaldev=$journaldev" >> /etc/cmdline.d/99-suse.conf
|
|
+ unset CMDLINE
|
|
+fi
|
|
+
|
|
+# mduuid
|
|
+mduuid=$(getarg mduuid)
|
|
+if [ -n "$mduuid" ]; then
|
|
+ echo "rd.md.uuid=$mduuid" >> /etc/cmdline.d/99-suse.conf
|
|
+ unset CMDLINE
|
|
+fi
|
|
+
|
|
+# TargetAddress / TargetPort / TargetName
|
|
+TargetAddress=$(getarg TargetAddress)
|
|
+TargetPort=$(getarg TargetPort)
|
|
+TargetName=$(getarg TargetName)
|
|
+
|
|
+if [ -n "$TargetAddress" -a -n "$TargetName" ]; then
|
|
+ echo "netroot=iscsi:$TargetAddress::$TargetPort::$TargetName" >> /etc/cmdline.d/99-suse.conf
|
|
+ unset CMDLINE
|
|
+fi
|