- fixed firmware.sh bug (#559975 #559597)

This commit is contained in:
Harald Hoyer 2010-01-29 15:45:39 +00:00
parent 1b7b015fc7
commit a4fab5421b
5 changed files with 124 additions and 1 deletions

View File

@ -0,0 +1,19 @@
commit 5db587d7c118afc47b50b4872100b508c84646fa
Author: Harald Hoyer <harald@redhat.com>
Date: Wed Jan 20 16:04:55 2010 +0100
init: fixed emergency_shell argument parsing
diff --git a/modules.d/99base/init b/modules.d/99base/init
index 8dc00a9..ab033a7 100755
--- a/modules.d/99base/init
+++ b/modules.d/99base/init
@@ -35,7 +35,7 @@ wait_for_loginit()
emergency_shell()
{
- if [ $1 = "-n" ]; then
+ if [ "$1" = "-n" ]; then
_rdshell_name=$2
shift 2
else

19
dracut-004-firmware.patch Normal file
View File

@ -0,0 +1,19 @@
diff -up dracut-004/modules.d/95udev-rules/install.fw dracut-004/modules.d/95udev-rules/install
--- dracut-004/modules.d/95udev-rules/install.fw 2010-01-29 16:40:11.000000000 +0100
+++ dracut-004/modules.d/95udev-rules/install 2010-01-29 16:40:25.000000000 +0100
@@ -15,7 +15,6 @@ inst_rules "$moddir/01-ignore.rules"
# for firmware loading
inst_rules 50-firmware.rules
-dracut_install /lib/udev/firmware.sh
dracut_install cat uname
if [ ! -x /lib/udev/vol_id ]; then
@@ -31,6 +30,7 @@ ata_id \
cdrom_id \
create_floppy_devices \
edd_id \
+firmware \
firmware.sh \
fw_unit_symlinks.sh \
hid2hci \

View File

@ -0,0 +1,12 @@
diff -up dracut-004/modules.d/99base/selinux-loadpolicy.sh.load dracut-004/modules.d/99base/selinux-loadpolicy.sh
--- dracut-004/modules.d/99base/selinux-loadpolicy.sh.load 2010-01-15 14:07:54.000000000 +0100
+++ dracut-004/modules.d/99base/selinux-loadpolicy.sh 2010-01-26 11:23:56.000000000 +0100
@@ -37,6 +37,8 @@ rd_load_policy()
} 2>&1 | vinfo
if [ $ret -eq 0 -o $ret -eq 2 ]; then
+ # If machine requires a relabel, force to permissive mode
+ [ -e "$NEWROOT"/.autorelabel ] && ( echo 0 > "$NEWROOT"/selinux/enforce )
return 0
fi

View File

@ -0,0 +1,48 @@
From: Peter Jones <pjones@redhat.com>
Subject: [PATCH] Add a check file for multipath.
Date: Fri, 22 Jan 2010 10:56:40 -0500
If multipath isn't installed, don't use it. If we're in hostonly mode,
only install the multipath module if it's used for / . Otherwise, if
the user was dumb enough to install it, they get it during bootup.
---
modules.d/90multipath/check | 27 +++++++++++++++++++++++++++
1 files changed, 27 insertions(+), 0 deletions(-)
create mode 100755 modules.d/90multipath/check
diff --git a/modules.d/90multipath/check b/modules.d/90multipath/check
new file mode 100755
index 0000000..d0cad4c
--- /dev/null
+++ b/modules.d/90multipath/check
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+# if there's no multipath binary, no go.
+which multipath >/dev/null 2>&1 || exit 1
+
+[[ $1 = -d ]] && exit 0
+
+. $dracutfunctions
+[[ $debug ]] && set -x
+
+is_mpath() {
+ [ -e /sys/dev/block/$1/dm/uuid ] || return 1
+ [[ $(cat /sys/dev/block/$1/dm/uuid) =~ ^mpath- ]] && return 0
+ return 1
+}
+
+# If we're in hostonly mode, do mpath if we appear to be using it for /
+if [[ $1 = -h ]]; then
+ rootdev=$(find_root_block_device)
+ if [[ $rootdev ]]; then
+ check_block_and_slaves is_mpath "$rootdev" && exit 0
+ fi
+ exit 1
+fi
+
+# the user installed it, they get it...
+exit 0
--
1.6.5.2

View File

@ -20,7 +20,7 @@
Name: dracut
Version: 004
Release: 1%{?rdist}
Release: 5%{?rdist}
Summary: Initramfs generator using udev
Group: System Environment/Base
License: GPLv2+
@ -28,6 +28,10 @@ URL: http://apps.sourceforge.net/trac/dracut/wiki
# Source can be generated by
# http://dracut.git.sourceforge.net/git/gitweb.cgi?p=dracut/dracut;a=snapshot;h=%{?dashgittag};sf=tgz
Source0: dracut-%{version}%{?dashgittag}.tar.bz2
Patch1: dracut-004-emergency.patch
Patch2: dracut-004-forcepermissive.patch
Patch3: dracut-004-multipath-check.patch
Patch4: dracut-004-firmware.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%if 0%{?fedora} > 12 || 0%{?rhel} >= 6
@ -131,6 +135,7 @@ kernel modules and firmware files needed by dracut modules.
%package tools
Summary: Dracut tools to build the local initramfs
Requires: %{name} = %{version}-%{release}
Requires: coreutils cryptsetup-luks device-mapper
Requires: diffutils dmraid findutils gawk grep lvm2
Requires: module-init-tools sed
@ -141,6 +146,12 @@ This package contains tools to assemble the local initrd and host configuration.
%prep
%setup -q -n %{name}-%{version}%{?dashgittag}
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
chmod 0755 modules.d/90multipath/check
chmod 0755 modules.d/60xen/check
%build
make WITH_SWITCH_ROOT=0%{?with_switch_root}
@ -244,6 +255,20 @@ rm -rf $RPM_BUILD_ROOT
%dir /var/lib/dracut/overlay
%changelog
* Fri Jan 29 2010 Harald Hoyer <harald@redhat.com> 004-5
- fixed firmware.sh bug (#559975 #559597)
* Tue Jan 26 2010 Harald Hoyer <harald@redhat.com> 004-4
- add multipath check
* Tue Jan 26 2010 Harald Hoyer <harald@redhat.com> 004-3
- fix selinux handling if .autorelabel is present
- Resolves: rhbz#557744
* Wed Jan 20 2010 Harald Hoyer <harald@redhat.com> 004-2
- fix emergency_shell argument parsing
- Related: rhbz#543948
* Fri Jan 15 2010 Harald Hoyer <harald@redhat.com> 004-1
- version 004
- Resolves: rhbz#529339 rhbz#533494 rhbz#548550